summaryrefslogtreecommitdiffstats
path: root/build/rust/windows
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--build/rust/windows-sys/Cargo.toml232
-rw-r--r--build/rust/windows-sys/lib.rs5
-rw-r--r--build/rust/windows-targets-0.48/Cargo.toml11
-rw-r--r--build/rust/windows-targets-0.48/lib.rs5
-rw-r--r--build/rust/windows-targets/Cargo.toml13
-rw-r--r--build/rust/windows-targets/lib.rs86
-rw-r--r--build/rust/windows/Cargo.toml736
-rw-r--r--build/rust/windows/src/lib.rs24
8 files changed, 1112 insertions, 0 deletions
diff --git a/build/rust/windows-sys/Cargo.toml b/build/rust/windows-sys/Cargo.toml
new file mode 100644
index 0000000000..b668eb5f7f
--- /dev/null
+++ b/build/rust/windows-sys/Cargo.toml
@@ -0,0 +1,232 @@
+[package]
+name = "windows-sys"
+version = "0.48.999"
+edition = "2018"
+license = "MPL-2.0"
+
+[lib]
+path = "lib.rs"
+
+[dependencies.windows-sys]
+version = "0.52"
+default-features = false
+
+[features]
+Wdk = ["windows-sys/Wdk"]
+Wdk_System = ["windows-sys/Wdk_System"]
+Wdk_System_OfflineRegistry = ["windows-sys/Wdk_System_OfflineRegistry"]
+Win32 = ["windows-sys/Win32"]
+Win32_Data = ["windows-sys/Win32_Data"]
+Win32_Data_HtmlHelp = ["windows-sys/Win32_Data_HtmlHelp"]
+Win32_Data_RightsManagement = ["windows-sys/Win32_Data_RightsManagement"]
+Win32_Devices = ["windows-sys/Win32_Devices"]
+Win32_Devices_AllJoyn = ["windows-sys/Win32_Devices_AllJoyn"]
+Win32_Devices_BiometricFramework = ["windows-sys/Win32_Devices_BiometricFramework"]
+Win32_Devices_Bluetooth = ["windows-sys/Win32_Devices_Bluetooth"]
+Win32_Devices_Communication = ["windows-sys/Win32_Devices_Communication"]
+Win32_Devices_DeviceAndDriverInstallation = ["windows-sys/Win32_Devices_DeviceAndDriverInstallation"]
+Win32_Devices_DeviceQuery = ["windows-sys/Win32_Devices_DeviceQuery"]
+Win32_Devices_Display = ["windows-sys/Win32_Devices_Display"]
+Win32_Devices_Enumeration = ["windows-sys/Win32_Devices_Enumeration"]
+Win32_Devices_Enumeration_Pnp = ["windows-sys/Win32_Devices_Enumeration_Pnp"]
+Win32_Devices_Fax = ["windows-sys/Win32_Devices_Fax"]
+Win32_Devices_HumanInterfaceDevice = ["windows-sys/Win32_Devices_HumanInterfaceDevice"]
+Win32_Devices_PortableDevices = ["windows-sys/Win32_Devices_PortableDevices"]
+Win32_Devices_Properties = ["windows-sys/Win32_Devices_Properties"]
+Win32_Devices_Pwm = ["windows-sys/Win32_Devices_Pwm"]
+Win32_Devices_Sensors = ["windows-sys/Win32_Devices_Sensors"]
+Win32_Devices_SerialCommunication = ["windows-sys/Win32_Devices_SerialCommunication"]
+Win32_Devices_Tapi = ["windows-sys/Win32_Devices_Tapi"]
+Win32_Devices_Usb = ["windows-sys/Win32_Devices_Usb"]
+Win32_Devices_WebServicesOnDevices = ["windows-sys/Win32_Devices_WebServicesOnDevices"]
+Win32_Foundation = ["windows-sys/Win32_Foundation"]
+Win32_Gaming = ["windows-sys/Win32_Gaming"]
+Win32_Globalization = ["windows-sys/Win32_Globalization"]
+Win32_Graphics = ["windows-sys/Win32_Graphics"]
+Win32_Graphics_Dwm = ["windows-sys/Win32_Graphics_Dwm"]
+Win32_Graphics_Gdi = ["windows-sys/Win32_Graphics_Gdi"]
+Win32_Graphics_Hlsl = ["windows-sys/Win32_Graphics_Hlsl"]
+Win32_Graphics_OpenGL = ["windows-sys/Win32_Graphics_OpenGL"]
+Win32_Graphics_Printing = ["windows-sys/Win32_Graphics_Printing"]
+Win32_Graphics_Printing_PrintTicket = ["windows-sys/Win32_Graphics_Printing_PrintTicket"]
+Win32_Management = ["windows-sys/Win32_Management"]
+Win32_Management_MobileDeviceManagementRegistration = ["windows-sys/Win32_Management_MobileDeviceManagementRegistration"]
+Win32_Media = ["windows-sys/Win32_Media"]
+Win32_Media_Audio = ["windows-sys/Win32_Media_Audio"]
+Win32_Media_DxMediaObjects = ["windows-sys/Win32_Media_DxMediaObjects"]
+Win32_Media_KernelStreaming = ["windows-sys/Win32_Media_KernelStreaming"]
+Win32_Media_Multimedia = ["windows-sys/Win32_Media_Multimedia"]
+Win32_Media_Streaming = ["windows-sys/Win32_Media_Streaming"]
+Win32_Media_WindowsMediaFormat = ["windows-sys/Win32_Media_WindowsMediaFormat"]
+Win32_NetworkManagement = ["windows-sys/Win32_NetworkManagement"]
+Win32_NetworkManagement_Dhcp = ["windows-sys/Win32_NetworkManagement_Dhcp"]
+Win32_NetworkManagement_Dns = ["windows-sys/Win32_NetworkManagement_Dns"]
+Win32_NetworkManagement_InternetConnectionWizard = ["windows-sys/Win32_NetworkManagement_InternetConnectionWizard"]
+Win32_NetworkManagement_IpHelper = ["windows-sys/Win32_NetworkManagement_IpHelper"]
+Win32_NetworkManagement_Multicast = ["windows-sys/Win32_NetworkManagement_Multicast"]
+Win32_NetworkManagement_Ndis = ["windows-sys/Win32_NetworkManagement_Ndis"]
+Win32_NetworkManagement_NetBios = ["windows-sys/Win32_NetworkManagement_NetBios"]
+Win32_NetworkManagement_NetManagement = ["windows-sys/Win32_NetworkManagement_NetManagement"]
+Win32_NetworkManagement_NetShell = ["windows-sys/Win32_NetworkManagement_NetShell"]
+Win32_NetworkManagement_NetworkDiagnosticsFramework = ["windows-sys/Win32_NetworkManagement_NetworkDiagnosticsFramework"]
+Win32_NetworkManagement_P2P = ["windows-sys/Win32_NetworkManagement_P2P"]
+Win32_NetworkManagement_QoS = ["windows-sys/Win32_NetworkManagement_QoS"]
+Win32_NetworkManagement_Rras = ["windows-sys/Win32_NetworkManagement_Rras"]
+Win32_NetworkManagement_Snmp = ["windows-sys/Win32_NetworkManagement_Snmp"]
+Win32_NetworkManagement_WNet = ["windows-sys/Win32_NetworkManagement_WNet"]
+Win32_NetworkManagement_WebDav = ["windows-sys/Win32_NetworkManagement_WebDav"]
+Win32_NetworkManagement_WiFi = ["windows-sys/Win32_NetworkManagement_WiFi"]
+Win32_NetworkManagement_WindowsConnectionManager = ["windows-sys/Win32_NetworkManagement_WindowsConnectionManager"]
+Win32_NetworkManagement_WindowsFilteringPlatform = ["windows-sys/Win32_NetworkManagement_WindowsFilteringPlatform"]
+Win32_NetworkManagement_WindowsFirewall = ["windows-sys/Win32_NetworkManagement_WindowsFirewall"]
+Win32_NetworkManagement_WindowsNetworkVirtualization = ["windows-sys/Win32_NetworkManagement_WindowsNetworkVirtualization"]
+Win32_Networking = ["windows-sys/Win32_Networking"]
+Win32_Networking_ActiveDirectory = ["windows-sys/Win32_Networking_ActiveDirectory"]
+Win32_Networking_Clustering = ["windows-sys/Win32_Networking_Clustering"]
+Win32_Networking_HttpServer = ["windows-sys/Win32_Networking_HttpServer"]
+Win32_Networking_Ldap = ["windows-sys/Win32_Networking_Ldap"]
+Win32_Networking_WebSocket = ["windows-sys/Win32_Networking_WebSocket"]
+Win32_Networking_WinHttp = ["windows-sys/Win32_Networking_WinHttp"]
+Win32_Networking_WinInet = ["windows-sys/Win32_Networking_WinInet"]
+Win32_Networking_WinSock = ["windows-sys/Win32_Networking_WinSock"]
+Win32_Networking_WindowsWebServices = ["windows-sys/Win32_Networking_WindowsWebServices"]
+Win32_Security = ["windows-sys/Win32_Security"]
+Win32_Security_AppLocker = ["windows-sys/Win32_Security_AppLocker"]
+Win32_Security_Authentication = ["windows-sys/Win32_Security_Authentication"]
+Win32_Security_Authentication_Identity = ["windows-sys/Win32_Security_Authentication_Identity"]
+Win32_Security_Authorization = ["windows-sys/Win32_Security_Authorization"]
+Win32_Security_Credentials = ["windows-sys/Win32_Security_Credentials"]
+Win32_Security_Cryptography = ["windows-sys/Win32_Security_Cryptography"]
+Win32_Security_Cryptography_Catalog = ["windows-sys/Win32_Security_Cryptography_Catalog"]
+Win32_Security_Cryptography_Certificates = ["windows-sys/Win32_Security_Cryptography_Certificates"]
+Win32_Security_Cryptography_Sip = ["windows-sys/Win32_Security_Cryptography_Sip"]
+Win32_Security_Cryptography_UI = ["windows-sys/Win32_Security_Cryptography_UI"]
+Win32_Security_DiagnosticDataQuery = ["windows-sys/Win32_Security_DiagnosticDataQuery"]
+Win32_Security_DirectoryServices = ["windows-sys/Win32_Security_DirectoryServices"]
+Win32_Security_EnterpriseData = ["windows-sys/Win32_Security_EnterpriseData"]
+Win32_Security_ExtensibleAuthenticationProtocol = ["windows-sys/Win32_Security_ExtensibleAuthenticationProtocol"]
+Win32_Security_Isolation = ["windows-sys/Win32_Security_Isolation"]
+Win32_Security_LicenseProtection = ["windows-sys/Win32_Security_LicenseProtection"]
+Win32_Security_NetworkAccessProtection = ["windows-sys/Win32_Security_NetworkAccessProtection"]
+Win32_Security_WinTrust = ["windows-sys/Win32_Security_WinTrust"]
+Win32_Security_WinWlx = ["windows-sys/Win32_Security_WinWlx"]
+Win32_Storage = ["windows-sys/Win32_Storage"]
+Win32_Storage_Cabinets = ["windows-sys/Win32_Storage_Cabinets"]
+Win32_Storage_CloudFilters = ["windows-sys/Win32_Storage_CloudFilters"]
+Win32_Storage_Compression = ["windows-sys/Win32_Storage_Compression"]
+Win32_Storage_DistributedFileSystem = ["windows-sys/Win32_Storage_DistributedFileSystem"]
+Win32_Storage_FileHistory = ["windows-sys/Win32_Storage_FileHistory"]
+Win32_Storage_FileSystem = ["windows-sys/Win32_Storage_FileSystem"]
+Win32_Storage_Imapi = ["windows-sys/Win32_Storage_Imapi"]
+Win32_Storage_IndexServer = ["windows-sys/Win32_Storage_IndexServer"]
+Win32_Storage_InstallableFileSystems = ["windows-sys/Win32_Storage_InstallableFileSystems"]
+Win32_Storage_IscsiDisc = ["windows-sys/Win32_Storage_IscsiDisc"]
+Win32_Storage_Jet = ["windows-sys/Win32_Storage_Jet"]
+Win32_Storage_OfflineFiles = ["windows-sys/Win32_Storage_OfflineFiles"]
+Win32_Storage_OperationRecorder = ["windows-sys/Win32_Storage_OperationRecorder"]
+Win32_Storage_Packaging = ["windows-sys/Win32_Storage_Packaging"]
+Win32_Storage_Packaging_Appx = ["windows-sys/Win32_Storage_Packaging_Appx"]
+Win32_Storage_ProjectedFileSystem = ["windows-sys/Win32_Storage_ProjectedFileSystem"]
+Win32_Storage_StructuredStorage = ["windows-sys/Win32_Storage_StructuredStorage"]
+Win32_Storage_Vhd = ["windows-sys/Win32_Storage_Vhd"]
+Win32_Storage_Xps = ["windows-sys/Win32_Storage_Xps"]
+Win32_System = ["windows-sys/Win32_System"]
+Win32_System_AddressBook = ["windows-sys/Win32_System_AddressBook"]
+Win32_System_Antimalware = ["windows-sys/Win32_System_Antimalware"]
+Win32_System_ApplicationInstallationAndServicing = ["windows-sys/Win32_System_ApplicationInstallationAndServicing"]
+Win32_System_ApplicationVerifier = ["windows-sys/Win32_System_ApplicationVerifier"]
+Win32_System_ClrHosting = ["windows-sys/Win32_System_ClrHosting"]
+Win32_System_Com = ["windows-sys/Win32_System_Com"]
+Win32_System_Com_Marshal = ["windows-sys/Win32_System_Com_Marshal"]
+Win32_System_Com_StructuredStorage = ["windows-sys/Win32_System_Com_StructuredStorage"]
+Win32_System_Com_Urlmon = ["windows-sys/Win32_System_Com_Urlmon"]
+Win32_System_ComponentServices = ["windows-sys/Win32_System_ComponentServices"]
+Win32_System_Console = ["windows-sys/Win32_System_Console"]
+Win32_System_CorrelationVector = ["windows-sys/Win32_System_CorrelationVector"]
+Win32_System_DataExchange = ["windows-sys/Win32_System_DataExchange"]
+Win32_System_DeploymentServices = ["windows-sys/Win32_System_DeploymentServices"]
+Win32_System_DeveloperLicensing = ["windows-sys/Win32_System_DeveloperLicensing"]
+Win32_System_Diagnostics = ["windows-sys/Win32_System_Diagnostics"]
+Win32_System_Diagnostics_Ceip = ["windows-sys/Win32_System_Diagnostics_Ceip"]
+Win32_System_Diagnostics_Debug = ["windows-sys/Win32_System_Diagnostics_Debug"]
+Win32_System_Diagnostics_Debug_Extensions = ["windows-sys/Win32_System_Diagnostics_Debug_Extensions"]
+Win32_System_Diagnostics_Etw = ["windows-sys/Win32_System_Diagnostics_Etw"]
+Win32_System_Diagnostics_ProcessSnapshotting = ["windows-sys/Win32_System_Diagnostics_ProcessSnapshotting"]
+Win32_System_Diagnostics_ToolHelp = ["windows-sys/Win32_System_Diagnostics_ToolHelp"]
+Win32_System_DistributedTransactionCoordinator = ["windows-sys/Win32_System_DistributedTransactionCoordinator"]
+Win32_System_Environment = ["windows-sys/Win32_System_Environment"]
+Win32_System_ErrorReporting = ["windows-sys/Win32_System_ErrorReporting"]
+Win32_System_EventCollector = ["windows-sys/Win32_System_EventCollector"]
+Win32_System_EventLog = ["windows-sys/Win32_System_EventLog"]
+Win32_System_EventNotificationService = ["windows-sys/Win32_System_EventNotificationService"]
+Win32_System_GroupPolicy = ["windows-sys/Win32_System_GroupPolicy"]
+Win32_System_HostCompute = ["windows-sys/Win32_System_HostCompute"]
+Win32_System_HostComputeNetwork = ["windows-sys/Win32_System_HostComputeNetwork"]
+Win32_System_HostComputeSystem = ["windows-sys/Win32_System_HostComputeSystem"]
+Win32_System_Hypervisor = ["windows-sys/Win32_System_Hypervisor"]
+Win32_System_IO = ["windows-sys/Win32_System_IO"]
+Win32_System_Iis = ["windows-sys/Win32_System_Iis"]
+Win32_System_Ioctl = ["windows-sys/Win32_System_Ioctl"]
+Win32_System_JobObjects = ["windows-sys/Win32_System_JobObjects"]
+Win32_System_Js = ["windows-sys/Win32_System_Js"]
+Win32_System_Kernel = ["windows-sys/Win32_System_Kernel"]
+Win32_System_LibraryLoader = ["windows-sys/Win32_System_LibraryLoader"]
+Win32_System_Mailslots = ["windows-sys/Win32_System_Mailslots"]
+Win32_System_Mapi = ["windows-sys/Win32_System_Mapi"]
+Win32_System_Memory = ["windows-sys/Win32_System_Memory"]
+Win32_System_Memory_NonVolatile = ["windows-sys/Win32_System_Memory_NonVolatile"]
+Win32_System_MessageQueuing = ["windows-sys/Win32_System_MessageQueuing"]
+Win32_System_MixedReality = ["windows-sys/Win32_System_MixedReality"]
+Win32_System_Ole = ["windows-sys/Win32_System_Ole"]
+Win32_System_PasswordManagement = ["windows-sys/Win32_System_PasswordManagement"]
+Win32_System_Performance = ["windows-sys/Win32_System_Performance"]
+Win32_System_Performance_HardwareCounterProfiling = ["windows-sys/Win32_System_Performance_HardwareCounterProfiling"]
+Win32_System_Pipes = ["windows-sys/Win32_System_Pipes"]
+Win32_System_Power = ["windows-sys/Win32_System_Power"]
+Win32_System_ProcessStatus = ["windows-sys/Win32_System_ProcessStatus"]
+Win32_System_Recovery = ["windows-sys/Win32_System_Recovery"]
+Win32_System_Registry = ["windows-sys/Win32_System_Registry"]
+Win32_System_RemoteDesktop = ["windows-sys/Win32_System_RemoteDesktop"]
+Win32_System_RemoteManagement = ["windows-sys/Win32_System_RemoteManagement"]
+Win32_System_RestartManager = ["windows-sys/Win32_System_RestartManager"]
+Win32_System_Restore = ["windows-sys/Win32_System_Restore"]
+Win32_System_Rpc = ["windows-sys/Win32_System_Rpc"]
+Win32_System_Search = ["windows-sys/Win32_System_Search"]
+Win32_System_Search_Common = ["windows-sys/Win32_System_Search_Common"]
+Win32_System_SecurityCenter = ["windows-sys/Win32_System_SecurityCenter"]
+Win32_System_Services = ["windows-sys/Win32_System_Services"]
+Win32_System_SetupAndMigration = ["windows-sys/Win32_System_SetupAndMigration"]
+Win32_System_Shutdown = ["windows-sys/Win32_System_Shutdown"]
+Win32_System_StationsAndDesktops = ["windows-sys/Win32_System_StationsAndDesktops"]
+Win32_System_SubsystemForLinux = ["windows-sys/Win32_System_SubsystemForLinux"]
+Win32_System_SystemInformation = ["windows-sys/Win32_System_SystemInformation"]
+Win32_System_SystemServices = ["windows-sys/Win32_System_SystemServices"]
+Win32_System_Threading = ["windows-sys/Win32_System_Threading"]
+Win32_System_Time = ["windows-sys/Win32_System_Time"]
+Win32_System_TpmBaseServices = ["windows-sys/Win32_System_TpmBaseServices"]
+Win32_System_UserAccessLogging = ["windows-sys/Win32_System_UserAccessLogging"]
+Win32_System_VirtualDosMachines = ["windows-sys/Win32_System_VirtualDosMachines"]
+Win32_System_WindowsProgramming = ["windows-sys/Win32_System_WindowsProgramming"]
+Win32_System_Wmi = ["windows-sys/Win32_System_Wmi"]
+Win32_UI = ["windows-sys/Win32_UI"]
+Win32_UI_Accessibility = ["windows-sys/Win32_UI_Accessibility"]
+Win32_UI_ColorSystem = ["windows-sys/Win32_UI_ColorSystem"]
+Win32_UI_Controls = ["windows-sys/Win32_UI_Controls"]
+Win32_UI_Controls_Dialogs = ["windows-sys/Win32_UI_Controls_Dialogs"]
+Win32_UI_HiDpi = ["windows-sys/Win32_UI_HiDpi"]
+Win32_UI_Input = ["windows-sys/Win32_UI_Input"]
+Win32_UI_Input_Ime = ["windows-sys/Win32_UI_Input_Ime"]
+Win32_UI_Input_KeyboardAndMouse = ["windows-sys/Win32_UI_Input_KeyboardAndMouse"]
+Win32_UI_Input_Pointer = ["windows-sys/Win32_UI_Input_Pointer"]
+Win32_UI_Input_Touch = ["windows-sys/Win32_UI_Input_Touch"]
+Win32_UI_Input_XboxController = ["windows-sys/Win32_UI_Input_XboxController"]
+Win32_UI_InteractionContext = ["windows-sys/Win32_UI_InteractionContext"]
+Win32_UI_Magnification = ["windows-sys/Win32_UI_Magnification"]
+Win32_UI_Shell = ["windows-sys/Win32_UI_Shell"]
+Win32_UI_Shell_PropertiesSystem = ["windows-sys/Win32_UI_Shell_PropertiesSystem"]
+Win32_UI_TabletPC = ["windows-sys/Win32_UI_TabletPC"]
+Win32_UI_TextServices = ["windows-sys/Win32_UI_TextServices"]
+Win32_UI_WindowsAndMessaging = ["windows-sys/Win32_UI_WindowsAndMessaging"]
+Win32_Web = ["windows-sys/Win32_Web"]
+Win32_Web_InternetExplorer = ["windows-sys/Win32_Web_InternetExplorer"]
+default = ["windows-sys/default"]
diff --git a/build/rust/windows-sys/lib.rs b/build/rust/windows-sys/lib.rs
new file mode 100644
index 0000000000..15c89411fe
--- /dev/null
+++ b/build/rust/windows-sys/lib.rs
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+pub use windows_sys::*;
diff --git a/build/rust/windows-targets-0.48/Cargo.toml b/build/rust/windows-targets-0.48/Cargo.toml
new file mode 100644
index 0000000000..2649448d0a
--- /dev/null
+++ b/build/rust/windows-targets-0.48/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "windows-targets"
+version = "0.48.999"
+edition = "2018"
+license = "MPL-2.0"
+
+[lib]
+path = "lib.rs"
+
+[dependencies.windows-targets]
+version = "0.52"
diff --git a/build/rust/windows-targets-0.48/lib.rs b/build/rust/windows-targets-0.48/lib.rs
new file mode 100644
index 0000000000..d3fd808887
--- /dev/null
+++ b/build/rust/windows-targets-0.48/lib.rs
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+pub use windows_targets::*;
diff --git a/build/rust/windows-targets/Cargo.toml b/build/rust/windows-targets/Cargo.toml
new file mode 100644
index 0000000000..5d3f665d7b
--- /dev/null
+++ b/build/rust/windows-targets/Cargo.toml
@@ -0,0 +1,13 @@
+[package]
+name = "windows-targets"
+version = "0.52.999"
+edition = "2018"
+license = "MIT OR Apache-2.0"
+
+[lib]
+proc-macro = true
+path = "lib.rs"
+
+[dependencies]
+syn = { version = "2", features = ["full"] }
+quote = "1"
diff --git a/build/rust/windows-targets/lib.rs b/build/rust/windows-targets/lib.rs
new file mode 100644
index 0000000000..439bc46946
--- /dev/null
+++ b/build/rust/windows-targets/lib.rs
@@ -0,0 +1,86 @@
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use proc_macro::TokenStream;
+use quote::quote;
+use syn::parse::{Parse, ParseStream, Result};
+use syn::{parse_macro_input, Attribute, LitStr, Signature};
+
+/* Proc macro equivalent to the following rust macro:
+ * ```
+ * macro_rules! link {
+ * ($library:literal $abi:literal $($link_name:literal)? $(#[$($doc:tt)*])* fn $name:ident($($arg:ident: $argty:ty),*)->$ret:ty) => (
+ * extern $abi {
+ * #[link(name = $library)]
+ * $(#[link_name=$link_name])?
+ * pub fn $name($($arg: $argty),*) -> $ret;
+ * }
+ * )
+ * }
+ * ```
+ * with the additional feature of removing ".dll" from the $library literal.
+ *
+ * The macro is derived from the equivalent macro in the real windows-targets crate,
+ * with the difference that it uses #[link] with the name of the library rather than
+ * a single "windows.$version" library, so as to avoid having to vendor all the fake
+ * "windows.$version" import libraries. We can do that because we also require MSVC
+ * to build, so we do have the real import libraries available.
+ *
+ * As the library name is there in the original for raw-dylib support, it contains
+ * a suffixed name, but plain #[link] expects a non-suffixed name, which is why we
+ * remove the suffix (and why this had to be a proc-macro).
+ *
+ * Once raw-dylib is more widely available and tested, we'll be able to use the
+ * raw-dylib variants directly.
+ */
+
+struct LinkMacroInput {
+ library: LitStr,
+ abi: LitStr,
+ link_name: Option<LitStr>,
+ function: Signature,
+}
+
+impl Parse for LinkMacroInput {
+ fn parse(input: ParseStream) -> Result<Self> {
+ let library: LitStr = input.parse()?;
+ let abi: LitStr = input.parse()?;
+ let link_name: Option<LitStr> = input.parse().ok();
+ let _doc_comments = Attribute::parse_outer(input)?;
+ let function: Signature = input.parse()?;
+ Ok(LinkMacroInput {
+ library,
+ abi,
+ link_name,
+ function,
+ })
+ }
+}
+
+#[proc_macro]
+pub fn link(input: TokenStream) -> TokenStream {
+ let LinkMacroInput {
+ library,
+ abi,
+ link_name,
+ function,
+ } = parse_macro_input!(input as LinkMacroInput);
+
+ let link_name_attr = link_name.map(|lit| quote! { #[link_name = #lit] });
+
+ let library = library.value();
+ let library = library.strip_suffix(".dll").unwrap_or(&library);
+
+ let generated = quote! {
+ extern #abi {
+ #[link(name = #library)]
+ #link_name_attr
+ pub #function;
+ }
+ };
+
+ TokenStream::from(generated)
+}
diff --git a/build/rust/windows/Cargo.toml b/build/rust/windows/Cargo.toml
new file mode 100644
index 0000000000..491a053d53
--- /dev/null
+++ b/build/rust/windows/Cargo.toml
@@ -0,0 +1,736 @@
+# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
+#
+# When uploading crates to the registry Cargo will automatically
+# "normalize" Cargo.toml files for maximal compatibility
+# with all versions of Cargo and also rewrite `path` dependencies
+# to registry (e.g., crates.io) dependencies.
+#
+# If you are reading this file be aware that the original Cargo.toml
+# will likely look very different (and much more reasonable).
+# See Cargo.toml.orig for the original contents.
+
+[package]
+edition = "2021"
+rust-version = "1.56"
+name = "windows"
+version = "0.52.0"
+authors = ["Microsoft"]
+description = "Rust for Windows"
+documentation = "https://microsoft.github.io/windows-docs-rs/"
+readme = "readme.md"
+categories = ["os::windows-apis"]
+license = "MIT OR Apache-2.0"
+repository = "https://github.com/microsoft/windows-rs"
+
+[package.metadata.docs.rs]
+default-target = "x86_64-pc-windows-msvc"
+rustdoc-args = [
+ "--cfg",
+ "docsrs",
+]
+targets = []
+
+[dependencies.windows-core]
+version = "0.52.0"
+
+[dependencies.windows-implement]
+version = "0.52.0"
+optional = true
+
+[dependencies.windows-interface]
+version = "0.52.0"
+optional = true
+
+[dependencies.windows-targets]
+version = "0.52.0"
+
+[features]
+AI = []
+AI_MachineLearning = ["AI"]
+ApplicationModel = []
+ApplicationModel_Activation = ["ApplicationModel"]
+ApplicationModel_AppExtensions = ["ApplicationModel"]
+ApplicationModel_AppService = ["ApplicationModel"]
+ApplicationModel_Appointments = ["ApplicationModel"]
+ApplicationModel_Appointments_AppointmentsProvider = ["ApplicationModel_Appointments"]
+ApplicationModel_Appointments_DataProvider = ["ApplicationModel_Appointments"]
+ApplicationModel_Background = ["ApplicationModel"]
+ApplicationModel_Calls = ["ApplicationModel"]
+ApplicationModel_Calls_Background = ["ApplicationModel_Calls"]
+ApplicationModel_Calls_Provider = ["ApplicationModel_Calls"]
+ApplicationModel_Chat = ["ApplicationModel"]
+ApplicationModel_CommunicationBlocking = ["ApplicationModel"]
+ApplicationModel_Contacts = ["ApplicationModel"]
+ApplicationModel_Contacts_DataProvider = ["ApplicationModel_Contacts"]
+ApplicationModel_Contacts_Provider = ["ApplicationModel_Contacts"]
+ApplicationModel_ConversationalAgent = ["ApplicationModel"]
+ApplicationModel_Core = ["ApplicationModel"]
+ApplicationModel_DataTransfer = ["ApplicationModel"]
+ApplicationModel_DataTransfer_DragDrop = ["ApplicationModel_DataTransfer"]
+ApplicationModel_DataTransfer_DragDrop_Core = ["ApplicationModel_DataTransfer_DragDrop"]
+ApplicationModel_DataTransfer_ShareTarget = ["ApplicationModel_DataTransfer"]
+ApplicationModel_Email = ["ApplicationModel"]
+ApplicationModel_Email_DataProvider = ["ApplicationModel_Email"]
+ApplicationModel_ExtendedExecution = ["ApplicationModel"]
+ApplicationModel_ExtendedExecution_Foreground = ["ApplicationModel_ExtendedExecution"]
+ApplicationModel_Holographic = ["ApplicationModel"]
+ApplicationModel_LockScreen = ["ApplicationModel"]
+ApplicationModel_Payments = ["ApplicationModel"]
+ApplicationModel_Payments_Provider = ["ApplicationModel_Payments"]
+ApplicationModel_Preview = ["ApplicationModel"]
+ApplicationModel_Preview_Holographic = ["ApplicationModel_Preview"]
+ApplicationModel_Preview_InkWorkspace = ["ApplicationModel_Preview"]
+ApplicationModel_Preview_Notes = ["ApplicationModel_Preview"]
+ApplicationModel_Resources = ["ApplicationModel"]
+ApplicationModel_Resources_Core = ["ApplicationModel_Resources"]
+ApplicationModel_Resources_Management = ["ApplicationModel_Resources"]
+ApplicationModel_Search = ["ApplicationModel"]
+ApplicationModel_Search_Core = ["ApplicationModel_Search"]
+ApplicationModel_Store = ["ApplicationModel"]
+ApplicationModel_Store_LicenseManagement = ["ApplicationModel_Store"]
+ApplicationModel_Store_Preview = ["ApplicationModel_Store"]
+ApplicationModel_Store_Preview_InstallControl = ["ApplicationModel_Store_Preview"]
+ApplicationModel_UserActivities = ["ApplicationModel"]
+ApplicationModel_UserActivities_Core = ["ApplicationModel_UserActivities"]
+ApplicationModel_UserDataAccounts = ["ApplicationModel"]
+ApplicationModel_UserDataAccounts_Provider = ["ApplicationModel_UserDataAccounts"]
+ApplicationModel_UserDataAccounts_SystemAccess = ["ApplicationModel_UserDataAccounts"]
+ApplicationModel_UserDataTasks = ["ApplicationModel"]
+ApplicationModel_UserDataTasks_DataProvider = ["ApplicationModel_UserDataTasks"]
+ApplicationModel_VoiceCommands = ["ApplicationModel"]
+ApplicationModel_Wallet = ["ApplicationModel"]
+ApplicationModel_Wallet_System = ["ApplicationModel_Wallet"]
+Data = []
+Data_Html = ["Data"]
+Data_Json = ["Data"]
+Data_Pdf = ["Data"]
+Data_Text = ["Data"]
+Data_Xml = ["Data"]
+Data_Xml_Dom = ["Data_Xml"]
+Data_Xml_Xsl = ["Data_Xml"]
+Devices = []
+Devices_Adc = ["Devices"]
+Devices_Adc_Provider = ["Devices_Adc"]
+Devices_Background = ["Devices"]
+Devices_Bluetooth = ["Devices"]
+Devices_Bluetooth_Advertisement = ["Devices_Bluetooth"]
+Devices_Bluetooth_Background = ["Devices_Bluetooth"]
+Devices_Bluetooth_GenericAttributeProfile = ["Devices_Bluetooth"]
+Devices_Bluetooth_Rfcomm = ["Devices_Bluetooth"]
+Devices_Custom = ["Devices"]
+Devices_Display = ["Devices"]
+Devices_Display_Core = ["Devices_Display"]
+Devices_Enumeration = ["Devices"]
+Devices_Enumeration_Pnp = ["Devices_Enumeration"]
+Devices_Geolocation = ["Devices"]
+Devices_Geolocation_Geofencing = ["Devices_Geolocation"]
+Devices_Geolocation_Provider = ["Devices_Geolocation"]
+Devices_Gpio = ["Devices"]
+Devices_Gpio_Provider = ["Devices_Gpio"]
+Devices_Haptics = ["Devices"]
+Devices_HumanInterfaceDevice = ["Devices"]
+Devices_I2c = ["Devices"]
+Devices_I2c_Provider = ["Devices_I2c"]
+Devices_Input = ["Devices"]
+Devices_Input_Preview = ["Devices_Input"]
+Devices_Lights = ["Devices"]
+Devices_Lights_Effects = ["Devices_Lights"]
+Devices_Midi = ["Devices"]
+Devices_PointOfService = ["Devices"]
+Devices_PointOfService_Provider = ["Devices_PointOfService"]
+Devices_Portable = ["Devices"]
+Devices_Power = ["Devices"]
+Devices_Printers = ["Devices"]
+Devices_Printers_Extensions = ["Devices_Printers"]
+Devices_Pwm = ["Devices"]
+Devices_Pwm_Provider = ["Devices_Pwm"]
+Devices_Radios = ["Devices"]
+Devices_Scanners = ["Devices"]
+Devices_Sensors = ["Devices"]
+Devices_Sensors_Custom = ["Devices_Sensors"]
+Devices_SerialCommunication = ["Devices"]
+Devices_SmartCards = ["Devices"]
+Devices_Sms = ["Devices"]
+Devices_Spi = ["Devices"]
+Devices_Spi_Provider = ["Devices_Spi"]
+Devices_Usb = ["Devices"]
+Devices_WiFi = ["Devices"]
+Devices_WiFiDirect = ["Devices"]
+Devices_WiFiDirect_Services = ["Devices_WiFiDirect"]
+Embedded = []
+Embedded_DeviceLockdown = ["Embedded"]
+Foundation = []
+Foundation_Collections = ["Foundation"]
+Foundation_Diagnostics = ["Foundation"]
+Foundation_Metadata = ["Foundation"]
+Foundation_Numerics = ["Foundation"]
+Gaming = []
+Gaming_Input = ["Gaming"]
+Gaming_Input_Custom = ["Gaming_Input"]
+Gaming_Input_ForceFeedback = ["Gaming_Input"]
+Gaming_Input_Preview = ["Gaming_Input"]
+Gaming_Preview = ["Gaming"]
+Gaming_Preview_GamesEnumeration = ["Gaming_Preview"]
+Gaming_UI = ["Gaming"]
+Gaming_XboxLive = ["Gaming"]
+Gaming_XboxLive_Storage = ["Gaming_XboxLive"]
+Globalization = []
+Globalization_Collation = ["Globalization"]
+Globalization_DateTimeFormatting = ["Globalization"]
+Globalization_Fonts = ["Globalization"]
+Globalization_NumberFormatting = ["Globalization"]
+Globalization_PhoneNumberFormatting = ["Globalization"]
+Graphics = []
+Graphics_Capture = ["Graphics"]
+Graphics_DirectX = ["Graphics"]
+Graphics_DirectX_Direct3D11 = ["Graphics_DirectX"]
+Graphics_Display = ["Graphics"]
+Graphics_Display_Core = ["Graphics_Display"]
+Graphics_Effects = ["Graphics"]
+Graphics_Holographic = ["Graphics"]
+Graphics_Imaging = ["Graphics"]
+Graphics_Printing = ["Graphics"]
+Graphics_Printing3D = ["Graphics"]
+Graphics_Printing_OptionDetails = ["Graphics_Printing"]
+Graphics_Printing_PrintSupport = ["Graphics_Printing"]
+Graphics_Printing_PrintTicket = ["Graphics_Printing"]
+Graphics_Printing_Workflow = ["Graphics_Printing"]
+Management = []
+Management_Core = ["Management"]
+Management_Deployment = ["Management"]
+Management_Deployment_Preview = ["Management_Deployment"]
+Management_Policies = ["Management"]
+Management_Update = ["Management"]
+Management_Workplace = ["Management"]
+Media = []
+Media_AppBroadcasting = ["Media"]
+Media_AppRecording = ["Media"]
+Media_Audio = ["Media"]
+Media_Capture = ["Media"]
+Media_Capture_Core = ["Media_Capture"]
+Media_Capture_Frames = ["Media_Capture"]
+Media_Casting = ["Media"]
+Media_ClosedCaptioning = ["Media"]
+Media_ContentRestrictions = ["Media"]
+Media_Control = ["Media"]
+Media_Core = ["Media"]
+Media_Core_Preview = ["Media_Core"]
+Media_Devices = ["Media"]
+Media_Devices_Core = ["Media_Devices"]
+Media_DialProtocol = ["Media"]
+Media_Editing = ["Media"]
+Media_Effects = ["Media"]
+Media_FaceAnalysis = ["Media"]
+Media_Import = ["Media"]
+Media_MediaProperties = ["Media"]
+Media_Miracast = ["Media"]
+Media_Ocr = ["Media"]
+Media_PlayTo = ["Media"]
+Media_Playback = ["Media"]
+Media_Playlists = ["Media"]
+Media_Protection = ["Media"]
+Media_Protection_PlayReady = ["Media_Protection"]
+Media_Render = ["Media"]
+Media_SpeechRecognition = ["Media"]
+Media_SpeechSynthesis = ["Media"]
+Media_Streaming = ["Media"]
+Media_Streaming_Adaptive = ["Media_Streaming"]
+Media_Transcoding = ["Media"]
+Networking = []
+Networking_BackgroundTransfer = ["Networking"]
+Networking_Connectivity = ["Networking"]
+Networking_NetworkOperators = ["Networking"]
+Networking_Proximity = ["Networking"]
+Networking_PushNotifications = ["Networking"]
+Networking_ServiceDiscovery = ["Networking"]
+Networking_ServiceDiscovery_Dnssd = ["Networking_ServiceDiscovery"]
+Networking_Sockets = ["Networking"]
+Networking_Vpn = ["Networking"]
+Networking_XboxLive = ["Networking"]
+Perception = []
+Perception_Automation = ["Perception"]
+Perception_Automation_Core = ["Perception_Automation"]
+Perception_People = ["Perception"]
+Perception_Spatial = ["Perception"]
+Perception_Spatial_Preview = ["Perception_Spatial"]
+Perception_Spatial_Surfaces = ["Perception_Spatial"]
+Phone = []
+Phone_ApplicationModel = ["Phone"]
+Phone_Devices = ["Phone"]
+Phone_Devices_Notification = ["Phone_Devices"]
+Phone_Devices_Power = ["Phone_Devices"]
+Phone_Management = ["Phone"]
+Phone_Management_Deployment = ["Phone_Management"]
+Phone_Media = ["Phone"]
+Phone_Media_Devices = ["Phone_Media"]
+Phone_Notification = ["Phone"]
+Phone_Notification_Management = ["Phone_Notification"]
+Phone_PersonalInformation = ["Phone"]
+Phone_PersonalInformation_Provisioning = ["Phone_PersonalInformation"]
+Phone_Speech = ["Phone"]
+Phone_Speech_Recognition = ["Phone_Speech"]
+Phone_StartScreen = ["Phone"]
+Phone_System = ["Phone"]
+Phone_System_Power = ["Phone_System"]
+Phone_System_Profile = ["Phone_System"]
+Phone_System_UserProfile = ["Phone_System"]
+Phone_System_UserProfile_GameServices = ["Phone_System_UserProfile"]
+Phone_System_UserProfile_GameServices_Core = ["Phone_System_UserProfile_GameServices"]
+Phone_UI = ["Phone"]
+Phone_UI_Input = ["Phone_UI"]
+Security = []
+Security_Authentication = ["Security"]
+Security_Authentication_Identity = ["Security_Authentication"]
+Security_Authentication_Identity_Core = ["Security_Authentication_Identity"]
+Security_Authentication_OnlineId = ["Security_Authentication"]
+Security_Authentication_Web = ["Security_Authentication"]
+Security_Authentication_Web_Core = ["Security_Authentication_Web"]
+Security_Authentication_Web_Provider = ["Security_Authentication_Web"]
+Security_Authorization = ["Security"]
+Security_Authorization_AppCapabilityAccess = ["Security_Authorization"]
+Security_Credentials = ["Security"]
+Security_Credentials_UI = ["Security_Credentials"]
+Security_Cryptography = ["Security"]
+Security_Cryptography_Certificates = ["Security_Cryptography"]
+Security_Cryptography_Core = ["Security_Cryptography"]
+Security_Cryptography_DataProtection = ["Security_Cryptography"]
+Security_DataProtection = ["Security"]
+Security_EnterpriseData = ["Security"]
+Security_ExchangeActiveSyncProvisioning = ["Security"]
+Security_Isolation = ["Security"]
+Services = []
+Services_Maps = ["Services"]
+Services_Maps_Guidance = ["Services_Maps"]
+Services_Maps_LocalSearch = ["Services_Maps"]
+Services_Maps_OfflineMaps = ["Services_Maps"]
+Services_Store = ["Services"]
+Services_TargetedContent = ["Services"]
+Storage = []
+Storage_AccessCache = ["Storage"]
+Storage_BulkAccess = ["Storage"]
+Storage_Compression = ["Storage"]
+Storage_FileProperties = ["Storage"]
+Storage_Pickers = ["Storage"]
+Storage_Pickers_Provider = ["Storage_Pickers"]
+Storage_Provider = ["Storage"]
+Storage_Search = ["Storage"]
+Storage_Streams = ["Storage"]
+System = []
+System_Diagnostics = ["System"]
+System_Diagnostics_DevicePortal = ["System_Diagnostics"]
+System_Diagnostics_Telemetry = ["System_Diagnostics"]
+System_Diagnostics_TraceReporting = ["System_Diagnostics"]
+System_Display = ["System"]
+System_Implementation = ["System"]
+System_Implementation_FileExplorer = ["System_Implementation"]
+System_Inventory = ["System"]
+System_Power = ["System"]
+System_Profile = ["System"]
+System_Profile_SystemManufacturers = ["System_Profile"]
+System_RemoteDesktop = ["System"]
+System_RemoteDesktop_Input = ["System_RemoteDesktop"]
+System_RemoteSystems = ["System"]
+System_Threading = ["System"]
+System_Threading_Core = ["System_Threading"]
+System_Update = ["System"]
+System_UserProfile = ["System"]
+UI = []
+UI_Accessibility = ["UI"]
+UI_ApplicationSettings = ["UI"]
+UI_Composition = ["UI"]
+UI_Composition_Core = ["UI_Composition"]
+UI_Composition_Desktop = ["UI_Composition"]
+UI_Composition_Diagnostics = ["UI_Composition"]
+UI_Composition_Effects = ["UI_Composition"]
+UI_Composition_Interactions = ["UI_Composition"]
+UI_Composition_Scenes = ["UI_Composition"]
+UI_Core = ["UI"]
+UI_Core_AnimationMetrics = ["UI_Core"]
+UI_Core_Preview = ["UI_Core"]
+UI_Input = ["UI"]
+UI_Input_Core = ["UI_Input"]
+UI_Input_Inking = ["UI_Input"]
+UI_Input_Inking_Analysis = ["UI_Input_Inking"]
+UI_Input_Inking_Core = ["UI_Input_Inking"]
+UI_Input_Inking_Preview = ["UI_Input_Inking"]
+UI_Input_Preview = ["UI_Input"]
+UI_Input_Preview_Injection = ["UI_Input_Preview"]
+UI_Input_Spatial = ["UI_Input"]
+UI_Notifications = ["UI"]
+UI_Notifications_Management = ["UI_Notifications"]
+UI_Popups = ["UI"]
+UI_Shell = ["UI"]
+UI_StartScreen = ["UI"]
+UI_Text = ["UI"]
+UI_Text_Core = ["UI_Text"]
+UI_UIAutomation = ["UI"]
+UI_UIAutomation_Core = ["UI_UIAutomation"]
+UI_ViewManagement = ["UI"]
+UI_ViewManagement_Core = ["UI_ViewManagement"]
+UI_WebUI = ["UI"]
+UI_WebUI_Core = ["UI_WebUI"]
+UI_WindowManagement = ["UI"]
+UI_WindowManagement_Preview = ["UI_WindowManagement"]
+Wdk = []
+Wdk_Foundation = ["Wdk"]
+Wdk_Graphics = ["Wdk"]
+Wdk_Graphics_Direct3D = ["Wdk_Graphics"]
+Wdk_Storage = ["Wdk"]
+Wdk_Storage_FileSystem = ["Wdk_Storage"]
+Wdk_Storage_FileSystem_Minifilters = ["Wdk_Storage_FileSystem"]
+Wdk_System = ["Wdk"]
+Wdk_System_IO = ["Wdk_System"]
+Wdk_System_OfflineRegistry = ["Wdk_System"]
+Wdk_System_Registry = ["Wdk_System"]
+Wdk_System_SystemInformation = ["Wdk_System"]
+Wdk_System_SystemServices = ["Wdk_System"]
+Wdk_System_Threading = ["Wdk_System"]
+Web = []
+Web_AtomPub = ["Web"]
+Web_Http = ["Web"]
+Web_Http_Diagnostics = ["Web_Http"]
+Web_Http_Filters = ["Web_Http"]
+Web_Http_Headers = ["Web_Http"]
+Web_Syndication = ["Web"]
+Web_UI = ["Web"]
+Web_UI_Interop = ["Web_UI"]
+Win32 = []
+Win32_AI = ["Win32"]
+Win32_AI_MachineLearning = ["Win32_AI"]
+Win32_AI_MachineLearning_DirectML = ["Win32_AI_MachineLearning"]
+Win32_AI_MachineLearning_WinML = ["Win32_AI_MachineLearning"]
+Win32_Data = ["Win32"]
+Win32_Data_HtmlHelp = ["Win32_Data"]
+Win32_Data_RightsManagement = ["Win32_Data"]
+Win32_Data_Xml = ["Win32_Data"]
+Win32_Data_Xml_MsXml = ["Win32_Data_Xml"]
+Win32_Data_Xml_XmlLite = ["Win32_Data_Xml"]
+Win32_Devices = ["Win32"]
+Win32_Devices_AllJoyn = ["Win32_Devices"]
+Win32_Devices_BiometricFramework = ["Win32_Devices"]
+Win32_Devices_Bluetooth = ["Win32_Devices"]
+Win32_Devices_Communication = ["Win32_Devices"]
+Win32_Devices_DeviceAccess = ["Win32_Devices"]
+Win32_Devices_DeviceAndDriverInstallation = ["Win32_Devices"]
+Win32_Devices_DeviceQuery = ["Win32_Devices"]
+Win32_Devices_Display = ["Win32_Devices"]
+Win32_Devices_Enumeration = ["Win32_Devices"]
+Win32_Devices_Enumeration_Pnp = ["Win32_Devices_Enumeration"]
+Win32_Devices_Fax = ["Win32_Devices"]
+Win32_Devices_FunctionDiscovery = ["Win32_Devices"]
+Win32_Devices_Geolocation = ["Win32_Devices"]
+Win32_Devices_HumanInterfaceDevice = ["Win32_Devices"]
+Win32_Devices_ImageAcquisition = ["Win32_Devices"]
+Win32_Devices_PortableDevices = ["Win32_Devices"]
+Win32_Devices_Properties = ["Win32_Devices"]
+Win32_Devices_Pwm = ["Win32_Devices"]
+Win32_Devices_Sensors = ["Win32_Devices"]
+Win32_Devices_SerialCommunication = ["Win32_Devices"]
+Win32_Devices_Tapi = ["Win32_Devices"]
+Win32_Devices_Usb = ["Win32_Devices"]
+Win32_Devices_WebServicesOnDevices = ["Win32_Devices"]
+Win32_Foundation = ["Win32"]
+Win32_Gaming = ["Win32"]
+Win32_Globalization = ["Win32"]
+Win32_Graphics = ["Win32"]
+Win32_Graphics_CompositionSwapchain = ["Win32_Graphics"]
+Win32_Graphics_DXCore = ["Win32_Graphics"]
+Win32_Graphics_Direct2D = ["Win32_Graphics"]
+Win32_Graphics_Direct2D_Common = ["Win32_Graphics_Direct2D"]
+Win32_Graphics_Direct3D = ["Win32_Graphics"]
+Win32_Graphics_Direct3D10 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D11 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D11on12 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D12 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D9 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D9on12 = ["Win32_Graphics"]
+Win32_Graphics_Direct3D_Dxc = ["Win32_Graphics_Direct3D"]
+Win32_Graphics_Direct3D_Fxc = ["Win32_Graphics_Direct3D"]
+Win32_Graphics_DirectComposition = ["Win32_Graphics"]
+Win32_Graphics_DirectDraw = ["Win32_Graphics"]
+Win32_Graphics_DirectManipulation = ["Win32_Graphics"]
+Win32_Graphics_DirectWrite = ["Win32_Graphics"]
+Win32_Graphics_Dwm = ["Win32_Graphics"]
+Win32_Graphics_Dxgi = ["Win32_Graphics"]
+Win32_Graphics_Dxgi_Common = ["Win32_Graphics_Dxgi"]
+Win32_Graphics_Gdi = ["Win32_Graphics"]
+Win32_Graphics_GdiPlus = ["Win32_Graphics"]
+Win32_Graphics_Hlsl = ["Win32_Graphics"]
+Win32_Graphics_Imaging = ["Win32_Graphics"]
+Win32_Graphics_Imaging_D2D = ["Win32_Graphics_Imaging"]
+Win32_Graphics_OpenGL = ["Win32_Graphics"]
+Win32_Graphics_Printing = ["Win32_Graphics"]
+Win32_Graphics_Printing_PrintTicket = ["Win32_Graphics_Printing"]
+Win32_Management = ["Win32"]
+Win32_Management_MobileDeviceManagementRegistration = ["Win32_Management"]
+Win32_Media = ["Win32"]
+Win32_Media_Audio = ["Win32_Media"]
+Win32_Media_Audio_Apo = ["Win32_Media_Audio"]
+Win32_Media_Audio_DirectMusic = ["Win32_Media_Audio"]
+Win32_Media_Audio_DirectSound = ["Win32_Media_Audio"]
+Win32_Media_Audio_Endpoints = ["Win32_Media_Audio"]
+Win32_Media_Audio_XAudio2 = ["Win32_Media_Audio"]
+Win32_Media_DeviceManager = ["Win32_Media"]
+Win32_Media_DirectShow = ["Win32_Media"]
+Win32_Media_DirectShow_Tv = ["Win32_Media_DirectShow"]
+Win32_Media_DirectShow_Xml = ["Win32_Media_DirectShow"]
+Win32_Media_DxMediaObjects = ["Win32_Media"]
+Win32_Media_KernelStreaming = ["Win32_Media"]
+Win32_Media_LibrarySharingServices = ["Win32_Media"]
+Win32_Media_MediaFoundation = ["Win32_Media"]
+Win32_Media_MediaPlayer = ["Win32_Media"]
+Win32_Media_Multimedia = ["Win32_Media"]
+Win32_Media_PictureAcquisition = ["Win32_Media"]
+Win32_Media_Speech = ["Win32_Media"]
+Win32_Media_Streaming = ["Win32_Media"]
+Win32_Media_WindowsMediaFormat = ["Win32_Media"]
+Win32_NetworkManagement = ["Win32"]
+Win32_NetworkManagement_Dhcp = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_Dns = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_InternetConnectionWizard = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_IpHelper = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_MobileBroadband = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_Multicast = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_Ndis = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_NetBios = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_NetManagement = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_NetShell = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_NetworkDiagnosticsFramework = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_NetworkPolicyServer = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_P2P = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_QoS = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_Rras = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_Snmp = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WNet = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WebDav = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WiFi = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WindowsConnectNow = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WindowsConnectionManager = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WindowsFilteringPlatform = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WindowsFirewall = ["Win32_NetworkManagement"]
+Win32_NetworkManagement_WindowsNetworkVirtualization = ["Win32_NetworkManagement"]
+Win32_Networking = ["Win32"]
+Win32_Networking_ActiveDirectory = ["Win32_Networking"]
+Win32_Networking_BackgroundIntelligentTransferService = ["Win32_Networking"]
+Win32_Networking_Clustering = ["Win32_Networking"]
+Win32_Networking_HttpServer = ["Win32_Networking"]
+Win32_Networking_Ldap = ["Win32_Networking"]
+Win32_Networking_NetworkListManager = ["Win32_Networking"]
+Win32_Networking_RemoteDifferentialCompression = ["Win32_Networking"]
+Win32_Networking_WebSocket = ["Win32_Networking"]
+Win32_Networking_WinHttp = ["Win32_Networking"]
+Win32_Networking_WinInet = ["Win32_Networking"]
+Win32_Networking_WinSock = ["Win32_Networking"]
+Win32_Networking_WindowsWebServices = ["Win32_Networking"]
+Win32_Security = ["Win32"]
+Win32_Security_AppLocker = ["Win32_Security"]
+Win32_Security_Authentication = ["Win32_Security"]
+Win32_Security_Authentication_Identity = ["Win32_Security_Authentication"]
+Win32_Security_Authentication_Identity_Provider = ["Win32_Security_Authentication_Identity"]
+Win32_Security_Authorization = ["Win32_Security"]
+Win32_Security_Authorization_UI = ["Win32_Security_Authorization"]
+Win32_Security_ConfigurationSnapin = ["Win32_Security"]
+Win32_Security_Credentials = ["Win32_Security"]
+Win32_Security_Cryptography = ["Win32_Security"]
+Win32_Security_Cryptography_Catalog = ["Win32_Security_Cryptography"]
+Win32_Security_Cryptography_Certificates = ["Win32_Security_Cryptography"]
+Win32_Security_Cryptography_Sip = ["Win32_Security_Cryptography"]
+Win32_Security_Cryptography_UI = ["Win32_Security_Cryptography"]
+Win32_Security_DiagnosticDataQuery = ["Win32_Security"]
+Win32_Security_DirectoryServices = ["Win32_Security"]
+Win32_Security_EnterpriseData = ["Win32_Security"]
+Win32_Security_ExtensibleAuthenticationProtocol = ["Win32_Security"]
+Win32_Security_Isolation = ["Win32_Security"]
+Win32_Security_LicenseProtection = ["Win32_Security"]
+Win32_Security_NetworkAccessProtection = ["Win32_Security"]
+Win32_Security_Tpm = ["Win32_Security"]
+Win32_Security_WinTrust = ["Win32_Security"]
+Win32_Security_WinWlx = ["Win32_Security"]
+Win32_Storage = ["Win32"]
+Win32_Storage_Cabinets = ["Win32_Storage"]
+Win32_Storage_CloudFilters = ["Win32_Storage"]
+Win32_Storage_Compression = ["Win32_Storage"]
+Win32_Storage_DataDeduplication = ["Win32_Storage"]
+Win32_Storage_DistributedFileSystem = ["Win32_Storage"]
+Win32_Storage_EnhancedStorage = ["Win32_Storage"]
+Win32_Storage_FileHistory = ["Win32_Storage"]
+Win32_Storage_FileServerResourceManager = ["Win32_Storage"]
+Win32_Storage_FileSystem = ["Win32_Storage"]
+Win32_Storage_Imapi = ["Win32_Storage"]
+Win32_Storage_IndexServer = ["Win32_Storage"]
+Win32_Storage_InstallableFileSystems = ["Win32_Storage"]
+Win32_Storage_IscsiDisc = ["Win32_Storage"]
+Win32_Storage_Jet = ["Win32_Storage"]
+Win32_Storage_Nvme = ["Win32_Storage"]
+Win32_Storage_OfflineFiles = ["Win32_Storage"]
+Win32_Storage_OperationRecorder = ["Win32_Storage"]
+Win32_Storage_Packaging = ["Win32_Storage"]
+Win32_Storage_Packaging_Appx = ["Win32_Storage_Packaging"]
+Win32_Storage_Packaging_Opc = ["Win32_Storage_Packaging"]
+Win32_Storage_ProjectedFileSystem = ["Win32_Storage"]
+Win32_Storage_StructuredStorage = ["Win32_Storage"]
+Win32_Storage_Vhd = ["Win32_Storage"]
+Win32_Storage_VirtualDiskService = ["Win32_Storage"]
+Win32_Storage_Vss = ["Win32_Storage"]
+Win32_Storage_Xps = ["Win32_Storage"]
+Win32_Storage_Xps_Printing = ["Win32_Storage_Xps"]
+Win32_System = ["Win32"]
+Win32_System_AddressBook = ["Win32_System"]
+Win32_System_Antimalware = ["Win32_System"]
+Win32_System_ApplicationInstallationAndServicing = ["Win32_System"]
+Win32_System_ApplicationVerifier = ["Win32_System"]
+Win32_System_AssessmentTool = ["Win32_System"]
+Win32_System_ClrHosting = ["Win32_System"]
+Win32_System_Com = ["Win32_System"]
+Win32_System_Com_CallObj = ["Win32_System_Com"]
+Win32_System_Com_ChannelCredentials = ["Win32_System_Com"]
+Win32_System_Com_Events = ["Win32_System_Com"]
+Win32_System_Com_Marshal = ["Win32_System_Com"]
+Win32_System_Com_StructuredStorage = ["Win32_System_Com"]
+Win32_System_Com_UI = ["Win32_System_Com"]
+Win32_System_Com_Urlmon = ["Win32_System_Com"]
+Win32_System_ComponentServices = ["Win32_System"]
+Win32_System_Console = ["Win32_System"]
+Win32_System_Contacts = ["Win32_System"]
+Win32_System_CorrelationVector = ["Win32_System"]
+Win32_System_DataExchange = ["Win32_System"]
+Win32_System_DeploymentServices = ["Win32_System"]
+Win32_System_DesktopSharing = ["Win32_System"]
+Win32_System_DeveloperLicensing = ["Win32_System"]
+Win32_System_Diagnostics = ["Win32_System"]
+Win32_System_Diagnostics_Ceip = ["Win32_System_Diagnostics"]
+Win32_System_Diagnostics_ClrProfiling = ["Win32_System_Diagnostics"]
+Win32_System_Diagnostics_Debug = ["Win32_System_Diagnostics"]
+Win32_System_Diagnostics_Debug_ActiveScript = ["Win32_System_Diagnostics_Debug"]
+Win32_System_Diagnostics_Debug_Extensions = ["Win32_System_Diagnostics_Debug"]
+Win32_System_Diagnostics_Etw = ["Win32_System_Diagnostics"]
+Win32_System_Diagnostics_ProcessSnapshotting = ["Win32_System_Diagnostics"]
+Win32_System_Diagnostics_ToolHelp = ["Win32_System_Diagnostics"]
+Win32_System_DistributedTransactionCoordinator = ["Win32_System"]
+Win32_System_Environment = ["Win32_System"]
+Win32_System_ErrorReporting = ["Win32_System"]
+Win32_System_EventCollector = ["Win32_System"]
+Win32_System_EventLog = ["Win32_System"]
+Win32_System_EventNotificationService = ["Win32_System"]
+Win32_System_GroupPolicy = ["Win32_System"]
+Win32_System_HostCompute = ["Win32_System"]
+Win32_System_HostComputeNetwork = ["Win32_System"]
+Win32_System_HostComputeSystem = ["Win32_System"]
+Win32_System_Hypervisor = ["Win32_System"]
+Win32_System_IO = ["Win32_System"]
+Win32_System_Iis = ["Win32_System"]
+Win32_System_Ioctl = ["Win32_System"]
+Win32_System_JobObjects = ["Win32_System"]
+Win32_System_Js = ["Win32_System"]
+Win32_System_Kernel = ["Win32_System"]
+Win32_System_LibraryLoader = ["Win32_System"]
+Win32_System_Mailslots = ["Win32_System"]
+Win32_System_Mapi = ["Win32_System"]
+Win32_System_Memory = ["Win32_System"]
+Win32_System_Memory_NonVolatile = ["Win32_System_Memory"]
+Win32_System_MessageQueuing = ["Win32_System"]
+Win32_System_MixedReality = ["Win32_System"]
+Win32_System_Mmc = ["Win32_System"]
+Win32_System_Ole = ["Win32_System"]
+Win32_System_ParentalControls = ["Win32_System"]
+Win32_System_PasswordManagement = ["Win32_System"]
+Win32_System_Performance = ["Win32_System"]
+Win32_System_Performance_HardwareCounterProfiling = ["Win32_System_Performance"]
+Win32_System_Pipes = ["Win32_System"]
+Win32_System_Power = ["Win32_System"]
+Win32_System_ProcessStatus = ["Win32_System"]
+Win32_System_RealTimeCommunications = ["Win32_System"]
+Win32_System_Recovery = ["Win32_System"]
+Win32_System_Registry = ["Win32_System"]
+Win32_System_RemoteAssistance = ["Win32_System"]
+Win32_System_RemoteDesktop = ["Win32_System"]
+Win32_System_RemoteManagement = ["Win32_System"]
+Win32_System_RestartManager = ["Win32_System"]
+Win32_System_Restore = ["Win32_System"]
+Win32_System_Rpc = ["Win32_System"]
+Win32_System_Search = ["Win32_System"]
+Win32_System_Search_Common = ["Win32_System_Search"]
+Win32_System_SecurityCenter = ["Win32_System"]
+Win32_System_ServerBackup = ["Win32_System"]
+Win32_System_Services = ["Win32_System"]
+Win32_System_SettingsManagementInfrastructure = ["Win32_System"]
+Win32_System_SetupAndMigration = ["Win32_System"]
+Win32_System_Shutdown = ["Win32_System"]
+Win32_System_SideShow = ["Win32_System"]
+Win32_System_StationsAndDesktops = ["Win32_System"]
+Win32_System_SubsystemForLinux = ["Win32_System"]
+Win32_System_SystemInformation = ["Win32_System"]
+Win32_System_SystemServices = ["Win32_System"]
+Win32_System_TaskScheduler = ["Win32_System"]
+Win32_System_Threading = ["Win32_System"]
+Win32_System_Time = ["Win32_System"]
+Win32_System_TpmBaseServices = ["Win32_System"]
+Win32_System_TransactionServer = ["Win32_System"]
+Win32_System_UpdateAgent = ["Win32_System"]
+Win32_System_UpdateAssessment = ["Win32_System"]
+Win32_System_UserAccessLogging = ["Win32_System"]
+Win32_System_Variant = ["Win32_System"]
+Win32_System_VirtualDosMachines = ["Win32_System"]
+Win32_System_WinRT = ["Win32_System"]
+Win32_System_WinRT_AllJoyn = ["Win32_System_WinRT"]
+Win32_System_WinRT_Composition = ["Win32_System_WinRT"]
+Win32_System_WinRT_CoreInputView = ["Win32_System_WinRT"]
+Win32_System_WinRT_Direct3D11 = ["Win32_System_WinRT"]
+Win32_System_WinRT_Display = ["Win32_System_WinRT"]
+Win32_System_WinRT_Graphics = ["Win32_System_WinRT"]
+Win32_System_WinRT_Graphics_Capture = ["Win32_System_WinRT_Graphics"]
+Win32_System_WinRT_Graphics_Direct2D = ["Win32_System_WinRT_Graphics"]
+Win32_System_WinRT_Graphics_Imaging = ["Win32_System_WinRT_Graphics"]
+Win32_System_WinRT_Holographic = ["Win32_System_WinRT"]
+Win32_System_WinRT_Isolation = ["Win32_System_WinRT"]
+Win32_System_WinRT_ML = ["Win32_System_WinRT"]
+Win32_System_WinRT_Media = ["Win32_System_WinRT"]
+Win32_System_WinRT_Metadata = ["Win32_System_WinRT"]
+Win32_System_WinRT_Pdf = ["Win32_System_WinRT"]
+Win32_System_WinRT_Printing = ["Win32_System_WinRT"]
+Win32_System_WinRT_Shell = ["Win32_System_WinRT"]
+Win32_System_WinRT_Storage = ["Win32_System_WinRT"]
+Win32_System_WindowsProgramming = ["Win32_System"]
+Win32_System_WindowsSync = ["Win32_System"]
+Win32_System_Wmi = ["Win32_System"]
+Win32_UI = ["Win32"]
+Win32_UI_Accessibility = ["Win32_UI"]
+Win32_UI_Animation = ["Win32_UI"]
+Win32_UI_ColorSystem = ["Win32_UI"]
+Win32_UI_Controls = ["Win32_UI"]
+Win32_UI_Controls_Dialogs = ["Win32_UI_Controls"]
+Win32_UI_Controls_RichEdit = ["Win32_UI_Controls"]
+Win32_UI_HiDpi = ["Win32_UI"]
+Win32_UI_Input = ["Win32_UI"]
+Win32_UI_Input_Ime = ["Win32_UI_Input"]
+Win32_UI_Input_Ink = ["Win32_UI_Input"]
+Win32_UI_Input_KeyboardAndMouse = ["Win32_UI_Input"]
+Win32_UI_Input_Pointer = ["Win32_UI_Input"]
+Win32_UI_Input_Radial = ["Win32_UI_Input"]
+Win32_UI_Input_Touch = ["Win32_UI_Input"]
+Win32_UI_Input_XboxController = ["Win32_UI_Input"]
+Win32_UI_InteractionContext = ["Win32_UI"]
+Win32_UI_LegacyWindowsEnvironmentFeatures = ["Win32_UI"]
+Win32_UI_Magnification = ["Win32_UI"]
+Win32_UI_Notifications = ["Win32_UI"]
+Win32_UI_Ribbon = ["Win32_UI"]
+Win32_UI_Shell = ["Win32_UI"]
+Win32_UI_Shell_Common = ["Win32_UI_Shell"]
+Win32_UI_Shell_PropertiesSystem = ["Win32_UI_Shell"]
+Win32_UI_TabletPC = ["Win32_UI"]
+Win32_UI_TextServices = ["Win32_UI"]
+Win32_UI_WindowsAndMessaging = ["Win32_UI"]
+Win32_UI_Wpf = ["Win32_UI"]
+Win32_Web = ["Win32"]
+Win32_Web_InternetExplorer = ["Win32_Web"]
+default = []
+deprecated = []
+docs = []
+implement = [
+ "windows-implement",
+ "windows-interface",
+ "windows-core/implement",
+]
+
+[dependencies.mozbuild]
+version = "0.1"
diff --git a/build/rust/windows/src/lib.rs b/build/rust/windows/src/lib.rs
new file mode 100644
index 0000000000..9c5c49d089
--- /dev/null
+++ b/build/rust/windows/src/lib.rs
@@ -0,0 +1,24 @@
+#![allow(warnings)]
+#![cfg_attr(docsrs, doc = "This is a stub. The latest API documentation is here: <https://microsoft.github.io/windows-docs-rs/>")]
+#![cfg_attr(docsrs, doc = "")]
+/*!
+Learn more about Rust for Windows here: <https://github.com/microsoft/windows-rs>
+*/
+
+#![doc(html_no_source)]
+#![allow(non_snake_case, clashing_extern_declarations, non_upper_case_globals, non_camel_case_types, clippy::all)]
+#![cfg_attr(not(feature = "docs"), doc(hidden))]
+
+extern crate self as windows;
+
+pub mod core {
+ pub use windows_core::*;
+
+ #[cfg(feature = "implement")]
+ pub use windows_implement::implement;
+
+ #[cfg(feature = "implement")]
+ pub use windows_interface::interface;
+}
+
+include!(mozbuild::windows_rs_path!("src/Windows/mod.rs"));