Quantcast
Channel: Category Name
Viewing all 10804 articles
Browse latest View live

Preview: SQL Database Transparent Data Encryption with Azure Key Vault configuration checklist

$
0
0

Azure SQL Database and Data Warehouse offer encryption-at-rest by providing Transparent Data Encryption (TDE) for all data written to disk, including databases, log files and backups. This protects data in case of unauthorized access to hardware. TDE provides a TDE Protector that is used to encrypt the Database Encryption Key (DEK), which in turn is used to encrypt the data. The TDE protector is by default managed by the service in a fully transparent fashion, rotated every 90 days and maintained in archive for access to backups. Optionally management of the TDE Protector can be assumed by the customer if more control is desired. This requires storing the TDE protector in a customer-owned Azure Key Vault. If this option is chosen, it is important to fully understand all TDE implications and carefully plan for ongoing key management.

Overview of TDE with customer managed keys and Azure Key Vault integration:

image

In this scenario, customers must maintain Azure Key Vault, control SQL Database permissions to Azure Key Vault and maintain access to all TDE Protectors to open or restore databases or backups and enable all other operations that require database access to the TDE Protector. The following checklist will help to systematically plan all key management related duties in Azure Key Vault. In addition, we list the most important setup considerations and configuration requirements that must be followed to configure TDE with customer managed keys in Azure Key Vault.

General guidelines:

  • Ensure Azure Key Vault and Azure SQL Database are going to be in the same tenant. Cross-tenant key vault and server interactions are not supported.
  • Decide which subscriptions will be used for the required resources. Moving the server across subscriptions later requires a new setup of TDE with BYOKs.
  • When configuring TDE with BYOK, it is important to consider the load placed on the key vault by repeated wrap/unwrap operations. For example, since all databases associated with a logical server use the same TDE protector, a failover of that server will trigger as many key operations against the vault as there are databases in the server. Based on our experience and documented key vault service limits, we recommend associating at most 500 Standard or 200 Premium databases with one Azure Key Vault in a single subscription to ensure consistently high availability when accessing the TDE protector in the vault.
  • Recommended: Keep a copy of the TDE protector on premises. This requires a HSM device to create a TDE Protector locally and a key escrow system to store a local copy of the TDE Protector.

Guidelines for configuring Azure Key Vault:

  • Use a key vault with soft-delete enabled (required) to protect from data loss in case of accidental key or key vault deletion scenarios:
    • Soft deleted resources are retained for 90 days unless they are recovered or purged.
    • The recover and purge actions have their own permissions associated in a key vault access policy.
  • Grant the SQL server access to the key vault using its Azure Active Directory (Azure AD) Identity. When using the Portal UI, the Azure AD identity will be automatically created and the key vault access permissions will be granted to the server. Using PowerShell, these steps must be completed individually in the correct order and need to be verified. See Configure TDE with BYOK for detailed step-by-step instructions when using PowerShell. Note: The server will lose access to the key vault if the Azure AD Identity is accidentally deleted or the server’s permissions are revoked using the key vault’s access policy.
  • Enable auditing and reporting in Azure Key Vault on all encryption keys: Key Vault provides logs that are easy to inject into other security information and event management (SIEM) tools. Operations Management Suite (OMS) Log Analytics is one example of a service that is already integrated.
  • To ensure high-availability of encrypted databases, configure one logical server with two Azure Key Vaults in different regions.
  • For High Availability of a single SQL database, consider configuring two key vaults:

image

  • Use the Backup-AzureKeyVaultKey cmdlet to retrieve the key in encrypted format and then use the Restore-AzureKeyVaultKey cmdlet and specify a key vault in the second region.
  • For Geo-replicated databases, the following AKV configuration is required:

 geo_DR_new_config

    • One primary database with a key vault in region and one secondary database with a key vault in region.
    • One secondary is required, up to four secondaries are supported.
    • Secondaries of secondaries (chaining) is not supported.

  • Note: when assigning the server identity, assign the identity for the secondary first, and for the primary second.

Guidelines for configuring TDE Protectors (asymmetric key) stored in Azure Key Vault:

  • Create your encryption key locally on a local HSM device. Ensure this is an asymmetric, RSA 2048 key so it is storable in Azure Key Vault. Larger key sizes are currently not supported by Azure SQL Database.
  • Escrow the key in a key escrow system.
  • Import the encryption key file (.pfx, .byok, or .backup) to Azure Key Vault.
    • (Note: For testing purposes, it is possible to create a key with Azure Key Vault, however this key cannot be escrowed, because the private key can never leave the key vault. A key used to encrypt production data should always be escrowed, as the loss of the key (accidental deletion in key vault, expiration etc.) will result in permanent data loss.)
  • Use a key without an expiration date and never set an expiration date on a key already in use: once the key expires, the encrypted databases lose access to their TDE Protector and are dropped within 24 hours.
  • Ensure the key is enabled and has permissions to perform get, wrap key, and unwrap key operations.
  • Create an Azure Key Vault key backup before using the key in Azure Key Vault for the first time. Learn more about the Backup-AzureKeyVaultKey command.
  • Create a new backup whenever any changes are made to the key (for example, add ACLs, add tags, add key attributes).
  • Keep previous versions of the key in the key vault when rotating keys, so that databases can still access their virtual log files that continue to be encrypted with the original keys. In addition, when the TDE Protector is changed for a database, old backups of the database are not updated to use the latest TDE Protector. Key rotations can be performed following the instructions at Rotate the Transparent Data Encryption Protector Using PowerShell.
  • Keep all previously used keys in Azure Key Vault after changing back to service-managed keys. This will ensure database backups can be restored with the TDE protectors stored in Azure Key Vault. TDE protectors will have to be maintained in Azure Key Vault until all needed backups have been created while using service-managed keys.
  • Make recoverable backup copies of these keys using Backup-AzureKeyVaultKey.
  • To remove a potentially compromised key during a security incident without the risk of data loss, follow the steps at Remove a potentially compromised key.

Summary

The above checklist specifies requirements that need to be carefully considered and planned out before setting up Azure SQL Database TDE with customer managed keys in Azure Key Vault. In the updated version of our overview we share recommendations for Azure Key Vault setup and for managing TDE protectors stored in Azure Key Vault.


Soft delete for Azure Storage Blobs now in public preview

$
0
0

Today we are excited to announce the public preview of soft delete for Azure Storage Blobs! The feature is available in all regions, both public and private.

When turned on, soft delete enables you to save and recover your data where blobs or blob snapshots are deleted. This protection extends to blob data that is erased as the result of an overwrite.

How does it work?

When soft data is deleted, it transitions to a soft deleted state instead of being permanently erased. When soft delete is on and you overwrite data, a soft deleted snapshot is generated to save the state of the overwritten data. Soft deleted objects are invisible unless explicitly listed. You can configure the amount of time soft deleted data is recoverable before it is permanently expired.

storage-blob-soft-delete-overwrite-then-delete (2)

Soft deleted data is grey, while active data is blue. More recently written data appears beneath older data. When B0 is overwritten with B1, a soft deleted snapshot of B0 is generated.​ When the blob is deleted, the root (B1) also moves into a soft deleted state.

Soft delete is backwards compatible; you don’t have to make changes to your applications to take advantage of the protections this feature affords. During public preview, calling Set Blob Tier on a blob with snapshots is disallowed.
Soft delete generates snapshots to protect your data when it is overwritten. We are actively working on a solution to enable tiering of blobs with soft deleted snapshots.

When you create a new account, soft delete is off by default. Soft delete is also off by default for existing storage accounts. You can toggle the feature on and off at any time during the life of a storage account. Object-level soft delete is available for all storage account types and all storage tiers. It does not protect against container or account deletions. To learn how to protect a storage account from accidental deletes, please see the Azure Resource Manager article Lock Resources to Prevent Unexpected Changes.

Soft deleted data is billed at the same rate as active data. For more details on prices for Azure Blob Storage in general, check out the Azure Blob Storage Pricing Page.

Getting Started

Soft delete is supported by the most recent releases of the Azure Portal, .NET Client Library (version 9.0.0), Java Client Library (version 7.0.0), Python Client Library (version 1.1.0), Node.js Client Library (version 2.8.0), PowerShell (version 5.3.0) and CLI 2.0 (version 2.0.27). You can also directly use the Storage Services REST API as always. Soft delete is supported by REST API version 2017-07-29 and greater. In general, we always recommend using the latest version regardless of whether you are using this feature.

storage-blob-soft-delete-portal-configuration

To enable soft delete using the Azure Portal, navigate to the "Soft delete" option under "Blob Service". Then click "Enabled" and enter the number of days you want to retain soft deleted data.

For more details on the feature see the soft delete documentation.

If there is a chance that your data is accidentally modified or deleted by an application or other storage account user, we recommend turning on soft delete. Soft delete is one part of a data protection strategy and can help prevent inadvertent data loss.

Generate image captions with the Computer Vision API

$
0
0

The Azure Computer Vision API can extract all sorts of interesting information from images — tags describing objects found in the images, locations of detected faces, and more — but today I want to play around with just one: caption generation. I was inspired by @picdescbot on Twitter, which selects random images from Wikimedia Commons and generates a caption using the API. The results are sometimes impressive, sometimes funny, and sometimes bizarre. On the bizarre side, recurring motifs include "lush green field", and "a clock tower on a building", but the bot doesn't discriminate when the confidence score returned by the API is low, so I wanted to take a look at that as well.

I'll use R to interface with the API with the code provided below. You can use the code too, but you'll need an Azure login first. If you don't have one, you can sign for a free Azure account (or Azure for Students, which doesn't require a credit card), and get some free credits to boot. We won't be using any credits in this case, though, as the Computer Vision API has a free pricing tier: it's limited to 5,000 calls a month and 20 calls per minutes, but that's more than sufficient for our needs.

To generate a key for the Computer Vision API, visit the Azure Portal and click "Create a Resource". Select "AI + Cognitive Services" and then "Computer Vision API". Choose a name, your subscription (yours will be different), a data center (choose a region close to you), the pricing tier (F0 is the free tier), and create a new resource group to hold your keys:

Vison api

It'll take just a moment to set things up, but once that's done click select "Overview" to display the API endpoint, and "Keys" to display the API keys. (Two keys are generated, but you will only need to use Key 1.)

Now launch R, load a couple of packages we'll need, and save the endpoint and API key into R objects as shown below:

library(tools)
library(httr)
vision_api_endpoint <- "https://westus.api.cognitive.microsoft.com/vision/v1.0"
vision_api_key <- "7f1f01ac24064abd80970f41a90237e7"

(Your endpoint may differ depending on the region you chose, and your API key will definitely be different: that one's invalid.) With those two pieces of information, we're all set to go.

Step 1 is to generate the URL of an image from Wikimedia commons. This is possible to do using the Wikimedia API, and easy once you know how. (It took me quite a while and a lot of trial and error to figure out that API, though.) The simple R function below will query the Wikimedia Commons API and return the URL of a random image file. It also checks that the image meets the requirements of the Computer Vision API, and throws an error if not.

You can now call the function to generate the URL of a random image. (If it throws an error, just try again.) It also returns as attrributes the dimensions of the image and the description from the Wikimedia Commons page, which will be interesting to compare to the Computer Vision API generated caption.

> random_image()
[1] "https://upload.wikimedia.org/wikipedia/commons/b/b4/Villa_Malva.jpg"
attr(,"dims")
   w    h 
3072 2304 
attr(,"desc")
[1] "Villa Malva i Ramlösa brunnspark i Helsingborg."

Step 2 is to use the URL generated by that function as input to the Computer Vision API with the second R function below. It uses the global vision_api_endpoint and vision_api_key objects you defined earlier to call the Computer Vision API, requesting the Description (caption). It will also try and identify celebrities and famous landmarks, if it finds them in the image (for example, the generated caption for this image is "TOM CRUISE wearing a suit and tie").

That function prints the URL, caption generated by the Computer Vision API and its confidence score (a value of 0 and 1), along with the Wikimedia Commons description for comparison. Let's give it a go. In each case I simply ran the two lines below. 

> u <- random_image()
> image_caption(u)

Here are a few results:

image from upload.wikimedia.org
Wikimedia description: Gerfalke (Falco rusticolus) in Westgrönland
Computer Vision API caption (confidence: 92.9%): a bird that is standing in the grass

image from upload.wikimedia.org
Wikimedia description: Vista de la casa de la Hacienda Mozanga en 1995.
Computer Vision API caption (confidence: 90.2%): a house with trees in the background

image from upload.wikimedia.org
Wikimedia description: Dj Israeli, en un concierto.
Computer Vision API caption (confidence: 44.3%): a man riding on the back of a bicycle

That last example is a good lesson not to trust the captions when the confidence score is low! Let is know on any interesting, funny or strange captions you get in the comments below. 

How Catania secures public data with Azure SQL Data Warehouse

$
0
0

Digital transformation is a key theme for public sector today. Government organizations big and small, want to leverage cloud technologies to deliver improved citizen services while keeping costs under control. However, security and compliance especially when dealing with a large amount of citizen data is crucial.

The municipality of Catania in Italy, that serves over a million people, wanted to build a streamlined management and storage of public service operations data. They also wanted to safeguard against any potential damage to their physical datacenter and ensure service continuity.

Azure came to the rescue. Working with our partner Softjam, Commune di Catania built a hybrid solution that uses SQL Server and Azure Data Warehouse (Azure SQL DW) to build a flexible data warehouse for all their reporting needs, backed by automatic recovery and site-to-site recovery.

Security is embedded into Azure and we want our customers to own and control their data in the cloud. Microsoft has been leading the industry in establishing clear privacy requirements and then consistently meeting these requirements. Azure meets a broad set of international and industry-specific compliance standards, such as ISO 27001, HIPAA, FedRAMP, SOC 1 and SOC 2, as well as country-specific standards like Australia IRAP, UK G-Cloud, and Singapore MTCS. Rigorous third-party audits, such as by the British Standards Institute, verify Azure’s adherence to the strict security controls these standards mandate.

As the IT Manager for the municipality, Maurizio Consoli states, “We used Azure SQL Data Warehouse to create business continuity for our public records applications, with minimal maintenance, high reliability, and reduced total cost of ownership compared to an on-premises solution.”

Azure SQL DW’s advanced security features like VNET service endpoints, advanced threat detection, always-on encryption, audit, and managed access through Azure Active Directory gives our customers peace of mind. With a hybrid approach, customers get an extra layer of control over what they want to take the cloud and what they want to keep close to them.

Find out more about this solution. Click on the webpages to learn about latest security features of Microsoft SQL Server 2017 and Azure SQL Data Warehouse.

Find out why Gartner sees Microsoft as a leader for Database Management for Analytics Solutions and read the Forrester Consulting Total Economic Impact (TEI) study to discover how your enterprise can benefit from a cloud based modern data warehouse.

Using artificial intelligence to analyze roads

$
0
0

Imagine you’re driving down the road. As long as the road is straight, you can see everything in front of you. But what happens when the road curves? Your brain makes assumptions based on past experiences to fill in what can’t be seen. For autonomous vehicles, the challenge is to give them the ability to make the same assumptions.

Our customer Elektronische Fahrwerksysteme GmbH (EFS) is working on that problem for a major auto manufacturer. We recently published a case study that describes how EFS uses NVIDIA GPUs in Microsoft Azure to analyze 2D images.

EFS had never applied deep learning to this kind of image processing before. Using Azure allowed them to quickly create a proof of concept environment. This allowed them to verify their algorithms and show value without having to make large upfront investments in time and capital.

“The innovative ideas we’ve implemented so far give us trust in a new deep learning architecture and in solutions that will rely on it,” EFS software developer Max Jesch said. “We proved that it’s possible to use deep learning to analyze roads. That is a really big deal. As far as we know, EFS is the first company to do it on such a large scale.”

How large of a scale? EFS had several terabytes of data in Azure Blob storage. The NC-series virtual machines, powered by NVIDIA’s Tesla P100 GPU, made quick work of that data. And the elasticity of Azure gave EFS the flexibility they needed to get their work done effectively.

To learn more, read the full case study or if you’re at NVIDIA’s GPU Technology Conference this week, visit Microsoft at booth #603.

TFS 2018 Update 2 RC1

$
0
0
We have released Team Foundation Server 2018 Update 2 RC1. Update 2 is the first “feature” update for TFS 2018 based on our updated release approach. Here are some key links: TFS 2018.2 RC1 Release Notes TFS 2018.2 RC1 Web Installer TFS 2018.2 RC1 ISO TFS 2018.2 RC1 Express Web Installer TFS 2018.2 RC1 Express... Read More

Deadline extended for connecting VSTS accounts to AzureAD

$
0
0
On January 5, 2018, I announced that Visual Studio Team Services will no longer allow creation of new MSA users with custom domain names backed by AzureAD.  While most customers agree with the direction of this change, I got clear feedback that they could not connect their VSTS to AzureAD by the March 31 deadline. ... Read More

What’s new in VSTS Sprint 131 Update

$
0
0
The Sprint 131 Update of Visual Studio Team Services (VSTS) has rolled out to all accounts and includes several features that were prioritized and influenced by feedback over the last several months. The Work Items hub, which is now generally available, brings important work together into a new hub with several views for items you’re... Read More

How to get support for Azure IoT SDK

$
0
0

Azure IoT SDKs make it easy for developers to begin coding and deploy applications for Azure IoT Hub and Azure IoT Hub Device Provisioning Service. The SDKs are production quality open-sourced project with support from Microsoft. If you need support for any step of your development phase, have issues during evaluation or production deployments, we are here to help! There are multiple channels where issues and requests are surfaced. We recommend the following channels for faster turnaround:

  • Have a feature request for SDKs? We have a User Voice for feature requests. Create new requests, upvote existing ones and help us prioritize!
  • Have a technical question? Ask on Stack Overflow with tag “azure-iot-hub”. We monitor Stack Overflow for questions. Stack Overflow’s high standard for answers will ensure you will get a complete, detailed answer to help others in the community.
  • Need support? If you have an Azure subscription, you can file support requests and get assistance to help you debug. Support requests also make it possible for you to communicate confidential information that would be insecure in a public GitHub issue, such as your hub name or subscription ID. When you file a support request, please make sure you specify the SDK language, version, framework version (for Node, Java, C#, Python), OS version and device type.
  • Found a bug? File an issue on GitHub (C, Java, .NET, Node.js, Python). Please make sure you provide clear repro steps, so we can provide better support!

We are committed to helping our customers in their IoT development journey. Please use these channels to get support and develop a great IoT solution!

Create Service Fabric Clusters from Visual Studio now available

$
0
0

We heard feedback that the current processes for creating secure clusters were complex and time-consuming. Based on your input, we've added the ability to create secure clusters directly from Visual Studio. This update shipped with the latest release of the Service Fabric tooling for Visual Studio 2015 and with Visual Studio 2017 as part of the Azure workload.

One of the main features of the latest release is the experience in Visual Studio for creating a cluster from the "Publish" dialog. This feature will allow you to modify the settings for the cluster, create required supporting resources, and generate the security certificate needed to create a secure cluster all from within Visual Studio. It will also import the security certificate to your local development machine so you can publish and troubleshoot your application in the cluster. This allows you to go directly from developing your service fabric application to testing it in the cloud without having to switch context. When the cluster has been created, Visual Studio will indicate this in the Output window.

You can try out this feature yourself by following the steps in the tutorial "Deploy Your Application to a Cluster".

Below are screenshots of the new experience in Visual Studio. You can see most fields are filled in by default. However, you can still modify some of the most important settings for Service Fabric clusters, such as the number of nodes, the VM image, and the AI where you want to log telemetry (if you choose to do so).

Service Fabric create cluster publish dialog

Azure Service Fabric create cluster

Let us know what you think of this experience!

- Service Fabric Tools and SDK Team

Secure your backups, not just your data!

$
0
0

In today's digital world where data is the new currency, protecting this data has become more important than ever before. In 2017, attackers had a huge impact on businesses as we saw a large outbreak of ransomware attacks like WannaCry, Petya and Locky. According to a report from MalwareBytes, ransomware detections were up 90 and 93 percent for businesses and consumers respectively in 2017. When a machine gets attacked by ransomware, backups are usually the last line of defense that customers resort to.

With increasing innovations in the ransomware space, attackers are no longer restricting themselves to only data corruption. Backups are becoming the next line of attack for ransomware tools and when you are in a situation with no data or its backups you end up being hostage to the ransomware attacker. This month saw the advent of a new ransomware, Zenis (found by the MalwareHunterTeam) which not only encrypts your files but also purposely deletes your backups.

Combating these attacks requires more than just taking the backup. Taking a backup is only the first step in your protection, it becomes important to safe guard those backups in this model.

WorldBackupDayPic

Ask these questions to check how secure your backups are today:

  • Is your backup isolated from your production data?
  • Are there any mechanisms to ensure destructive operations are authenticated?
  • Do you have a mechanism to get alerted if a critical operation was performed during this period?

If you answered “No” to any of the above, you need to look at a new model for your backups.

This week as we celebrate World Backup Day, let’s look at the key considerations that customers should look for in backup products as they build the defenses to secure their backups from evolving ransomware attacks.

Key considerations for securing backups

To secure your backups, you need a multi-layered security mechanism that not only provides a backup but also addresses all the above, so ransomware cannot affect it.

  • Offsite backups: Ensure your backups are stored separate from your production data so that access to local data does not guarantee access to the backups as well.
  • Multi-factor authentication for critical operations: Backup products should detect operations that can be critical eg. deletion of backups, changing passphrases and ensure that these operations have multi-factor authentication before they succeed
  • Encrypted: The backup data should be encrypted both during transit to offsite location and at rest. Keep the passphrases safe by storing them in a safe location separate from production data
  • Role based access: Segregate duties within your team and grant only the amount of access to users that they need to perform their jobs
  • Alerting: Notifications should be sent for any critical operations that impact availability of backup data.
  • Delayed Delete: Backup products should ensure that backups are retained for a minimum period-of-time even if a deletion request came from an authenticated access.

How does Azure Backup achieve these?

Consideration

How does Azure Backup achieve it?

Offsite backup

Azure Backup stores backups in a storage account that is maintained by the Azure Backup service and is separate from the customer's subscription

Multi-factor authentication

Any critical operations that originate from an on-premises location need to have valid two-factor authentication before they are honored

Encryption

Backups are encrypted using AES 256 and sent via HTTPS to the cloud

Role based access

Using Azure RBAC you can assign specific access to the various roles in your organization

Alerting

Azure Backup alerts administrators through notifications for critical operation

Delayed delete

Azure Backup retains backups for 14 days after a deletion request from an authenticated user

This World Backup Day, step up your game – don’t just protect your data, secure your backups too!

Related links and additional content

Python in Visual Studio Code – March 2018 Release

$
0
0

We are pleased to announce that the March 2018 release of the Python Extension for Visual Studio Code is now available from the marketplace and the gallery. You can the download the Python extension from the marketplace, or install it directly from the extension gallery in Visual Studio Code. You can learn more about Python support in Visual Studio Code in the VS Code documentation.

In this release have closed a total of 61 issues which make the Preview debugger easier to try out, and includes various fixes and enhancements.

Improvements to Preview Debugger

In the February release of the extension we made a Preview of version of our debugger available demonstrating faster debugging performance but limited feature support. In this release we have added further enhancements to the preview.

Debug configurations have been added for more app types: Django, PySpark, Pyramid, Watson, and Scrapy. The preview debugger is also now bundled with the extension so you no longer need to manually install ptvsd to try it out, simply add one of the Experimental Debugger configurations and start debugging:

We’ve also added support for Django template debugging, you can set breakpoints in a Django app and view variables in the templates:

We’ve also added the following capabilities:

  • Support for debugging unit tests
  • Jinja template debugging support for apps other than Flask

Various Fixes and Enhancements

We have also fixed several small enhancements and fixed issues requested by users that should improve your experience working with Python in Visual Studio Code. The full list of improvements is listed in our changelog, some notable issues are:

  • Pipenv improvements: added the ability to read Pipfile name from the environment variable (#999), development-time packages are installed into dev-packages (#1110)
  • Add support for the "it" locale #1152
  • Improved extension load time #931
  • Unit test discovery banner is suppressed when test discovery failure is caused by syntax errors in test code #704
  • Conda installer is not used in non-conda environments #969
  • Prevent extension from displaying the wrong interpreter #981
  • Fixed high CPU Usage in wmic process on Windows #1036
  • Stop autocomplete from appearing in comments #1123

Be sure to download the Python extension for VS Code now to try out the above improvements. If you run into any issues be sure to file an issue on the Python VS Code GitHub page.

BotRNot: An R app to detect Twitter bots

$
0
0

Twitter's bot problem is well documented, influencing discourse on divisive topics like politics and civil rights. But it's getting harder and harder to spot such nefarious bots, who often borrow biographies and tweets from real (and often stolen) profiles to evade detection. (The New York Times recently published an outstanding feature on bots and follower factories.) 

Can we distinguish bots from real users using data science? Journalism professor Mike Kearney has developed an R package and Shiny web application that analyzes the tweets of a given user to calculate the probability that user is a bot. For example, it correctly detects that @TwoHeadlines is a bot:

Botornot

It does fairly well according to my tests, with @MagicRealismBot (99.8%), @RealPressSecBot (99.8%),  @NYT4thDownBot (99.3%) and @threat_update (100%) all correctly identified as bots. I'm also pleased to report that my own Twitter account @revodavid is classified as human (2.6% chance of botness). The app has also been used to identify a potential bot interjecting in the gun control debate. On the other hand, @RlangTip is classified as a bot (98.8%), despite my being reliably informed that it's written by humans. 

To detect bots, the app applies a gradient boosting machine learning model implemented using the gbm package in R. Factors used to identify bot-like behavior include the user's number of followers and followed accounts, the bio, and use of hashtags, @-mentions, and capital letters in account's last 100 tweets.

Try out the BotOrNot app at the link below, and let us know of any surprises in the results in the comments.

ShinyApps: {botrnot}

Visual Studio Code C/C++ extension March 2018 update

$
0
0

Today we are excited to announce the March 2018 update to the Visual Studio Code C/C++ extension! This update includes improved auto-complete for local and global scopes and a simplified configuration process for system includes and defines, enabling a better out-of-box IntelliSense experience. You can find the full list of changes in the release notes.

We’d like to thank everyone who tried our Insiders builds earlier this month and sent us feedback! Fixes for the issues you reported and feature suggestions you told us about helped shape the final release the way it is today 😊. If you are not yet an insider but are interested, we’d love for you to join the VS Code C/C++ Insiders program.

Auto-complete for local and global scopes

While this feature is not completely new, IntelliSense now provides a semantic-aware list of auto-complete suggestions when you type in local and global variables and functions. Compared with the previous approach, the new auto-complete experience gives you a shorter and more relevant list of suggestions, making it easier to write C/C++ code.

System includes and defines automatically retrieved from the compiler

IntelliSense now automatically retrieves system includes and defines from GCC/Clang-based compilers, eliminating the need for manual configuration in the “includePath” and “defines” settings. On Mac and Linux, the IntelliSense engine automatically selects a compiler as the default by searching for the installed compilers on the system. You can check which compiler is being used in the new “compilerPath” setting in the c_cpp_properties.json file, and change the value if needed. The “compilerPath” setting also accepts compiler arguments that affect the system defines returned.

In addition, the new “cStandard” and “cppStandard” settings allow setting language standards explicitly for IntelliSense.

Force IntelliSense to process arbitrary headers

If you wish IntelliSense to process headers that are not explicitly listed in #include statements, you can now use the new “forcedInclude” setting to specify them. The IntelliSense engine will first process these headers before it looks at #includes.

Tell us what you think

Download the C/C++ extension for Visual Studio Code, try it out, and let us know what you think. File issues and suggestions on GitHub. If you haven’t already provided us feedback, please take this quick survey to help shape this extension for your needs. You can also find us on Twitter (@VisualC).

Top stories from the VSTS community – 2018.03.30

$
0
0
Here are the top stories we found in our streams this week related to DevOps, VSTS, TFS and other interesting topics. Top Stories Use Cognitive Services in VSTS Custom Branch Policies – Yan Sklyarenko Following on from the popular post about using Twitter sentiment as a release gate, Yan published an interesting post showing how to... Read More

Azure Availability Zones now available for the most comprehensive resiliency strategy

$
0
0

We introduced Azure Availability Zones during Microsoft Ignite as part of our continuing expansion of Azure’s support for the most demanding, mission-critical workloads. Today I’m excited to announce the general availability of Availability Zones beginning with select regions in the United States and Europe.

With Availability Zones, in addition to the broadest global coverage, Azure now offers the most comprehensive resiliency strategy in the industry from mitigating rack level failures with availability sets to protecting against large scale events with failover to separate regions. Within a region, Availability Zones increase fault tolerance with physically separated locations, each with independent power, network, and cooling.

For many companies, especially those in regulated industries, who are increasingly moving their mission-critical applications to the cloud, resiliency and business continuity have become a crucial focus. From online commerce systems in retail to customer-facing applications in financial services, the stakes are high for organizations and enterprises to deliver for their customers. Even a minor issue can have a major impact on a company’s brand reputation, customer satisfaction, and bottom line. In this environment, it’s imperative to develop applications with the highest operations standards anchored by a multi-layered resiliency approach.

“Availability Zones give us the combination of low latency and high availability that we need to meet customer requirements. All of my team’s applications with higher SLA levels are now built on Availability Zones. The physical separation of Availability Zones builds an extra layer of redundancy.”

- Mitch Nelson, Director, Managed Services, Adobe

Azure Availability Zone

Availability Zones are now available providing an industry-leading 99.99% SLA when virtual machines are running in two Availability Zones in the same region. Moving forward, we’re committed to bringing Availability Zones to additional geographies to allow customers to create a comprehensive business continuity strategy with data residency. 

Learn more and start using Azure Availability Zones today. To learn more about Azure resiliency overall, visit the resiliency page.

BigDL Spark deep learning library VM now available on Microsoft Azure Marketplace

$
0
0

This blog was co-authored by Sergey Ermolin, Intel and Patrick Butler, Microsoft

BigDL deep learning library is a Spark-based framework for creating and deploying deep learning models at scale. While it has previously been deployed on Azure HDInsight and Data Science VM, it is now also available on Azure Marketplace as a fixed VM image, representing a further step by Intel to reduce deployment complexity for users.

Because BigDL is an integral part of Spark, a user does not need to explicitly manage distributed computations. A BigDL application provides high-level control “knobs”, such as the number of compute nodes, cores, and batch size, a BigDL application also leverages stable Spark infrastructure for node communications and resource management during its execution. BigDL applications can be written in either Python or Scala and achieve high performance through both algorithm optimization and taking advantage of close integration with Intel’s Math Kernel Library (MKL).image

For more information about BigDL features and capabilities, refer to the GitHub BigDL overview and Intel BigDL framework.

What is the Microsoft Azure Marketplace? The Azure Marketplace is an online applications and services marketplace that enables start-ups, independent software vendors (ISVs), and MSP/SIs to offer their Azure-based solutions or services to customers around the world. Learn more information on the Azure Marketplace.

Introduction

This post describes two use case scenarios to deploy BigDL_v0.4 in Azure VMs:

  • First scenario:  Deploying an Azure VM with a pre-built BigDL_v0.4 image and running a basic deep learning example.
  • Second scenario: Deploying BigDL_v0.4 on a bare-bones Ubuntu VM (for advanced users).

First scenario: Deploying a pre-built BigDL_v0.4 VM image:

Log in to your Microsoft Azure account. BigDL requires you to have an Azure subscription. You can get a free trial by visiting BigDL offering on Azure Marketplace and clicking Get it now.

image

You should see the following page. Click on the Create button at the bottom.

image

Enter the requested information in the fields at the prompts. Note that Azure imposes syntax limitations on some of the fields (such as using only alphanumeric characters and no CAPS). Use lowercase letters and digits and you will be fine. Use the following three screenshots for guidance.

image

Spark is memory-intensive, so select a machine with a larger amount of RAM. Note that not all VM types and sizes are available in certain regions. Refer to this Azure page for more info. For simple tasks and testing, the virtual machine displayed in the following screenshot will meet requirements:

image

After the VM is provisioned, copy its public IP address. Note that this public IP address will change every time you stop and restart your VM. Keep this in mind if you are thinking of BigDL automation.

image

After deployment, you can modify the IP address provided in the resource group and set it up as a static IP address:

image

You are now ready to SSH into your BigDL VM. You can use your favorite SSH client. For this example, MobaXterm is used.

Enter the IP address and the username you selected when creating the VM.

image

image

Check the versions of installed dependencies:

image

Before using pre-installed BigDL, you will need to change ownership of the directory.

image

BigDL was pre-installed into the bigdlazrmktplc directory. Yet ‘testuser’ does not have full privileges to access it.

To change this, type:

$sudo chown -R testuser:testuser bigdlazrmktplc

image

Now ‘testuser’ owns the bigdlazrmktplc directory.

Finally, test that BigDL actually works in this VM by entering the following commands:

$cd bigdlazrmktplc/BigDL
$export SPARK_HOME=/usr/local/spark/spark-2.2.0-bin-hadoop2.7
$export BIGDL_HOME=/home/bigdlazrmktplc/BigDL
$BigDL/bin/pyspark-with-bigdl.sh --master local[*]

If the commands are successful you will see the following:

image

At the command prompt, copy and paste the following example code, the source can be found on GitHub

from bigdl.util.common import *
from pyspark import SparkContext
from bigdl.nn.layer import *
import bigdl.version
# create sparkcontext with bigdl configuration
sc = SparkContext.getOrCreate(conf=create_spark_conf().setMaster("local[*]"))
init_engine() # prepare the bigdl environment
bigdl.version.__version__ # Get the current BigDL version
linear = Linear(2, 3) # Try to create a Linear layer

If the commands are successful, you will see the following:

image

BigDL is now ready for you to use.

Second Scenario: Deploying BigDL_v0.4 on a bare-bones Ubuntu Azure VM

First, you will need to create an Azure subscription. You can get a free trial by navigating to BigDL offering on Azure Marketplace and clicking Get it now.

Log in to the Azure Portal, go to New, and select Ubuntu server 16.04 LTS VM (LTS = Long Term Support).

image

Enter the basic VM attributes using only lower-case letters and numbers.

image

For Spark jobs you want to select VMs with a large amount of RAM available.

image

After your VM has been created, you can SSH into it using the username and password which you created previously.

Copy the Public IP address of the VM:

image

This creates a very basic Ubuntu machine, so you must install the following addtional components to run BigDL:

  • Java Runtime Environment (JRE)
  • Scala
  • Spark
  • Python packages
  • BigDL

Installing the Java Runtime Environment (JRE)

At the command prompt, type the following commands:

$sudo add-apt-repository ppa:webupd8team/java
$sudo apt-get update
$sudo apt-get install oracle-java8-installer
$sudo apt-get install oracle-java8-set-default

Confirm the installation and JRE version by typing

$java -version

Installing Scala and confirming version

At the command prompt, type the following commands:

$sudo apt-get install scala
$scala -version

Installing Spark 2.2.x

At the command prompt, type the following commands:

$sudo wget http://mirrors.ibiblio.org/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz
$sudo tar xvzf spark-2.2.0-bin-hadoop2.7.tgz
$rm spark-2.2.0-bin-hadoop2.7.tgz
$sudo mkdir /usr/local/spark
$sudo mv spark-2.2.0-bin-hadoop2.7 /usr/local/spark
Verify Spark installation:
$cd  /usr/local/spark/spark-2.2.0-bin-hadoop2.7/
$./bin/spark-submit –version

image

Installing BigDL

The main repo for BigDL downloadable releases.


For Spark 2.2.0 and Scala 2.11.x, select Dist-spark-2.2.0-scala-2.11.8-all-0.4.0-dist.zip

At the command prompt, type the following commands:

$cd ~
$mkdir BigDL
$cd BigDL
$sudo wget https://s3-ap-southeast-1.amazonaws.com/bigdl-download/dist-spark-2.2.0-scala-2.11.8-all-0.4.0-dist.zip

 $sudo apt-get install unzip
 $unzip dist-spark-2.2.0-scala-2.11.8-all-0.4.0-dist.zip
 $rm dist-spark-2.2.0-scala-2.11.8-all-0.4.0-dist.zip

Installing Python 2.7 packages

Ubuntu 16x on Azure comes with pre-installed python 2.7. However, there are a couple of additional packages that must be installed.
At the command prompt, type the following commands:

$sudo apt-get install python-numpy
$sudo apt-get install python-six

Update all packages and dependencies by typing

$sudo apt-get update

Verify BigDL installation

The instructions to verify that BigDL was installed correctly are available.

At the command prompt, type the following commands:

$export SPARK_HOME=/usr/local/spark/spark-2.2.0-bin-hadoop2.7
$export BIGDL_HOME=/home/bigdlazrmktplc/BigDL

Launch PySpark (from BigDL directory)

$bin/pyspark-with-bigdl.sh --master local[*]

At the prompt, copy and paste the following code, this code can also be found at Github.

from bigdl.util.common import *
from pyspark import SparkContext
from bigdl.nn.layer import *
import bigdl.version
# create sparkcontext with bigdl configuration
sc = SparkContext.getOrCreate(conf=create_spark_conf().setMaster("local[*]"))
init_engine() # prepare the bigdl environment
bigdl.version.__version__ # Get the current BigDL version
linear = Linear(2, 3) # Try to create a Linear layer

You should see the following:

creating: createLinear
cls.getname: com.intel.analytics.bigdl.python.api.Sample
BigDLBasePickler registering: bigdl.util.common  Sample
cls.getname: com.intel.analytics.bigdl.python.api.EvaluatedResult
BigDLBasePickler registering: bigdl.util.common  EvaluatedResult
cls.getname: com.intel.analytics.bigdl.python.api.JTensor
BigDLBasePickler registering: bigdl.util.common  JTensor
cls.getname: com.intel.analytics.bigdl.python.api.JActivity
BigDLBasePickler registering: bigdl.util.common  JActivity
>>>

Finally, install Maven to allow you to build BigDL applications by typing the following:

$sudo apt-get install maven

Your VM is now ready for running deep learning examples at scale.

You can find many more examples, how-to guides, and documentation at the following links:

GitHub BigDL overview

Intel BigDL framework

Use Python functions and modules in R with the “reticulate” package

$
0
0

Since its inception over 40 years ago, when S (R's predecessor) was just a sketch on John Chambers' wall at Bell Labs, R has always been a language for providing interfaces. I was reminded of this during Dirk Eddelbuettel's presentation at the Chicago R User Group meetup last night, where he enumerated Chambers' three principles behind its design (from his 2016 book, Extending R):

  1. Object: Everything that exists in R is an object
  2. Function: Everything that happens in R is a function call
  3. Interface: Interfaces to other software are a part of R

The third principle "Interface" is demonstrated by R's broad connections to data sources, numerical and statistical computation libraries, graphical systems, external applications, and other languages. And it's further supported by the formal announcement this week of the reticulate package from RStudio, which provides a new interface between R and Python. With reticulate, you can:

  • Import objects from Python, automatically converted into their equivalent R types. (For example, Pandas data frames become R data.frame objects, and NumPy arrays become R matrix objects.)
  • Import Python modules, and call their functions from R 
  • Source Python scripts from R
  • Interactively run Python commands from the R command line
  • Combine R code and Python code (and output) in R Markdown documents, as shown in the snippet below

Rmarkdown_engine_zoomed

The reticulate package was first released on Github in January 2017, but has only been available on CRAN since last month. It has already spawned several higher-level integrations between R and Python-based systems, including:

  • H204GPU, a R package for H20's GPU-based scikit-learn-like suite of algorithms;
  • greta, a packagefor Bayesian model estimation with Markov-chain Monte-carlo, based on Tensorflow
  • spacyr, a wrapper for the spaCy natural language processing toolkit; and
  • XRPython, John Chamber's interface to Python based on his XR package for language extensions to R, which now uses reticulate for its low-level interface to Python.

The reticulate package is available now on CRAN. You can find more details in the announcement at the link below.

RStudio blog: reticulate: R interface to Python

 

Essential tools and services for building mobile apps

$
0
0

This blog post was co-authored by Rajen Kishna, Senior Product Marketing Manager, Azure Marketing – App Development.

Azure, Visual Studio, Xamarin, and Visual Studio App Center give you the flexible, yet robust tools and services to build, test, deploy, and continuously improve Android and iOS apps that your users will love. Use your favorite language and tools, to tap into robust cloud services, and quickly scale to millions of users on demand.

Cloud services for mobile developers

Azure provides many services to help you build cloud-connected mobile apps, including Mobile Backend as a Service, Data, and Artificial Intelligence (outlined below), as well as services to support additional functionality, including Search, Identity, and Communication.

Mobile Backend as a Service

Azure Functions is a serverless backend for your mobile apps, where you just enter your code (whether C#, JavaScript, Python, or any other supported language) and it executes on demand, triggered by events you can define. It is a fast way to get backend code up and running.

If you need a more complete solution, the Mobile Apps feature of Azure App Service provides you with a backend that can be written in C# or Node.js, giving you features such as data storage and offline sync of that data, user authentication, and push notifications. App Service backends come with autoscaling, setting you up for success when your app grows.

Data

Every cloud-connected app needs data storage, and Azure offers a range of solutions that fit your needs. With Azure Cosmos DB, you get extremely low latency and massively scalable database that’s easily replicated worldwide. There is also Azure SQL Database, the intelligent, fully-managed relational cloud database, and a range of Azure Storage solutions to store files, unstructured objects, queues, or NoSQL databases.

Artificial Intelligence

Azure Machine Learning brings Artificial Intelligence capabilities to every developer. You can define learning models and perform computations on a massive scale. Azure Machine Learning Studio gives you an intuitive drag-and-drop interface that enables code-free experimentation.

For more ready-to-use AI services, take a look at Cognitive Services, which offers a growing suite of services for image processing, natural language processing, speech recognition, and more.

Cross-platform mobile app development with .NET

With Visual Studio and Xamarin, you can create mobile apps for Android and iOS while sharing up to 95%+ code using C#. With Azure, you can add turn-key, scalable, and flexible cloud services to keep users coming back for more with mobile-essential capabilities, like backend services, push notifications, data storage with offline sync, artificial intelligence, and much more.​

Take your .NET skills to mobile with Visual Studio and Xamarin:

We created a one-stop guide to the most relevant cloud services that Azure has to offer to you as a mobile developer with Visual Studio and Xamarin: Mobile apps using Xamarin + Azure.

Native iOS and Android app development

Whether you build apps in Visual Studio and Xamarin or are using Objective-C, Swift, Java, or React Native, Visual Studio App Center simplifies end-to-end development, so you ship faster, get continuous feedback, work on the right problems, and deliver valuable updates to users.

Connect your code repo and set up your CI/CD pipeline in just a few clicks: build in the cloud, test on real devices, distribute apps to beta testers and app stores, and monitor real-world usage with crash and analytics data. App Center is API-first, so you choose which services work for you, and quickly integrate with Azure services – like Functions or App Insights to go deep into analytics, set up a continuous release pipeline, and more.

See how to set up your app CI/CD pipeline in minutes:

Every developer, and every development team, is unique, so we will meet you where you are and grow with you. We help you focus on building great apps and take care of how they run and scale.

Ready to start?

Get started today by downloading Visual Studio and Xamarin, creating your free Visual Studio App Center account, and exploring Azure services you can add to your apps.

Windows 10 SDK Preview Build 17125

$
0
0

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17125 or greater). The Preview SDK Build 17125 contains bug fixes and under development changes to the API surface area.

The Preview SDK can be downloaded from developer section on Windows Insider.

For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.

Things to note:

  • This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
  • The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
  • This build of the Windows SDK will install on Windows 10 Insider Preview and supported Windows operating systems.

What’s New:

  • C++/WinRT Now Available: The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week.The ModernCPP blog has a deeper dive into the CppWinRT compiler.

Breaking ChangesAPI Updates and Additions

  • New MIDL key words.

As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.

The new keywords are:

  • event
  • set
  • get
  • partial
  • unsealed
  • overridable
  • protected
  • importwinmd

If any of these keywords is used as an identifier, it will generate a build failure indicating a syntax error.

The error will be similar to:

1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”

To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.

API Updates and Additions

When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.

The following APIs have been added to the platform since the release of 16299.


namespace Windows.AI.MachineLearning.Preview {
  public enum FeatureElementKindPreview
  public interface ILearningModelVariableDescriptorPreview
  public sealed class ImageVariableDescriptorPreview : ILearningModelVariableDescriptorPreview
  public sealed class InferencingOptionsPreview
  public sealed class LearningModelBindingPreview : IIterable<IKeyValuePair<string, object>>, IMapView<string, object>
  public sealed class LearningModelDescriptionPreview
  public enum LearningModelDeviceKindPreview
  public sealed class LearningModelEvaluationResultPreview
  public enum LearningModelFeatureKindPreview
  public sealed class LearningModelPreview
  public sealed class LearningModelVariableDescriptorPreview : ILearningModelVariableDescriptorPreview
  public struct MachineLearningPreviewContract
  public sealed class MapVariableDescriptorPreview : ILearningModelVariableDescriptorPreview
  public sealed class SequenceVariableDescriptorPreview : ILearningModelVariableDescriptorPreview
  public sealed class TensorVariableDescriptorPreview : ILearningModelVariableDescriptorPreview
}
namespace Windows.ApplicationModel {
  public enum AddResourcePackageOptions : uint
  public sealed class AppInstance
  public sealed class PackageCatalog {
    IAsyncOperationWithProgress<PackageCatalogAddResourcePackageResult, PackageInstallProgress> AddResourcePackageAsync(string resourcePackageFamilyName, string resourceID, AddResourcePackageOptions options);
    IAsyncOperation<PackageCatalogRemoveResourcePackagesResult> RemoveResourcePackagesAsync(IIterable<Package> resourcePackages);
  }
  public sealed class PackageCatalogAddResourcePackageResult
  public sealed class PackageCatalogRemoveResourcePackagesResult
  public struct PackageInstallProgress
  public enum StartupTaskState {
    EnabledByPolicy = 4,
  }
}
namespace Windows.ApplicationModel.Activation {
  public enum ActivationKind {
    BarcodeScannerProvider = 1022,
  }
  public sealed class BarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
  public interface IBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs
}
namespace Windows.ApplicationModel.Background {
  public enum BackgroundAccessRequestKind
  public static class BackgroundExecutionManager {
    public static IAsyncOperation<bool> RequestAccessKindAsync(BackgroundAccessRequestKind requestedAccess, string reason);
  }
  public sealed class CustomSystemEventTrigger : IBackgroundTrigger
  public enum CustomSystemEventTriggerRecurrence
  public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
  public sealed class NetworkOperatorDataUsageTrigger : IBackgroundTrigger
  public sealed class StorageLibraryChangeTrackerTrigger : IBackgroundTrigger
  public sealed class TetheringEntitlementCheckTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
  public enum PhoneCallMedia {
    AudioAndRealTimeText = 2,
  }
  public sealed class VoipCallCoordinator {
    VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
    VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
  }
  public sealed class VoipPhoneCall {
    void NotifyCallAccepted(VoipPhoneCallMedia media);
  }
}
namespace Windows.ApplicationModel.Core {
  public sealed class AppListEntry {
    IAsyncOperation<bool> LaunchForUserAsync(User user);
  }
}
namespace Windows.ApplicationModel.DataTransfer {
  public sealed class DataPackagePropertySet : IIterable<IKeyValuePair<string, object>>, IMap<string, object> {
    string ContentSourceUserActivityJson { get; set; }
  }
  public sealed class DataPackagePropertySetView : IIterable<IKeyValuePair<string, object>>, IMapView<string, object> {
    string ContentSourceUserActivityJson { get; }
  }
  public static class StandardDataFormats {
    public static string UserActivityJsonArray { get; }
  }
}
namespace Windows.ApplicationModel.Store.Preview {
  public enum StoreSystemFeature {
    ArchitectureArm64 = 34,
  }
}
namespace Windows.ApplicationModel.Store.Preview.InstallControl {
  public sealed class AppInstallItem {
    bool LaunchAfterInstall { get; set; }
  }
  public sealed class AppInstallManager {
    IAsyncOperation<bool> GetIsPackageIdentityAllowedToInstallAsync(string correlationVector, string packageIdentityName, string publisherCertificateName);
    IAsyncOperation<bool> GetIsPackageIdentityAllowedToInstallForUserAsync(User user, string correlationVector, string packageIdentityName, string publisherCertificateName);
    IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesAsync(string correlationVector, string clientId, AppUpdateOptions updateOptions);
    IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesForUserAsync(User user, string correlationVector, string clientId, AppUpdateOptions updateOptions);
    IAsyncOperation<AppInstallItem> SearchForUpdatesAsync(string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
    IAsyncOperation<AppInstallItem> SearchForUpdatesForUserAsync(User user, string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
    IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallAsync(string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
    IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallForUserAsync(User user, string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
  }
  public sealed class AppInstallOptions
  public sealed class AppInstallStatus {
    bool IsStaged { get; }
  }
  public sealed class AppUpdateOptions
}
namespace Windows.ApplicationModel.UserActivities {
  public sealed class UserActivity {
    public UserActivity(string activityId);
    string ToJson();
    public static string ToJsonArray(IIterable<UserActivity> activities);
    public static UserActivity TryParseFromJson(string json);
    public static IVector<UserActivity> TryParseFromJsonArray(string json);
  }
  public sealed class UserActivityChannel {
    public static void DisableAutoSessionCreation();
    IAsyncOperation<IVector<UserActivitySessionHistoryItem>> GetRecentUserActivitiesAsync(int maxUniqueActivities);
    IAsyncOperation<IVector<UserActivitySessionHistoryItem>> GetSessionHistoryItemsForUserActivityAsync(string activityId, DateTime startTime);
    public static UserActivityChannel TryGetForWebAccount(WebAccount account);
  }
  public sealed class UserActivityRequest
  public sealed class UserActivityRequestedEventArgs
  public sealed class UserActivityRequestManager
  public sealed class UserActivitySessionHistoryItem
  public sealed class UserActivityVisualElements {
    string AttributionDisplayText { get; set; }
  }
}
namespace Windows.Devices.Bluetooth {
  public sealed class BluetoothAdapter {
    bool AreClassicSecureConnectionsSupported { get; }
    bool AreLowEnergySecureConnectionsSupported { get; }
  }
  public sealed class BluetoothDevice : IClosable {
    bool WasSecureConnectionUsedForPairing { get; }
  }
  public sealed class BluetoothLEDevice : IClosable {
    bool WasSecureConnectionUsedForPairing { get; }
  }
}
namespace Windows.Devices.Display {
  public sealed class DisplayMonitor
  public enum DisplayMonitorConnectionKind
  public enum DisplayMonitorDescriptorKind
  public enum DisplayMonitorPhysicalConnectorKind
  public enum DisplayMonitorUsageKind
}
namespace Windows.Devices.Input.Preview {
  public enum GazeDeviceConfigurationStatePreview
  public sealed class GazeDevicePreview
  public sealed class GazeDeviceWatcherAddedPreviewEventArgs
  public sealed class GazeDeviceWatcherPreview
  public sealed class GazeDeviceWatcherRemovedPreviewEventArgs
  public sealed class GazeDeviceWatcherUpdatedPreviewEventArgs
  public sealed class GazeEnteredPreviewEventArgs
  public sealed class GazeExitedPreviewEventArgs
  public sealed class GazeInputSourcePreview
  public sealed class GazeMovedPreviewEventArgs
  public sealed class GazePointPreview
}
namespace Windows.Devices.PointOfService {
  public sealed class BarcodeScannerReport {
    public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
  }
  public sealed class ClaimedBarcodeScanner : IClosable {
    bool IsVideoPreviewShownOnEnable { get; set; }
    void HideVideoPreview();
    IAsyncOperation<bool> ShowVideoPreviewAsync();
  }
  public sealed class UnifiedPosErrorData {
    public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
  }
}
namespace Windows.Devices.PointOfService.Provider {
  public sealed class BarcodeScannerDisableScannerRequest
  public sealed class BarcodeScannerDisableScannerRequestEventArgs
  public sealed class BarcodeScannerEnableScannerRequest
  public sealed class BarcodeScannerEnableScannerRequestEventArgs
  public sealed class BarcodeScannerGetSymbologyAttributesRequest
  public sealed class BarcodeScannerGetSymbologyAttributesRequestEventArgs
  public sealed class BarcodeScannerHideVideoPreviewRequest
  public sealed class BarcodeScannerHideVideoPreviewRequestEventArgs
  public sealed class BarcodeScannerProviderConnection : IClosable
  public sealed class BarcodeScannerProviderTriggerDetails
  public sealed class BarcodeScannerSetActiveSymbologiesRequest
  public sealed class BarcodeScannerSetActiveSymbologiesRequestEventArgs
  public sealed class BarcodeScannerSetSymbologyAttributesRequest
  public sealed class BarcodeScannerSetSymbologyAttributesRequestEventArgs
  public sealed class BarcodeScannerStartSoftwareTriggerRequest
  public sealed class BarcodeScannerStartSoftwareTriggerRequestEventArgs
  public sealed class BarcodeScannerStopSoftwareTriggerRequest
  public sealed class BarcodeScannerStopSoftwareTriggerRequestEventArgs
  public enum BarcodeScannerTriggerState
  public sealed class BarcodeSymbologyAttributesBuilder
}
namespace Windows.Foundation.Numerics {
  public struct Rational
}
namespace Windows.Globalization {
  public static class ApplicationLanguages {
    public static IVectorView<string> GetLanguagesForUser(User user);
  }
  public sealed class Language {
    LanguageLayoutDirection LayoutDirection { get; }
  }
  public enum LanguageLayoutDirection
}
namespace Windows.Graphics {
  public struct DisplayAdapterId
  public interface IGeometrySource2D
}
namespace Windows.Graphics.Capture {
  public sealed class Direct3D11CaptureFrame : IClosable
  public sealed class Direct3D11CaptureFramePool : IClosable
  public sealed class GraphicsCaptureItem
  public sealed class GraphicsCapturePicker
  public sealed class GraphicsCaptureSession : IClosable
}
namespace Windows.Graphics.DirectX {
  public enum DirectXColorSpace
}
namespace Windows.Graphics.Display {
  public sealed class AdvancedColorInfo
  public enum AdvancedColorKind
  public sealed class BrightnessOverrideSettings
  public sealed class ColorOverrideSettings
  public enum DisplayBrightnessOverrideScenario
  public enum DisplayColorOverrideScenario
  public sealed class DisplayEnhancementOverride
  public sealed class DisplayEnhancementOverrideCapabilities
  public sealed class DisplayEnhancementOverrideCapabilitiesChangedEventArgs
  public sealed class DisplayInformation {
    event TypedEventHandler<DisplayInformation, object> AdvancedColorInfoChanged;
    AdvancedColorInfo GetAdvancedColorInfo();
  }
  public enum HdrMetadataFormat
  public struct NitRange
}
namespace Windows.Graphics.Holographic {
  public sealed class HolographicCamera {
    bool CanOverrideViewport { get; }
  }
  public sealed class HolographicCameraPose {
    void OverrideProjectionTransform(HolographicStereoTransform projectionTransform);
    void OverrideViewport(Rect leftViewport, Rect rightViewport);
    void OverrideViewTransform(SpatialCoordinateSystem coordinateSystem, HolographicStereoTransform coordinateSystemToViewTransform);
  }
  public sealed class HolographicFramePresentationMonitor : IClosable
  public sealed class HolographicFramePresentationReport
  public sealed class HolographicSpace {
    HolographicSpaceUserPresence UserPresence { get; }
    event TypedEventHandler<HolographicSpace, object> UserPresenceChanged;
    HolographicFramePresentationMonitor CreateFramePresentationMonitor(uint maxQueuedReports);
    void WaitForNextFrameReady();
    void WaitForNextFrameReadyWithHeadStart(TimeSpan requestedHeadStartDuration);
  }
  public enum HolographicSpaceUserPresence
}
namespace Windows.Graphics.Imaging {
  public enum BitmapPixelFormat {
    P010 = 104,
  }
}
namespace Windows.Graphics.Printing {
  public sealed class PrintPageRange
  public sealed class PrintPageRangeOptions
  public sealed class PrintTaskOptions : IPrintTaskOptionsCore, IPrintTaskOptionsCoreProperties, IPrintTaskOptionsCoreUIConfiguration {
    IVector<PrintPageRange> CustomPageRanges { get; }
    PrintPageRangeOptions PageRangeOptions { get; }
  }
  public static class StandardPrintTaskOptions {
    public static string CustomPageRanges { get; }
  }
}
namespace Windows.Graphics.Printing.OptionDetails {
  public sealed class PrintBindingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintBorderingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintCollationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintColorModeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintCopiesOptionDetails : IPrintNumberOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintCustomItemListOptionDetails : IPrintCustomOptionDetails, IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
    void AddItem(string itemId, string displayName, string description, IRandomAccessStreamWithContentType icon);
  }
  public sealed class PrintCustomTextOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintCustomToggleOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails
  public sealed class PrintDuplexOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintHolePunchOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintMediaSizeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintMediaTypeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public enum PrintOptionType {
    Toggle = 4,
  }
  public sealed class PrintOrientationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintPageRangeOptionDetails : IPrintOptionDetails
  public sealed class PrintQualityOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintStapleOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
    string Description { get; set; }
    string WarningText { get; set; }
  }
  public sealed class PrintTaskOptionDetails : IPrintTaskOptionsCore, IPrintTaskOptionsCoreUIConfiguration {
    PrintCustomToggleOptionDetails CreateToggleOption(string optionId, string displayName);
  }
}
namespace Windows.Management.Deployment {
  public sealed class PackageManager {
    IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
  }
}
namespace Windows.Management.Update {
  public sealed class PreviewBuildsManager
  public sealed class PreviewBuildsState
}
namespace Windows.Media {
  public sealed class VideoFrame : IClosable, IMediaFrame {
    IAsyncAction CopyToAsync(VideoFrame frame, IReference<BitmapBounds> sourceBounds, IReference<BitmapBounds> destinationBounds);
    public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height);
    public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height, IDirect3DDevice device);
    public static VideoFrame CreateWithDirect3D11Surface(IDirect3DSurface surface);
    public static VideoFrame CreateWithSoftwareBitmap(SoftwareBitmap bitmap);
  }
}
namespace Windows.Media.Audio {
  public sealed class AudioGraph : IClosable {
    IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
    IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
  }
  public sealed class AudioGraphSettings {
    double MaxPlaybackSpeedFactor { get; set; }
  }
  public sealed class AudioStateMonitor
  public sealed class CreateMediaSourceAudioInputNodeResult
  public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
  public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
  public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
    BitmapPropertySet BitmapProperties { get; }
    CapturedFrameControlValues ControlValues { get; }
  }
  public enum KnownVideoProfile {
    HdrWithWcgPhoto = 8,
    HdrWithWcgVideo = 7,
    HighFrameRate = 5,
    VariablePhotoSequence = 6,
    VideoHdr8 = 9,
  }
  public sealed class MediaCaptureSettings {
    IDirect3DDevice Direct3D11Device { get; }
  }
  public sealed class MediaCaptureVideoProfile {
    IVectorView<MediaFrameSourceInfo> FrameSourceInfos { get; }
    IMapView<Guid, object> Properties { get; }
  }
  public sealed class MediaCaptureVideoProfileMediaDescription {
    IMapView<Guid, object> Properties { get; }
    string Subtype { get; }
  }
}
namespace Windows.Media.Capture.Frames {
  public sealed class AudioMediaFrame
  public sealed class MediaFrameFormat {
    AudioEncodingProperties AudioEncodingProperties { get; }
  }
  public sealed class MediaFrameReference : IClosable {
    AudioMediaFrame AudioMediaFrame { get; }
  }
  public sealed class MediaFrameSourceController {
    AudioDeviceController AudioDeviceController { get; }
  }
  public sealed class MediaFrameSourceInfo {
    string ProfileId { get; }
    IVectorView<MediaCaptureVideoProfileMediaDescription> VideoProfileMediaDescription { get; }
  }
  public enum MediaFrameSourceKind {
    Audio = 4,
    Image = 5,
  }
}
namespace Windows.Media.Core {
  public sealed class AudioStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
    AudioStreamDescriptor Copy();
  }
  public sealed class MediaBindingEventArgs {
    void SetDownloadOperation(DownloadOperation downloadOperation);
  }
  public sealed class MediaSource : IClosable, IMediaPlaybackSource {
    DownloadOperation DownloadOperation { get; }
    public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
  }
  public sealed class TimedMetadataStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2
  public sealed class VideoStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
    VideoStreamDescriptor Copy();
  }
}
namespace Windows.Media.Devices {
  public sealed class VideoDeviceController : IMediaDeviceController {
    VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
  }
  public sealed class VideoTemporalDenoisingControl
  public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
  public sealed class DialReceiverApp {
    IAsyncOperation<string> GetUniqueDeviceNameAsync();
  }
}
namespace Windows.Media.Effects {
  public sealed class VideoTransformEffectDefinition : IVideoEffectDefinition {
    VideoTransformSphericalProjection SphericalProjection { get; }
  }
  public sealed class VideoTransformSphericalProjection
}
namespace Windows.Media.MediaProperties {
  public sealed class AudioEncodingProperties : IMediaEncodingProperties {
    AudioEncodingProperties Copy();
  }
  public sealed class ContainerEncodingProperties : IMediaEncodingProperties {
    ContainerEncodingProperties Copy();
  }
  public sealed class ImageEncodingProperties : IMediaEncodingProperties {
    ImageEncodingProperties Copy();
  }
  public sealed class MediaEncodingProfile {
    IVector<TimedMetadataStreamDescriptor> GetTimedMetadataTracks();
    void SetTimedMetadataTracks(IIterable<TimedMetadataStreamDescriptor> value);
  }
  public static class MediaEncodingSubtypes {
    public static string P010 { get; }
  }
  public enum MediaPixelFormat {
    P010 = 2,
  }
  public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties
  public sealed class VideoEncodingProperties : IMediaEncodingProperties {
    VideoEncodingProperties Copy();
  }
}
namespace Windows.Media.Playback {
  public sealed class MediaPlaybackSession {
    MediaRotation PlaybackRotation { get; set; }
    MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
  }
  public sealed class MediaPlaybackSessionOutputDegradationPolicyState
  public enum MediaPlaybackSessionVideoConstrictionReason
  public sealed class MediaPlayer : IClosable {
    AudioStateMonitor AudioStateMonitor { get; }
  }
}
namespace Windows.Media.SpeechSynthesis {
  public enum SpeechAppendedSilence
  public enum SpeechPunctuationSilence
  public sealed class SpeechSynthesizerOptions {
    SpeechAppendedSilence AppendedSilence { get; set; }
    SpeechPunctuationSilence PunctuationSilence { get; set; }
  }
}
namespace Windows.Media.Streaming.Adaptive {
  public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
    string ResourceContentType { get; }
    IReference<TimeSpan> ResourceDuration { get; }
  }
  public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
    string ResourceContentType { get; }
    IReference<TimeSpan> ResourceDuration { get; }
  }
  public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
    string ResourceContentType { get; }
    IReference<TimeSpan> ResourceDuration { get; }
  }
  public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
    string ResourceContentType { get; }
    IReference<TimeSpan> ResourceDuration { get; }
  }
}
namespace Windows.Networking.BackgroundTransfer {
  public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
    void MakeCurrentInTransferGroup();
  }
  public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
    void MakeCurrentInTransferGroup();
  }
}
namespace Windows.Networking.Connectivity {
  public sealed class CellularApnContext {
    string ProfileName { get; set; }
  }
  public sealed class ConnectionProfileFilter {
    IReference<Guid> PurposeGuid { get; set; }
  }
  public sealed class WwanConnectionProfileDetails {
    WwanNetworkIPKind IPKind { get; }
    IVectorView<Guid> PurposeGuids { get; }
  }
  public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
  public sealed class ESim
  public sealed class ESimAddedEventArgs
  public enum ESimAuthenticationPreference
  public sealed class ESimDownloadProfileMetadataResult
  public static class ESimManager
  public sealed class ESimOperationResult
  public enum ESimOperationStatus
  public sealed class ESimPolicy
  public sealed class ESimProfile
  public enum ESimProfileClass
  public struct ESimProfileInstallProgress
  public sealed class ESimProfileMetadata
  public enum ESimProfileMetadataState
  public sealed class ESimProfilePolicy
  public enum ESimProfileState
  public sealed class ESimRemovedEventArgs
  public sealed class ESimServiceInfo
  public enum ESimState
  public sealed class ESimUpdatedEventArgs
  public sealed class ESimWatcher
  public enum ESimWatcherStatus
  public sealed class MobileBroadbandAntennaSar {
    public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
  }
  public sealed class MobileBroadbandModem {
    bool IsInEmergencyCallMode { get; }
    event TypedEventHandler<MobileBroadbandModem, object> IsInEmergencyCallModeChanged;
    IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
  }
  public sealed class MobileBroadbandModemIsolation
  public sealed class MobileBroadbandPco
  public sealed class MobileBroadbandPcoDataChangeTriggerDetails
  public enum NetworkOperatorDataUsageNotificationKind
  public sealed class NetworkOperatorDataUsageTriggerDetails
  public sealed class TetheringEntitlementCheckTriggerDetails
}
namespace Windows.Networking.Sockets {
  public sealed class MessageWebSocket : IClosable, IWebSocket {
    IAsyncOperationWithProgress<uint, uint> SendFinalFrameAsync(IBuffer data);
    IAsyncOperationWithProgress<uint, uint> SendNonfinalFrameAsync(IBuffer data);
  }
  public sealed class ServerMessageWebSocket : IClosable
  public sealed class ServerMessageWebSocketControl
  public sealed class ServerMessageWebSocketInformation
  public sealed class ServerStreamWebSocket : IClosable
  public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
  public sealed class VpnChannel {
    object CurrentRequestTransportContext { get; }
    void AddAndAssociateTransport(object transport, object context);
    ControlChannelTriggerStatus GetSlotTypeForTransportContext(object context);
    void ReplaceAndAssociateTransport(object transport, object context);
    void StartReconnectingTransport(object transport, object context);
    void StartWithTrafficFilter(IIterable<HostName> assignedClientIpv4Addresses, IIterable<HostName> assignedClientIpv6Addresses, VpnInterfaceId vpninterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, IIterable<object> transports, VpnTrafficFilterAssignment assignedTrafficFilters);
  }
  public sealed class VpnPacketBuffer {
    object TransportContext { get; set; }
  }
}
namespace Windows.Security.Authentication.Identity.Provider {
  public enum SecondaryAuthenticationFactorAuthenticationMessage {
    CanceledByUser = 22,
    CenterHand = 23,
    ConnectionRequired = 20,
    DeviceUnavailable = 28,
    MoveHandCloser = 24,
    MoveHandFarther = 25,
    PlaceHandAbove = 26,
    RecognitionFailed = 27,
    TimeLimitExceeded = 21,
  }
}
namespace Windows.Security.Authentication.Web.Core {
  public sealed class FindAllAccountsResult
  public enum FindAllWebAccountsStatus
  public static class WebAuthenticationCoreManager {
    public static IAsyncOperation<FindAllAccountsResult> FindAllAccountsAsync(WebAccountProvider provider);
    public static IAsyncOperation<FindAllAccountsResult> FindAllAccountsAsync(WebAccountProvider provider, string clientId);
    public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId);
    public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId, string authority);
    public static IAsyncOperation<WebAccountProvider> FindSystemAccountProviderAsync(string webAccountProviderId, string authority, User user);
  }
}
namespace Windows.Security.Authentication.Web.Provider {
  public sealed class WebProviderTokenRequest {
    string ApplicationPackageFamilyName { get; }
    string ApplicationProcessName { get; }
    IAsyncOperation<bool> CheckApplicationForCapabilityAsync(string capabilityName);
  }
}
namespace Windows.Security.Credentials {
  public sealed class WebAccountProvider {
    bool IsSystemProvider { get; }
  }
}
namespace Windows.Services.Maps {
  public sealed class MapRouteDrivingOptions {
    IReference<DateTime> DepartureTime { get; set; }
  }
  public sealed class PlaceInfo {
    public static PlaceInfo CreateFromAddress(string displayAddress);
    public static PlaceInfo CreateFromAddress(string displayAddress, string displayName);
  }
}
namespace Windows.Services.Store {
  public sealed class StoreCanAcquireLicenseResult
  public enum StoreCanLicenseStatus
  public sealed class StoreContext {
    bool CanSilentlyDownloadStorePackageUpdates { get; }
    IAsyncOperation<StoreCanAcquireLicenseResult> CanAcquireStoreLicenseAsync(string productStoreId);
    IAsyncOperation<StoreCanAcquireLicenseResult> CanAcquireStoreLicenseForOptionalPackageAsync(Package optionalPackage);
    IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> DownloadAndInstallStorePackagesAsync(IIterable<string> storeIds);
    IAsyncOperation<IVectorView<StoreQueueItem>> GetAssociatedStoreQueueItemsAsync();
    IAsyncOperation<StoreProductQueryResult> GetStoreProductsAsync(IIterable<string> productKinds, IIterable<string> storeIds, StoreProductOptions storeProductOptions);
    IAsyncOperation<IVectorView<StoreQueueItem>> GetStoreQueueItemsAsync(IIterable<string> storeIds);
    IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> RequestDownloadAndInstallStorePackagesAsync(IIterable<string> storeIds, StorePackageInstallOptions storePackageInstallOptions);
    IAsyncOperation<StoreUninstallStorePackageResult> RequestUninstallStorePackageAsync(Package package);
    IAsyncOperation<StoreUninstallStorePackageResult> RequestUninstallStorePackageByStoreIdAsync(string storeId);
    IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
    IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
    IAsyncOperation<StoreUninstallStorePackageResult> UninstallStorePackageAsync(Package package);
    IAsyncOperation<StoreUninstallStorePackageResult> UninstallStorePackageByStoreIdAsync(string storeId);
  }
  public sealed class StorePackageInstallOptions
  public sealed class StorePackageUpdateResult {
    IVectorView<StoreQueueItem> StoreQueueItems { get; }
  }
  public sealed class StoreProductOptions
  public sealed class StoreQueueItem
  public sealed class StoreQueueItemCompletedEventArgs
  public enum StoreQueueItemExtendedState
  public enum StoreQueueItemKind
  public enum StoreQueueItemState
  public sealed class StoreQueueItemStatus
  public sealed class StoreUninstallStorePackageResult
  public enum StoreUninstallStorePackageStatus
}
namespace Windows.Storage {
  public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
    StorageLibraryChangeTracker TryGetChangeTracker();
  }
}
namespace Windows.Storage.Provider {
  public interface IStorageProviderUriSource
  public sealed class StorageProviderGetContentInfoForPathResult
  public sealed class StorageProviderGetPathForContentUriResult
  public enum StorageProviderUriSourceStatus
}
namespace Windows.Storage.Search {
  public sealed class StorageLibraryChangeTrackerTriggerDetails
}
namespace Windows.System {
  public sealed class AppActivationResult
  public sealed class AppDiagnosticInfo {
    IAsyncOperation<AppActivationResult> LaunchAsync();
  }
  public sealed class AppExecutionStateChangeResult
  public sealed class AppResourceGroupInfo {
    IAsyncOperation<AppExecutionStateChangeResult> StartResumeAsync();
    IAsyncOperation<AppExecutionStateChangeResult> StartSuspendAsync();
    IAsyncOperation<AppExecutionStateChangeResult> StartTerminateAsync();
  }
  public enum AutoUpdateTimeZoneStatus
  public static class TimeZoneSettings {
    public static IAsyncOperation<AutoUpdateTimeZoneStatus> AutoUpdateTimeZoneAsync(TimeSpan timeout);
  }
}
namespace Windows.System.Diagnostics {
  public sealed class DiagnosticInvoker {
    IAsyncOperationWithProgress<DiagnosticActionResult, DiagnosticActionState> RunDiagnosticActionFromStringAsync(string context);
  }
}
namespace Windows.System.Diagnostics.DevicePortal {
  public sealed class DevicePortalConnection {
    ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
    ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
    ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
    ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
    ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
  }
  public sealed class DevicePortalConnectionRequestReceivedEventArgs {
    bool IsWebSocketUpgradeRequest { get; }
    IVectorView<string> WebSocketProtocolsRequested { get; }
    Deferral GetDeferral();
  }
}
namespace Windows.System.Inventory {
  public sealed class InstalledDesktopApp : IStringable
}
namespace Windows.System.Profile {
  public static class AnalyticsInfo {
    public static IAsyncOperation<IMapView<string, string>> GetSystemPropertiesAsync(IIterable<string> attributeNames);
  }
}
namespace Windows.System.RemoteSystems {
  public sealed class RemoteSystem {
    RemoteSystemPlatform Platform { get; }
  }
  public sealed class RemoteSystemEnumerationCompletedEventArgs
  public enum RemoteSystemPlatform
  public sealed class RemoteSystemWatcher {
    event TypedEventHandler<RemoteSystemWatcher, RemoteSystemEnumerationCompletedEventArgs> EnumerationCompleted;
    event TypedEventHandler<RemoteSystemWatcher, RemoteSystemWatcherErrorOccurredEventArgs> ErrorOccurred;
  }
  public enum RemoteSystemWatcherError
  public sealed class RemoteSystemWatcherErrorOccurredEventArgs
}
namespace Windows.System.UserProfile {
  public static class GlobalizationPreferences {
    public static GlobalizationPreferencesForUser GetForUser(User user);
  }
  public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.ApplicationSettings {
  public sealed class AccountsSettingsPane {
    public static IAsyncAction ShowAddAccountForUserAsync(User user);
    public static IAsyncAction ShowManageAccountsForUserAsync(User user);
  }
  public sealed class AccountsSettingsPaneCommandsRequestedEventArgs {
    User User { get; }
  }
}
namespace Windows.UI.Composition {
  public sealed class AnimationController : CompositionObject
  public enum AnimationControllerProgressBehavior
  public sealed class BounceScalarNaturalMotionAnimation : ScalarNaturalMotionAnimation
  public sealed class BounceVector2NaturalMotionAnimation : Vector2NaturalMotionAnimation
  public sealed class BounceVector3NaturalMotionAnimation : Vector3NaturalMotionAnimation
  public sealed class CompositionContainerShape : CompositionShape
  public sealed class CompositionEllipseGeometry : CompositionGeometry
  public class CompositionGeometry : CompositionObject
  public class CompositionLight : CompositionObject {
    bool IsEnabled { get; set; }
  }
  public sealed class CompositionLineGeometry : CompositionGeometry
  public class CompositionObject : IClosable {
    AnimationController TryGetAnimationController(string propertyName);
  }
  public sealed class CompositionPath : IGeometrySource2D
  public sealed class CompositionPathGeometry : CompositionGeometry
  public sealed class CompositionRectangleGeometry : CompositionGeometry
  public sealed class CompositionRoundedRectangleGeometry : CompositionGeometry
  public class CompositionShape : CompositionObject
  public sealed class CompositionShapeCollection : CompositionObject, IIterable<CompositionShape>, IVector<CompositionShape>
  public sealed class CompositionSpriteShape : CompositionShape
  public enum CompositionStrokeCap
  public sealed class CompositionStrokeDashArray : CompositionObject, IIterable<float>, IVector<float>
  public enum CompositionStrokeLineJoin
  public sealed class CompositionViewBox : CompositionObject
  public sealed class Compositor : IClosable {
    string Comment { get; set; }
    float GlobalPlaybackRate { get; set; }
    public static float MaxGlobalPlaybackRate { get; }
    public static float MinGlobalPlaybackRate { get; }
    BounceScalarNaturalMotionAnimation CreateBounceScalarAnimation();
    BounceVector2NaturalMotionAnimation CreateBounceVector2Animation();
    BounceVector3NaturalMotionAnimation CreateBounceVector3Animation();
    CompositionContainerShape CreateContainerShape();
    CompositionEllipseGeometry CreateEllipseGeometry();
    CompositionLineGeometry CreateLineGeometry();
    CompositionPathGeometry CreatePathGeometry();
    CompositionPathGeometry CreatePathGeometry(CompositionPath path);
    PathKeyFrameAnimation CreatePathKeyFrameAnimation();
    CompositionRectangleGeometry CreateRectangleGeometry();
    CompositionRoundedRectangleGeometry CreateRoundedRectangleGeometry();
    ShapeVisual CreateShapeVisual();
    CompositionSpriteShape CreateSpriteShape();
    CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry);
    CompositionViewBox CreateViewBox();
    IAsyncAction RequestCommitAsync();
  }
  public sealed class PathKeyFrameAnimation : KeyFrameAnimation
  public sealed class PointLight : CompositionLight {
    float MaxAttenuationCutoff { get; set; }
    float MinAttenuationCutoff { get; set; }
  }
  public sealed class ShapeVisual : ContainerVisual
  public sealed class SpotLight : CompositionLight {
    float MaxAttenuationCutoff { get; set; }
    float MinAttenuationCutoff { get; set; }
  }
}
namespace Windows.UI.Composition.Core {
  public sealed class CompositorController : IClosable
}
namespace Windows.UI.Composition.Desktop {
  public sealed class DesktopWindowTarget : CompositionTarget
}
namespace Windows.UI.Composition.Diagnostics {
  public sealed class CompositionDebugHeatMaps
  public enum CompositionDebugOverdrawContentKinds : uint
  public sealed class CompositionDebugSettings
}
namespace Windows.UI.Composition.Interactions {
  public enum VisualInteractionSourceRedirectionMode {
    CapableTouchpadAndPointerWheel = 3,
    PointerWheelOnly = 2,
  }
}
namespace Windows.UI.Core {
  public enum AppViewBackButtonVisibility {
    Disabled = 2,
  }
  public sealed class CoreComponentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
    DispatcherQueue DispatcherQueue { get; }
  }
  public sealed class CoreIndependentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
    DispatcherQueue DispatcherQueue { get; }
  }
  public interface ICorePointerInputSource2 : ICorePointerInputSource
}
namespace Windows.UI.Input.Core {
  public sealed class RadialControllerIndependentInputSource {
    DispatcherQueue DispatcherQueue { get; }
  }
}
namespace Windows.UI.Input.Inking {
  public sealed class InkDrawingAttributes {
    InkModelerAttributes ModelerAttributes { get; }
  }
  public sealed class InkInputConfiguration
  public sealed class InkModelerAttributes
  public sealed class InkPresenter {
    InkInputConfiguration InputConfiguration { get; }
  }
}
namespace Windows.UI.Input.Spatial {
  public sealed class SpatialInteractionController {
    BatteryReport TryGetBatteryReport();
  }
}
namespace Windows.UI.Notifications {
  public sealed class ScheduledToastNotification {
    IReference<DateTime> ExpirationTime { get; set; }
  }
}
namespace Windows.UI.StartScreen {
  public sealed class TileMixedRealityModel {
    TileMixedRealityModelActivationBehavior ActivationBehavior { get; set; }
  }
  public enum TileMixedRealityModelActivationBehavior
}
namespace Windows.UI.Text {
  public sealed class ContentLinkInfo
  public sealed class RichEditTextRange : ITextRange
  public enum TextRangeUnit {
    ContentLink = 32,
  }
}
namespace Windows.UI.ViewManagement.Core {
  public sealed class CoreInputView {
    event TypedEventHandler<CoreInputView, object> XYFocusTransferredToPrimaryView;
    event TypedEventHandler<CoreInputView, CoreInputViewTransferringXYFocusEventArgs> XYFocusTransferringFromPrimaryView;
    bool TryTransferXYFocusToPrimaryView(Rect origin, CoreInputViewXYFocusTransferDirection direction);
  }
  public sealed class CoreInputViewTransferringXYFocusEventArgs
  public enum CoreInputViewXYFocusTransferDirection
}
namespace Windows.UI.WebUI {
  public sealed class WebUIBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
  public sealed class WebUILaunchActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IApplicationViewActivatedEventArgs, ILaunchActivatedEventArgs, ILaunchActivatedEventArgs2, IPrelaunchActivatedEventArgs {
    TileActivatedInfo TileActivatedInfo { get; }
  }
}
namespace Windows.UI.Xaml {
  public sealed class BringIntoViewOptions {
    double HorizontalAlignmentRatio { get; set; }
    double HorizontalOffset { get; set; }
    double VerticalAlignmentRatio { get; set; }
    double VerticalOffset { get; set; }
  }
  public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
  public sealed class ElementSoundPlayer {
    public static ElementSpatialAudioMode SpatialAudioMode { get; set; }
  }
  public enum ElementSpatialAudioMode
  public enum FocusVisualKind {
    Reveal = 2,
  }
  public class UIElement : DependencyObject {
    public static RoutedEvent BringIntoViewRequestedEvent { get; }
    public static RoutedEvent ContextRequestedEvent { get; }
    KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
    public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
    DependencyObject KeyboardAcceleratorPlacementTarget { get; set; }
    public static DependencyProperty KeyboardAcceleratorPlacementTargetProperty { get; }
    DependencyObject KeyTipTarget { get; set; }
    public static DependencyProperty KeyTipTargetProperty { get; }
    event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
    virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
    virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
    public static void RegisterAsScrollPort(UIElement element);
  }
}
namespace Windows.UI.Xaml.Automation {
  public sealed class AutomationElementIdentifiers {
    public static AutomationProperty HeadingLevelProperty { get; }
  }
  public sealed class AutomationProperties {
    public static DependencyProperty HeadingLevelProperty { get; }
    public static AutomationHeadingLevel GetHeadingLevel(DependencyObject element);
    public static void SetHeadingLevel(DependencyObject element, AutomationHeadingLevel value);
  }
}
namespace Windows.UI.Xaml.Automation.Peers {
  public enum AutomationHeadingLevel
  public class AutomationPeer : DependencyObject {
    AutomationHeadingLevel GetHeadingLevel();
    virtual AutomationHeadingLevel GetHeadingLevelCore();
  }
  public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
    void Invoke();
  }
  public class CalendarDatePickerAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IValueProvider
  public class TreeViewItemAutomationPeer : ListViewItemAutomationPeer, IExpandCollapseProvider
  public class TreeViewListAutomationPeer : SelectorAutomationPeer
}
namespace Windows.UI.Xaml.Controls {
  public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
    string KeyboardAcceleratorTextOverride { get; set; }
    public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
    AppBarButtonTemplateSettings TemplateSettings { get; }
  }
  public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
    string KeyboardAcceleratorTextOverride { get; set; }
    public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
    AppBarToggleButtonTemplateSettings TemplateSettings { get; }
  }
  public sealed class ContentLinkChangedEventArgs
  public enum ContentLinkChangeKind
  public sealed class HandwritingPanelClosedEventArgs
  public sealed class HandwritingPanelOpenedEventArgs
  public enum HandwritingPanelPlacementAlignment
  public class HandwritingView : Control
  public class MediaTransportControls : Control {
    bool IsCompactOverlayButtonVisible { get; set; }
    public static DependencyProperty IsCompactOverlayButtonVisibleProperty { get; }
    bool IsCompactOverlayEnabled { get; set; }
    public static DependencyProperty IsCompactOverlayEnabledProperty { get; }
  }
  public class MenuFlyoutItem : MenuFlyoutItemBase {
    string KeyboardAcceleratorTextOverride { get; set; }
    public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
    MenuFlyoutItemTemplateSettings TemplateSettings { get; }
  }
  public class NavigationView : ContentControl {
    NavigationViewBackButtonVisible IsBackButtonVisible { get; set; }
    public static DependencyProperty IsBackButtonVisibleProperty { get; }
    bool IsBackEnabled { get; set; }
    public static DependencyProperty IsBackEnabledProperty { get; }
    string PaneTitle { get; set; }
    public static DependencyProperty PaneTitleProperty { get; }
    event TypedEventHandler<NavigationView, NavigationViewBackRequestedEventArgs> BackRequested;
    event TypedEventHandler<NavigationView, object> PaneClosed;
    event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
    event TypedEventHandler<NavigationView, object> PaneOpened;
    event TypedEventHandler<NavigationView, object> PaneOpening;
  }
  public enum NavigationViewBackButtonVisible
  public sealed class NavigationViewBackRequestedEventArgs
  public sealed class NavigationViewPaneClosingEventArgs
  public class RefreshContainer : ContentControl
  public sealed class RefreshInteractionRatioChangedEventArgs
  public enum RefreshPullDirection
  public sealed class RefreshRequestedEventArgs
  public sealed class RefreshStateChangedEventArgs
  public class RefreshVisualizer : Control
  public enum RefreshVisualizerOrientation
  public enum RefreshVisualizerState
  public class RichEditBox : Control {
    SolidColorBrush ContentLinkBackgroundColor { get; set; }
    public static DependencyProperty ContentLinkBackgroundColorProperty { get; }
    SolidColorBrush ContentLinkForegroundColor { get; set; }
    public static DependencyProperty ContentLinkForegroundColorProperty { get; }
    ContentLinkProviderCollection ContentLinkProviders { get; set; }
    public static DependencyProperty ContentLinkProvidersProperty { get; }
    HandwritingView HandwritingView { get; set; }
    public static DependencyProperty HandwritingViewProperty { get; }
    bool IsHandwritingViewEnabled { get; set; }
    public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
    event TypedEventHandler<RichEditBox, ContentLinkChangedEventArgs> ContentLinkChanged;
    event TypedEventHandler<RichEditBox, ContentLinkInvokedEventArgs> ContentLinkInvoked;
  }
  public class TextBox : Control {
    HandwritingView HandwritingView { get; set; }
    public static DependencyProperty HandwritingViewProperty { get; }
    bool IsHandwritingViewEnabled { get; set; }
    public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
  }
  public class TreeView : Control
  public sealed class TreeViewCollapsedEventArgs
  public sealed class TreeViewExpandingEventArgs
  public class TreeViewItem : ListViewItem
  public sealed class TreeViewItemInvokedEventArgs
  public class TreeViewItemTemplateSettings : DependencyObject
  public class TreeViewList : ListView
  public class TreeViewNode : DependencyObject
  public enum TreeViewSelectionMode
  public sealed class WebView : FrameworkElement {
    event TypedEventHandler<WebView, WebViewSeparateProcessLostEventArgs> SeparateProcessLost;
  }
  public enum WebViewExecutionMode {
    SeparateProcess = 2,
  }
  public enum WebViewPermissionType {
    ImmersiveView = 6,
    Screen = 5,
  }
  public sealed class WebViewSeparateProcessLostEventArgs
}
namespace Windows.UI.Xaml.Controls.Maps {
  public sealed class MapControl : Control {
    string Region { get; set; }
    public static DependencyProperty RegionProperty { get; }
  }
  public class MapElement : DependencyObject {
    bool IsEnabled { get; set; }
    public static DependencyProperty IsEnabledProperty { get; }
  }
}
namespace Windows.UI.Xaml.Controls.Primitives {
  public sealed class AppBarButtonTemplateSettings : DependencyObject
  public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
  public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Documents {
  public sealed class ContactContentLinkProvider : ContentLinkProvider
  public sealed class ContentLink : Inline
  public sealed class ContentLinkInvokedEventArgs
  public class ContentLinkProvider : DependencyObject
  public sealed class ContentLinkProviderCollection : IIterable<ContentLinkProvider>, IVector<ContentLinkProvider>
  public sealed class PlaceContentLinkProvider : ContentLinkProvider
}
namespace Windows.UI.Xaml.Input {
  public sealed class FocusManager {
    public static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject element, FocusState value);
    public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
    public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
  }
  public sealed class FocusMovementResult
  public sealed class GettingFocusEventArgs : RoutedEventArgs {
    bool TryCancel();
    bool TrySetNewFocusedElement(DependencyObject element);
  }
  public sealed class KeyboardAcceleratorInvokedEventArgs {
    KeyboardAccelerator KeyboardAccelerator { get; }
  }
  public enum KeyboardAcceleratorPlacementMode
  public sealed class LosingFocusEventArgs : RoutedEventArgs {
    bool TryCancel();
    bool TrySetNewFocusedElement(DependencyObject element);
  }
}
namespace Windows.UI.Xaml.Media {
  public sealed class CompositionTarget {
    public static event EventHandler<RenderedEventArgs> Rendered;
  }
  public sealed class RenderedEventArgs
}
namespace Windows.Web.UI {
  public interface IWebViewControl
  public sealed class WebViewControlContentLoadingEventArgs
  public sealed class WebViewControlDeferredPermissionRequest
  public sealed class WebViewControlDOMContentLoadedEventArgs
  public sealed class WebViewControlLongRunningScriptDetectedEventArgs
  public sealed class WebViewControlNavigationCompletedEventArgs
  public sealed class WebViewControlNavigationStartingEventArgs
  public sealed class WebViewControlNewWindowRequestedEventArgs
  public sealed class WebViewControlPermissionRequest
  public sealed class WebViewControlPermissionRequestedEventArgs
  public enum WebViewControlPermissionState
  public enum WebViewControlPermissionType
  public sealed class WebViewControlScriptNotifyEventArgs
  public sealed class WebViewControlSettings
  public sealed class WebViewControlUnsupportedUriSchemeIdentifiedEventArgs
  public sealed class WebViewControlUnviewableContentIdentifiedEventArgs
  public sealed class WebViewControlWebResourceRequestedEventArgs
}
namespace Windows.Web.UI.Interop {
  public sealed class WebViewControl : IWebViewControl
  public sealed class WebViewControlAcceleratorKeyPressedEventArgs
  public enum WebViewControlAcceleratorKeyRoutingStage
  public enum WebViewControlMoveFocusReason
  public sealed class WebViewControlMoveFocusRequestedEventArgs
  public sealed class WebViewControlProcess
  public enum WebViewControlProcessCapabilityState
  public sealed class WebViewControlProcessOptions
}
 

The post Windows 10 SDK Preview Build 17125 appeared first on Windows Developer Blog.

Viewing all 10804 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>