This commit is contained in:
mscott9437 2022-09-14 11:57:27 -05:00
commit e087854844
1402 changed files with 3140640 additions and 0 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
.vscode
.vs
.windows
target
packages
obj
bin
*.lock
*.user
*.filters
*.bin

14
Cargo.toml Normal file
View File

@ -0,0 +1,14 @@
[package]
name = "cataclysm_engine"
version = "0.1.0"
edition = "2021"
[dependencies.windows]
path = "lib/windows"
features = [
"Win32_Foundation",
"Win32_Security",
"Win32_Storage_FileSystem",
"Win32_System_Threading",
"Win32_System_IO",
]

9
build.rs Normal file
View File

@ -0,0 +1,9 @@
fn main() {
let mut from = std::path::PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap());
from.push("dat");
let mut to = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap());
to.push("dat");
std::fs::copy(from, to).unwrap();
}

View File

@ -0,0 +1,12 @@
[package]
name = "windows_aarch64_gnullvm"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "aarch64-pc-windows-gnullvm" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_aarch64_msvc"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "aarch64-pc-windows-msvc" && target != "aarch64-uwp-windows-msvc" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_i686_gnu"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "i686-pc-windows-gnu" && target != "i686-uwp-windows-gnu" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_i686_msvc"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "i686-pc-windows-msvc" && target != "i686-uwp-windows-msvc" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_x86_64_gnu"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "x86_64-pc-windows-gnu" && target != "x86_64-uwp-windows-gnu" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_x86_64_gnullvm"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "x86_64-pc-windows-gnullvm" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

View File

@ -0,0 +1,12 @@
[package]
name = "windows_x86_64_msvc"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Code gen support for the windows crate"
repository = "https://github.com/microsoft/windows-rs"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []

View File

@ -0,0 +1,10 @@
fn main() {
let target = std::env::var("TARGET").unwrap();
if target != "x86_64-pc-windows-msvc" && target != "x86_64-uwp-windows-msvc" {
return;
}
let dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search=native={}", std::path::Path::new(&dir).join("lib").display());
}

Binary file not shown.

View File

@ -0,0 +1 @@
#![no_std]

726
lib/windows/Cargo.toml Normal file
View File

@ -0,0 +1,726 @@
[package]
name = "windows"
version = "0.39.0"
authors = ["Microsoft"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Rust for Windows"
repository = "https://github.com/microsoft/windows-rs"
documentation = "https://microsoft.github.io/windows-docs-rs/"
#readme = "../../../docs/readme.md"
rust-version = "1.59"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = []
[target.i686-pc-windows-msvc.dependencies]
windows_i686_msvc = { path = "../targets/i686_msvc", version = "0.39.0" }
[target.i686-uwp-windows-msvc.dependencies]
windows_i686_msvc = { path = "../targets/i686_msvc", version = "0.39.0" }
[target.x86_64-pc-windows-msvc.dependencies]
windows_x86_64_msvc = { path = "../targets/x86_64_msvc", version = "0.39.0" }
[target.x86_64-uwp-windows-msvc.dependencies]
windows_x86_64_msvc = { path = "../targets/x86_64_msvc", version = "0.39.0" }
[target.aarch64-pc-windows-msvc.dependencies]
windows_aarch64_msvc = { path = "../targets/aarch64_msvc", version = "0.39.0" }
[target.aarch64-uwp-windows-msvc.dependencies]
windows_aarch64_msvc = { path = "../targets/aarch64_msvc", version = "0.39.0" }
[target.aarch64-pc-windows-gnullvm.dependencies]
windows_aarch64_gnullvm = { path = "../targets/aarch64_gnullvm", version = "0.39.0" }
[target.i686-pc-windows-gnu.dependencies]
windows_i686_gnu = { path = "../targets/i686_gnu", version = "0.39.0" }
[target.i686-uwp-windows-gnu.dependencies]
windows_i686_gnu = { path = "../targets/i686_gnu", version = "0.39.0" }
[target.x86_64-pc-windows-gnu.dependencies]
windows_x86_64_gnu = { path = "../targets/x86_64_gnu", version = "0.39.0" }
[target.x86_64-uwp-windows-gnu.dependencies]
windows_x86_64_gnu = { path = "../targets/x86_64_gnu", version = "0.39.0" }
[target.x86_64-pc-windows-gnullvm.dependencies]
windows_x86_64_gnullvm = { path = "../targets/x86_64_gnullvm", version = "0.39.0" }
[dependencies]
windows-implement = { path = "../implement", version = "0.39.0", optional = true }
windows-interface = { path = "../interface", version = "0.39.0", optional = true }
[features]
default = []
deprecated = []
implement = ["windows-implement"]
interface = ["windows-interface"]
AI = []
AI_MachineLearning = ["AI"]
AI_MachineLearning_Preview = ["AI_MachineLearning"]
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_SocialInfo = ["ApplicationModel"]
ApplicationModel_SocialInfo_Provider = ["ApplicationModel_SocialInfo"]
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_AllJoyn = ["Devices"]
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_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_Perception = ["Devices"]
Devices_Perception_Provider = ["Devices_Perception"]
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_Printing_OptionDetails = ["Graphics_Printing"]
Graphics_Printing_PrintSupport = ["Graphics_Printing"]
Graphics_Printing_PrintTicket = ["Graphics_Printing"]
Graphics_Printing_Workflow = ["Graphics_Printing"]
Graphics_Printing3D = ["Graphics"]
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_Identity_Provider = ["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_Cortana = ["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_Power_Diagnostics = ["System_Power"]
System_Preview = ["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"]
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_Direct3D_Dxc = ["Win32_Graphics_Direct3D"]
Win32_Graphics_Direct3D_Fxc = ["Win32_Graphics_Direct3D"]
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_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_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_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_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_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_Debug = ["Win32_System_Diagnostics"]
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_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_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_UI_Xaml = ["Win32_UI"]
Win32_UI_Xaml_Diagnostics = ["Win32_UI_Xaml"]

View File

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright (c) Microsoft Corporation.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

21
lib/windows/license-mit Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

View File

@ -0,0 +1,74 @@
#[cfg(feature = "deprecated")]
pub trait ILearningModelVariableDescriptorPreview_Impl: Sized {
fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn ModelFeatureKind(&self) -> ::windows::core::Result<LearningModelFeatureKindPreview>;
fn IsRequired(&self) -> ::windows::core::Result<bool>;
}
#[cfg(feature = "deprecated")]
impl ::windows::core::RuntimeName for ILearningModelVariableDescriptorPreview {
const NAME: &'static str = "Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview";
}
#[cfg(feature = "deprecated")]
impl ILearningModelVariableDescriptorPreview_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelVariableDescriptorPreview_Impl, const OFFSET: isize>() -> ILearningModelVariableDescriptorPreview_Vtbl {
unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelVariableDescriptorPreview_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelVariableDescriptorPreview_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Description() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ModelFeatureKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelVariableDescriptorPreview_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut LearningModelFeatureKindPreview) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ModelFeatureKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsRequired<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelVariableDescriptorPreview_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsRequired() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, ILearningModelVariableDescriptorPreview, OFFSET>(),
Name: Name::<Identity, Impl, OFFSET>,
Description: Description::<Identity, Impl, OFFSET>,
ModelFeatureKind: ModelFeatureKind::<Identity, Impl, OFFSET>,
IsRequired: IsRequired::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ILearningModelVariableDescriptorPreview as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,155 @@
pub trait ILearningModelFeatureDescriptor_Impl: Sized {
fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn Kind(&self) -> ::windows::core::Result<LearningModelFeatureKind>;
fn IsRequired(&self) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for ILearningModelFeatureDescriptor {
const NAME: &'static str = "Windows.AI.MachineLearning.ILearningModelFeatureDescriptor";
}
impl ILearningModelFeatureDescriptor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureDescriptor_Impl, const OFFSET: isize>() -> ILearningModelFeatureDescriptor_Vtbl {
unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Description() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Kind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut LearningModelFeatureKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Kind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsRequired<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsRequired() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, ILearningModelFeatureDescriptor, OFFSET>(),
Name: Name::<Identity, Impl, OFFSET>,
Description: Description::<Identity, Impl, OFFSET>,
Kind: Kind::<Identity, Impl, OFFSET>,
IsRequired: IsRequired::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ILearningModelFeatureDescriptor as ::windows::core::Interface>::IID
}
}
pub trait ILearningModelFeatureValue_Impl: Sized {
fn Kind(&self) -> ::windows::core::Result<LearningModelFeatureKind>;
}
impl ::windows::core::RuntimeName for ILearningModelFeatureValue {
const NAME: &'static str = "Windows.AI.MachineLearning.ILearningModelFeatureValue";
}
impl ILearningModelFeatureValue_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureValue_Impl, const OFFSET: isize>() -> ILearningModelFeatureValue_Vtbl {
unsafe extern "system" fn Kind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelFeatureValue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut LearningModelFeatureKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Kind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, ILearningModelFeatureValue, OFFSET>(), Kind: Kind::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ILearningModelFeatureValue as ::windows::core::Interface>::IID
}
}
pub trait ILearningModelOperatorProvider_Impl: Sized {}
impl ::windows::core::RuntimeName for ILearningModelOperatorProvider {
const NAME: &'static str = "Windows.AI.MachineLearning.ILearningModelOperatorProvider";
}
impl ILearningModelOperatorProvider_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILearningModelOperatorProvider_Impl, const OFFSET: isize>() -> ILearningModelOperatorProvider_Vtbl {
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, ILearningModelOperatorProvider, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ILearningModelOperatorProvider as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation_Collections")]
pub trait ITensor_Impl: Sized + ILearningModelFeatureValue_Impl {
fn TensorKind(&self) -> ::windows::core::Result<TensorKind>;
fn Shape(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<i64>>;
}
#[cfg(feature = "Foundation_Collections")]
impl ::windows::core::RuntimeName for ITensor {
const NAME: &'static str = "Windows.AI.MachineLearning.ITensor";
}
#[cfg(feature = "Foundation_Collections")]
impl ITensor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITensor_Impl, const OFFSET: isize>() -> ITensor_Vtbl {
unsafe extern "system" fn TensorKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITensor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut TensorKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TensorKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Shape<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITensor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Shape() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, ITensor, OFFSET>(),
TensorKind: TensorKind::<Identity, Impl, OFFSET>,
Shape: Shape::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ITensor as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,4 @@
#[cfg(feature = "AI_MachineLearning")]
pub mod MachineLearning;
#[cfg(feature = "implement")]
::core::include!("impl.rs");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,925 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtension(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtension {
type Vtable = IAppExtension_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8450902c_15ed_4faf_93ea_2237bbf8cbd6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtension_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Description: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub AppInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub GetExtensionPropertiesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetExtensionPropertiesAsync: usize,
#[cfg(all(feature = "Foundation", feature = "Storage"))]
pub GetPublicFolderAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Storage")))]
GetPublicFolderAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtension2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtension2 {
type Vtable = IAppExtension2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab3b15f0_14f9_4b9f_9419_a349a242ef38);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtension2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppUserModelId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionCatalog(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionCatalog {
type Vtable = IAppExtensionCatalog_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x97872032_8426_4ad1_9084_92e88c2da200);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionCatalog_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation_Collections")]
pub FindAllAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
FindAllAsync: usize,
#[cfg(feature = "Foundation")]
pub RequestRemovePackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, packagefullname: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestRemovePackageAsync: usize,
#[cfg(feature = "Foundation")]
pub PackageInstalled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PackageInstalled: usize,
#[cfg(feature = "Foundation")]
pub RemovePackageInstalled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePackageInstalled: usize,
#[cfg(feature = "Foundation")]
pub PackageUpdating: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PackageUpdating: usize,
#[cfg(feature = "Foundation")]
pub RemovePackageUpdating: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePackageUpdating: usize,
#[cfg(feature = "Foundation")]
pub PackageUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PackageUpdated: usize,
#[cfg(feature = "Foundation")]
pub RemovePackageUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePackageUpdated: usize,
#[cfg(feature = "Foundation")]
pub PackageUninstalling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PackageUninstalling: usize,
#[cfg(feature = "Foundation")]
pub RemovePackageUninstalling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePackageUninstalling: usize,
#[cfg(feature = "Foundation")]
pub PackageStatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PackageStatusChanged: usize,
#[cfg(feature = "Foundation")]
pub RemovePackageStatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePackageStatusChanged: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionCatalogStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionCatalogStatics {
type Vtable = IAppExtensionCatalogStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3c36668a_5f18_4f0b_9ce5_cab61d196f11);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionCatalogStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Open: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appextensionname: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionPackageInstalledEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionPackageInstalledEventArgs {
type Vtable = IAppExtensionPackageInstalledEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x39e59234_3351_4a8d_9745_e7d3dd45bc48);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionPackageInstalledEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppExtensionName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Extensions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Extensions: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionPackageStatusChangedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionPackageStatusChangedEventArgs {
type Vtable = IAppExtensionPackageStatusChangedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1ce17433_1153_44fd_87b1_8ae1050303df);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionPackageStatusChangedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppExtensionName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionPackageUninstallingEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionPackageUninstallingEventArgs {
type Vtable = IAppExtensionPackageUninstallingEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x60f160c5_171e_40ff_ae98_ab2c20dd4d75);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionPackageUninstallingEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppExtensionName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionPackageUpdatedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionPackageUpdatedEventArgs {
type Vtable = IAppExtensionPackageUpdatedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3a83c43f_797e_44b5_ba24_a4c8b5a543d7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionPackageUpdatedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppExtensionName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Extensions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Extensions: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppExtensionPackageUpdatingEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppExtensionPackageUpdatingEventArgs {
type Vtable = IAppExtensionPackageUpdatingEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7ed59329_1a65_4800_a700_b321009e306a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppExtensionPackageUpdatingEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppExtensionName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Package: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtension(::windows::core::IUnknown);
impl AppExtension {
pub fn Id(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Id)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Description)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
pub fn AppInfo(&self) -> ::windows::core::Result<super::AppInfo> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppInfo)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::AppInfo>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetExtensionPropertiesAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IPropertySet>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetExtensionPropertiesAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IPropertySet>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
#[cfg(all(feature = "Foundation", feature = "Storage"))]
pub fn GetPublicFolderAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::StorageFolder>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetPublicFolderAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::StorageFolder>>(result__)
}
}
pub fn AppUserModelId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::Interface::cast::<IAppExtension2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppUserModelId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
}
impl ::core::clone::Clone for AppExtension {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtension {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtension {}
impl ::core::fmt::Debug for AppExtension {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtension").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtension {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtension;{8450902c-15ed-4faf-93ea-2237bbf8cbd6})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtension {
type Vtable = IAppExtension_Vtbl;
const IID: ::windows::core::GUID = <IAppExtension as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtension {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtension";
}
impl ::core::convert::From<AppExtension> for ::windows::core::IUnknown {
fn from(value: AppExtension) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtension> for ::windows::core::IUnknown {
fn from(value: &AppExtension) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtension> for &::windows::core::IUnknown {
fn from(value: &AppExtension) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtension> for ::windows::core::IInspectable {
fn from(value: AppExtension) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtension> for ::windows::core::IInspectable {
fn from(value: &AppExtension) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtension> for &::windows::core::IInspectable {
fn from(value: &AppExtension) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtension {}
unsafe impl ::core::marker::Sync for AppExtension {}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionCatalog(::windows::core::IUnknown);
impl AppExtensionCatalog {
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn FindAllAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<AppExtension>>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).FindAllAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<AppExtension>>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestRemovePackageAsync(&self, packagefullname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestRemovePackageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn PackageInstalled<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<AppExtensionCatalog, AppExtensionPackageInstalledEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PackageInstalled)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemovePackageInstalled(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemovePackageInstalled)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn PackageUpdating<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PackageUpdating)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemovePackageUpdating(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemovePackageUpdating)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn PackageUpdated<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PackageUpdated)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemovePackageUpdated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemovePackageUpdated)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn PackageUninstalling<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUninstallingEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PackageUninstalling)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemovePackageUninstalling(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemovePackageUninstalling)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn PackageStatusChanged<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<AppExtensionCatalog, AppExtensionPackageStatusChangedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PackageStatusChanged)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemovePackageStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemovePackageStatusChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
pub fn Open(appextensionname: &::windows::core::HSTRING) -> ::windows::core::Result<AppExtensionCatalog> {
Self::IAppExtensionCatalogStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Open)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(appextensionname), result__.as_mut_ptr()).from_abi::<AppExtensionCatalog>(result__)
})
}
#[doc(hidden)]
pub fn IAppExtensionCatalogStatics<R, F: FnOnce(&IAppExtensionCatalogStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<AppExtensionCatalog, IAppExtensionCatalogStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for AppExtensionCatalog {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionCatalog {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionCatalog {}
impl ::core::fmt::Debug for AppExtensionCatalog {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionCatalog").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionCatalog {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionCatalog;{97872032-8426-4ad1-9084-92e88c2da200})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionCatalog {
type Vtable = IAppExtensionCatalog_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionCatalog as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionCatalog {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionCatalog";
}
impl ::core::convert::From<AppExtensionCatalog> for ::windows::core::IUnknown {
fn from(value: AppExtensionCatalog) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionCatalog> for ::windows::core::IUnknown {
fn from(value: &AppExtensionCatalog) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionCatalog> for &::windows::core::IUnknown {
fn from(value: &AppExtensionCatalog) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionCatalog> for ::windows::core::IInspectable {
fn from(value: AppExtensionCatalog) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionCatalog> for ::windows::core::IInspectable {
fn from(value: &AppExtensionCatalog) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionCatalog> for &::windows::core::IInspectable {
fn from(value: &AppExtensionCatalog) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionPackageInstalledEventArgs(::windows::core::IUnknown);
impl AppExtensionPackageInstalledEventArgs {
pub fn AppExtensionName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppExtensionName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Extensions(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<AppExtension>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Extensions)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::Collections::IVectorView<AppExtension>>(result__)
}
}
}
impl ::core::clone::Clone for AppExtensionPackageInstalledEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionPackageInstalledEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionPackageInstalledEventArgs {}
impl ::core::fmt::Debug for AppExtensionPackageInstalledEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionPackageInstalledEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionPackageInstalledEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionPackageInstalledEventArgs;{39e59234-3351-4a8d-9745-e7d3dd45bc48})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionPackageInstalledEventArgs {
type Vtable = IAppExtensionPackageInstalledEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionPackageInstalledEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionPackageInstalledEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionPackageInstalledEventArgs";
}
impl ::core::convert::From<AppExtensionPackageInstalledEventArgs> for ::windows::core::IUnknown {
fn from(value: AppExtensionPackageInstalledEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageInstalledEventArgs> for ::windows::core::IUnknown {
fn from(value: &AppExtensionPackageInstalledEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageInstalledEventArgs> for &::windows::core::IUnknown {
fn from(value: &AppExtensionPackageInstalledEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionPackageInstalledEventArgs> for ::windows::core::IInspectable {
fn from(value: AppExtensionPackageInstalledEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageInstalledEventArgs> for ::windows::core::IInspectable {
fn from(value: &AppExtensionPackageInstalledEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageInstalledEventArgs> for &::windows::core::IInspectable {
fn from(value: &AppExtensionPackageInstalledEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtensionPackageInstalledEventArgs {}
unsafe impl ::core::marker::Sync for AppExtensionPackageInstalledEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionPackageStatusChangedEventArgs(::windows::core::IUnknown);
impl AppExtensionPackageStatusChangedEventArgs {
pub fn AppExtensionName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppExtensionName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
}
impl ::core::clone::Clone for AppExtensionPackageStatusChangedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionPackageStatusChangedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionPackageStatusChangedEventArgs {}
impl ::core::fmt::Debug for AppExtensionPackageStatusChangedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionPackageStatusChangedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionPackageStatusChangedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionPackageStatusChangedEventArgs;{1ce17433-1153-44fd-87b1-8ae1050303df})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionPackageStatusChangedEventArgs {
type Vtable = IAppExtensionPackageStatusChangedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionPackageStatusChangedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionPackageStatusChangedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionPackageStatusChangedEventArgs";
}
impl ::core::convert::From<AppExtensionPackageStatusChangedEventArgs> for ::windows::core::IUnknown {
fn from(value: AppExtensionPackageStatusChangedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageStatusChangedEventArgs> for ::windows::core::IUnknown {
fn from(value: &AppExtensionPackageStatusChangedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageStatusChangedEventArgs> for &::windows::core::IUnknown {
fn from(value: &AppExtensionPackageStatusChangedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionPackageStatusChangedEventArgs> for ::windows::core::IInspectable {
fn from(value: AppExtensionPackageStatusChangedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageStatusChangedEventArgs> for ::windows::core::IInspectable {
fn from(value: &AppExtensionPackageStatusChangedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageStatusChangedEventArgs> for &::windows::core::IInspectable {
fn from(value: &AppExtensionPackageStatusChangedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtensionPackageStatusChangedEventArgs {}
unsafe impl ::core::marker::Sync for AppExtensionPackageStatusChangedEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionPackageUninstallingEventArgs(::windows::core::IUnknown);
impl AppExtensionPackageUninstallingEventArgs {
pub fn AppExtensionName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppExtensionName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
}
impl ::core::clone::Clone for AppExtensionPackageUninstallingEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionPackageUninstallingEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionPackageUninstallingEventArgs {}
impl ::core::fmt::Debug for AppExtensionPackageUninstallingEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionPackageUninstallingEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionPackageUninstallingEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionPackageUninstallingEventArgs;{60f160c5-171e-40ff-ae98-ab2c20dd4d75})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionPackageUninstallingEventArgs {
type Vtable = IAppExtensionPackageUninstallingEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionPackageUninstallingEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionPackageUninstallingEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionPackageUninstallingEventArgs";
}
impl ::core::convert::From<AppExtensionPackageUninstallingEventArgs> for ::windows::core::IUnknown {
fn from(value: AppExtensionPackageUninstallingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUninstallingEventArgs> for ::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUninstallingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUninstallingEventArgs> for &::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUninstallingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionPackageUninstallingEventArgs> for ::windows::core::IInspectable {
fn from(value: AppExtensionPackageUninstallingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUninstallingEventArgs> for ::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUninstallingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUninstallingEventArgs> for &::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUninstallingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtensionPackageUninstallingEventArgs {}
unsafe impl ::core::marker::Sync for AppExtensionPackageUninstallingEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionPackageUpdatedEventArgs(::windows::core::IUnknown);
impl AppExtensionPackageUpdatedEventArgs {
pub fn AppExtensionName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppExtensionName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Extensions(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<AppExtension>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Extensions)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::Collections::IVectorView<AppExtension>>(result__)
}
}
}
impl ::core::clone::Clone for AppExtensionPackageUpdatedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionPackageUpdatedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionPackageUpdatedEventArgs {}
impl ::core::fmt::Debug for AppExtensionPackageUpdatedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionPackageUpdatedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionPackageUpdatedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionPackageUpdatedEventArgs;{3a83c43f-797e-44b5-ba24-a4c8b5a543d7})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionPackageUpdatedEventArgs {
type Vtable = IAppExtensionPackageUpdatedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionPackageUpdatedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionPackageUpdatedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionPackageUpdatedEventArgs";
}
impl ::core::convert::From<AppExtensionPackageUpdatedEventArgs> for ::windows::core::IUnknown {
fn from(value: AppExtensionPackageUpdatedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatedEventArgs> for ::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUpdatedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatedEventArgs> for &::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUpdatedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionPackageUpdatedEventArgs> for ::windows::core::IInspectable {
fn from(value: AppExtensionPackageUpdatedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatedEventArgs> for ::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUpdatedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatedEventArgs> for &::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUpdatedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtensionPackageUpdatedEventArgs {}
unsafe impl ::core::marker::Sync for AppExtensionPackageUpdatedEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_AppExtensions\"`*"]
#[repr(transparent)]
pub struct AppExtensionPackageUpdatingEventArgs(::windows::core::IUnknown);
impl AppExtensionPackageUpdatingEventArgs {
pub fn AppExtensionName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppExtensionName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Package(&self) -> ::windows::core::Result<super::Package> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Package)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Package>(result__)
}
}
}
impl ::core::clone::Clone for AppExtensionPackageUpdatingEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AppExtensionPackageUpdatingEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AppExtensionPackageUpdatingEventArgs {}
impl ::core::fmt::Debug for AppExtensionPackageUpdatingEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AppExtensionPackageUpdatingEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AppExtensionPackageUpdatingEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppExtensions.AppExtensionPackageUpdatingEventArgs;{7ed59329-1a65-4800-a700-b321009e306a})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AppExtensionPackageUpdatingEventArgs {
type Vtable = IAppExtensionPackageUpdatingEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IAppExtensionPackageUpdatingEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AppExtensionPackageUpdatingEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.AppExtensions.AppExtensionPackageUpdatingEventArgs";
}
impl ::core::convert::From<AppExtensionPackageUpdatingEventArgs> for ::windows::core::IUnknown {
fn from(value: AppExtensionPackageUpdatingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatingEventArgs> for ::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUpdatingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatingEventArgs> for &::windows::core::IUnknown {
fn from(value: &AppExtensionPackageUpdatingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AppExtensionPackageUpdatingEventArgs> for ::windows::core::IInspectable {
fn from(value: AppExtensionPackageUpdatingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatingEventArgs> for ::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUpdatingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AppExtensionPackageUpdatingEventArgs> for &::windows::core::IInspectable {
fn from(value: &AppExtensionPackageUpdatingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AppExtensionPackageUpdatingEventArgs {}
unsafe impl ::core::marker::Sync for AppExtensionPackageUpdatingEventArgs {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1 @@

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,457 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IAddAppointmentOperation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAddAppointmentOperation {
type Vtable = IAddAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xec4a9af3_620d_4c69_add7_9794e918081f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAddAppointmentOperation_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppointmentInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SourcePackageFamilyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, itemid: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReportCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub DismissUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppointmentsProviderLaunchActionVerbsStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppointmentsProviderLaunchActionVerbsStatics {
type Vtable = IAppointmentsProviderLaunchActionVerbsStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36dbba28_9e2e_49c6_8ef7_3ab7a5dcc8b8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppointmentsProviderLaunchActionVerbsStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AddAppointment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReplaceAppointment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub RemoveAppointment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ShowTimeFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IAppointmentsProviderLaunchActionVerbsStatics2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IAppointmentsProviderLaunchActionVerbsStatics2 {
type Vtable = IAppointmentsProviderLaunchActionVerbsStatics2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xef9049a4_af21_473c_88dc_76cd89f60ca5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppointmentsProviderLaunchActionVerbsStatics2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub ShowAppointmentDetails: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IRemoveAppointmentOperation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IRemoveAppointmentOperation {
type Vtable = IRemoveAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x08b66aba_fe33_46cd_a50c_a8ffb3260537);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRemoveAppointmentOperation_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppointmentId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub InstanceStartDate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
InstanceStartDate: usize,
pub SourcePackageFamilyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub DismissUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IReplaceAppointmentOperation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IReplaceAppointmentOperation {
type Vtable = IReplaceAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf4903d9b_9e61_4de2_a732_2687c07d1de8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IReplaceAppointmentOperation_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AppointmentId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub AppointmentInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub InstanceStartDate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
InstanceStartDate: usize,
pub SourcePackageFamilyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, itemid: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ReportCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub DismissUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_Appointments_AppointmentsProvider\"`*"]
#[repr(transparent)]
pub struct AddAppointmentOperation(::windows::core::IUnknown);
impl AddAppointmentOperation {
pub fn AppointmentInformation(&self) -> ::windows::core::Result<super::Appointment> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppointmentInformation)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Appointment>(result__)
}
}
pub fn SourcePackageFamilyName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SourcePackageFamilyName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn ReportCompleted(&self, itemid: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(itemid)).ok() }
}
pub fn ReportCanceled(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCanceled)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportError(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn DismissUI(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).DismissUI)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for AddAppointmentOperation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for AddAppointmentOperation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for AddAppointmentOperation {}
impl ::core::fmt::Debug for AddAppointmentOperation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AddAppointmentOperation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AddAppointmentOperation {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Appointments.AppointmentsProvider.AddAppointmentOperation;{ec4a9af3-620d-4c69-add7-9794e918081f})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for AddAppointmentOperation {
type Vtable = IAddAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = <IAddAppointmentOperation as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for AddAppointmentOperation {
const NAME: &'static str = "Windows.ApplicationModel.Appointments.AppointmentsProvider.AddAppointmentOperation";
}
impl ::core::convert::From<AddAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: AddAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AddAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: &AddAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AddAppointmentOperation> for &::windows::core::IUnknown {
fn from(value: &AddAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<AddAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: AddAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&AddAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: &AddAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&AddAppointmentOperation> for &::windows::core::IInspectable {
fn from(value: &AddAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for AddAppointmentOperation {}
unsafe impl ::core::marker::Sync for AddAppointmentOperation {}
#[doc = "*Required features: `\"ApplicationModel_Appointments_AppointmentsProvider\"`*"]
pub struct AppointmentsProviderLaunchActionVerbs;
impl AppointmentsProviderLaunchActionVerbs {
pub fn AddAppointment() -> ::windows::core::Result<::windows::core::HSTRING> {
Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AddAppointment)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
})
}
pub fn ReplaceAppointment() -> ::windows::core::Result<::windows::core::HSTRING> {
Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ReplaceAppointment)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
})
}
pub fn RemoveAppointment() -> ::windows::core::Result<::windows::core::HSTRING> {
Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RemoveAppointment)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
})
}
pub fn ShowTimeFrame() -> ::windows::core::Result<::windows::core::HSTRING> {
Self::IAppointmentsProviderLaunchActionVerbsStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ShowTimeFrame)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
})
}
pub fn ShowAppointmentDetails() -> ::windows::core::Result<::windows::core::HSTRING> {
Self::IAppointmentsProviderLaunchActionVerbsStatics2(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ShowAppointmentDetails)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
})
}
#[doc(hidden)]
pub fn IAppointmentsProviderLaunchActionVerbsStatics<R, F: FnOnce(&IAppointmentsProviderLaunchActionVerbsStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<AppointmentsProviderLaunchActionVerbs, IAppointmentsProviderLaunchActionVerbsStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IAppointmentsProviderLaunchActionVerbsStatics2<R, F: FnOnce(&IAppointmentsProviderLaunchActionVerbsStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<AppointmentsProviderLaunchActionVerbs, IAppointmentsProviderLaunchActionVerbsStatics2> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows::core::RuntimeName for AppointmentsProviderLaunchActionVerbs {
const NAME: &'static str = "Windows.ApplicationModel.Appointments.AppointmentsProvider.AppointmentsProviderLaunchActionVerbs";
}
#[doc = "*Required features: `\"ApplicationModel_Appointments_AppointmentsProvider\"`*"]
#[repr(transparent)]
pub struct RemoveAppointmentOperation(::windows::core::IUnknown);
impl RemoveAppointmentOperation {
pub fn AppointmentId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppointmentId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn InstanceStartDate(&self) -> ::windows::core::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).InstanceStartDate)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>>(result__)
}
}
pub fn SourcePackageFamilyName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SourcePackageFamilyName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportCanceled(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCanceled)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportError(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn DismissUI(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).DismissUI)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for RemoveAppointmentOperation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for RemoveAppointmentOperation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for RemoveAppointmentOperation {}
impl ::core::fmt::Debug for RemoveAppointmentOperation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("RemoveAppointmentOperation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for RemoveAppointmentOperation {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Appointments.AppointmentsProvider.RemoveAppointmentOperation;{08b66aba-fe33-46cd-a50c-a8ffb3260537})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for RemoveAppointmentOperation {
type Vtable = IRemoveAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = <IRemoveAppointmentOperation as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for RemoveAppointmentOperation {
const NAME: &'static str = "Windows.ApplicationModel.Appointments.AppointmentsProvider.RemoveAppointmentOperation";
}
impl ::core::convert::From<RemoveAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: RemoveAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&RemoveAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: &RemoveAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&RemoveAppointmentOperation> for &::windows::core::IUnknown {
fn from(value: &RemoveAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<RemoveAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: RemoveAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&RemoveAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: &RemoveAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&RemoveAppointmentOperation> for &::windows::core::IInspectable {
fn from(value: &RemoveAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for RemoveAppointmentOperation {}
unsafe impl ::core::marker::Sync for RemoveAppointmentOperation {}
#[doc = "*Required features: `\"ApplicationModel_Appointments_AppointmentsProvider\"`*"]
#[repr(transparent)]
pub struct ReplaceAppointmentOperation(::windows::core::IUnknown);
impl ReplaceAppointmentOperation {
pub fn AppointmentId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppointmentId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn AppointmentInformation(&self) -> ::windows::core::Result<super::Appointment> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AppointmentInformation)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::Appointment>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn InstanceStartDate(&self) -> ::windows::core::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).InstanceStartDate)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IReference<super::super::super::Foundation::DateTime>>(result__)
}
}
pub fn SourcePackageFamilyName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SourcePackageFamilyName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn ReportCompleted(&self, itemid: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(itemid)).ok() }
}
pub fn ReportCanceled(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCanceled)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportError(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn DismissUI(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).DismissUI)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for ReplaceAppointmentOperation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ReplaceAppointmentOperation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ReplaceAppointmentOperation {}
impl ::core::fmt::Debug for ReplaceAppointmentOperation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ReplaceAppointmentOperation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ReplaceAppointmentOperation {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Appointments.AppointmentsProvider.ReplaceAppointmentOperation;{f4903d9b-9e61-4de2-a732-2687c07d1de8})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ReplaceAppointmentOperation {
type Vtable = IReplaceAppointmentOperation_Vtbl;
const IID: ::windows::core::GUID = <IReplaceAppointmentOperation as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ReplaceAppointmentOperation {
const NAME: &'static str = "Windows.ApplicationModel.Appointments.AppointmentsProvider.ReplaceAppointmentOperation";
}
impl ::core::convert::From<ReplaceAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: ReplaceAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ReplaceAppointmentOperation> for ::windows::core::IUnknown {
fn from(value: &ReplaceAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ReplaceAppointmentOperation> for &::windows::core::IUnknown {
fn from(value: &ReplaceAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ReplaceAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: ReplaceAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ReplaceAppointmentOperation> for ::windows::core::IInspectable {
fn from(value: &ReplaceAppointmentOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ReplaceAppointmentOperation> for &::windows::core::IInspectable {
fn from(value: &ReplaceAppointmentOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for ReplaceAppointmentOperation {}
unsafe impl ::core::marker::Sync for ReplaceAppointmentOperation {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
pub trait IAppointmentParticipant_Impl: Sized {
fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn SetDisplayName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()>;
fn Address(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn SetAddress(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IAppointmentParticipant {
const NAME: &'static str = "Windows.ApplicationModel.Appointments.IAppointmentParticipant";
}
impl IAppointmentParticipant_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppointmentParticipant_Impl, const OFFSET: isize>() -> IAppointmentParticipant_Vtbl {
unsafe extern "system" fn DisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppointmentParticipant_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DisplayName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppointmentParticipant_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDisplayName(::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn Address<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppointmentParticipant_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Address() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAddress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppointmentParticipant_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAddress(::core::mem::transmute(&value)).into()
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IAppointmentParticipant, OFFSET>(),
DisplayName: DisplayName::<Identity, Impl, OFFSET>,
SetDisplayName: SetDisplayName::<Identity, Impl, OFFSET>,
Address: Address::<Identity, Impl, OFFSET>,
SetAddress: SetAddress::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IAppointmentParticipant as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,390 @@
pub trait IBackgroundCondition_Impl: Sized {}
impl ::windows::core::RuntimeName for IBackgroundCondition {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundCondition";
}
impl IBackgroundCondition_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundCondition_Impl, const OFFSET: isize>() -> IBackgroundCondition_Vtbl {
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundCondition, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundCondition as ::windows::core::Interface>::IID
}
}
pub trait IBackgroundTask_Impl: Sized {
fn Run(&self, taskinstance: &::core::option::Option<IBackgroundTaskInstance>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IBackgroundTask {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTask";
}
impl IBackgroundTask_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTask_Impl, const OFFSET: isize>() -> IBackgroundTask_Vtbl {
unsafe extern "system" fn Run<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTask_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, taskinstance: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Run(::core::mem::transmute(&taskinstance)).into()
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTask, OFFSET>(), Run: Run::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTask as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IBackgroundTaskInstance_Impl: Sized {
fn InstanceId(&self) -> ::windows::core::Result<::windows::core::GUID>;
fn Task(&self) -> ::windows::core::Result<BackgroundTaskRegistration>;
fn Progress(&self) -> ::windows::core::Result<u32>;
fn SetProgress(&self, value: u32) -> ::windows::core::Result<()>;
fn TriggerDetails(&self) -> ::windows::core::Result<::windows::core::IInspectable>;
fn Canceled(&self, cancelhandler: &::core::option::Option<BackgroundTaskCanceledEventHandler>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>;
fn RemoveCanceled(&self, cookie: &super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()>;
fn SuspendedCount(&self) -> ::windows::core::Result<u32>;
fn GetDeferral(&self) -> ::windows::core::Result<BackgroundTaskDeferral>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IBackgroundTaskInstance {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskInstance";
}
#[cfg(feature = "Foundation")]
impl IBackgroundTaskInstance_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>() -> IBackgroundTaskInstance_Vtbl {
unsafe extern "system" fn InstanceId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InstanceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Task<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Task() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Progress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Progress() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProgress(value).into()
}
unsafe extern "system" fn TriggerDetails<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TriggerDetails() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Canceled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cancelhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Canceled(::core::mem::transmute(&cancelhandler)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveCanceled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveCanceled(::core::mem::transmute(&cookie)).into()
}
unsafe extern "system" fn SuspendedCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuspendedCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDeferral<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDeferral() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskInstance, OFFSET>(),
InstanceId: InstanceId::<Identity, Impl, OFFSET>,
Task: Task::<Identity, Impl, OFFSET>,
Progress: Progress::<Identity, Impl, OFFSET>,
SetProgress: SetProgress::<Identity, Impl, OFFSET>,
TriggerDetails: TriggerDetails::<Identity, Impl, OFFSET>,
Canceled: Canceled::<Identity, Impl, OFFSET>,
RemoveCanceled: RemoveCanceled::<Identity, Impl, OFFSET>,
SuspendedCount: SuspendedCount::<Identity, Impl, OFFSET>,
GetDeferral: GetDeferral::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskInstance as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IBackgroundTaskInstance2_Impl: Sized + IBackgroundTaskInstance_Impl {
fn GetThrottleCount(&self, counter: BackgroundTaskThrottleCounter) -> ::windows::core::Result<u32>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IBackgroundTaskInstance2 {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskInstance2";
}
#[cfg(feature = "Foundation")]
impl IBackgroundTaskInstance2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance2_Impl, const OFFSET: isize>() -> IBackgroundTaskInstance2_Vtbl {
unsafe extern "system" fn GetThrottleCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, counter: BackgroundTaskThrottleCounter, result__: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThrottleCount(counter) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskInstance2, OFFSET>(),
GetThrottleCount: GetThrottleCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskInstance2 as ::windows::core::Interface>::IID
}
}
#[cfg(all(feature = "Foundation", feature = "System"))]
pub trait IBackgroundTaskInstance4_Impl: Sized + IBackgroundTaskInstance_Impl {
fn User(&self) -> ::windows::core::Result<super::super::System::User>;
}
#[cfg(all(feature = "Foundation", feature = "System"))]
impl ::windows::core::RuntimeName for IBackgroundTaskInstance4 {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskInstance4";
}
#[cfg(all(feature = "Foundation", feature = "System"))]
impl IBackgroundTaskInstance4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance4_Impl, const OFFSET: isize>() -> IBackgroundTaskInstance4_Vtbl {
unsafe extern "system" fn User<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskInstance4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.User() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskInstance4, OFFSET>(), User: User::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskInstance4 as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IBackgroundTaskRegistration_Impl: Sized {
fn TaskId(&self) -> ::windows::core::Result<::windows::core::GUID>;
fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn Progress(&self, handler: &::core::option::Option<BackgroundTaskProgressEventHandler>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>;
fn RemoveProgress(&self, cookie: &super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()>;
fn Completed(&self, handler: &::core::option::Option<BackgroundTaskCompletedEventHandler>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>;
fn RemoveCompleted(&self, cookie: &super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()>;
fn Unregister(&self, canceltask: bool) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IBackgroundTaskRegistration {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskRegistration";
}
#[cfg(feature = "Foundation")]
impl IBackgroundTaskRegistration_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>() -> IBackgroundTaskRegistration_Vtbl {
unsafe extern "system" fn TaskId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TaskId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Progress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Progress(::core::mem::transmute(&handler)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProgress(::core::mem::transmute(&cookie)).into()
}
unsafe extern "system" fn Completed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Completed(::core::mem::transmute(&handler)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveCompleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveCompleted(::core::mem::transmute(&cookie)).into()
}
unsafe extern "system" fn Unregister<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, canceltask: bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Unregister(canceltask).into()
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskRegistration, OFFSET>(),
TaskId: TaskId::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
Progress: Progress::<Identity, Impl, OFFSET>,
RemoveProgress: RemoveProgress::<Identity, Impl, OFFSET>,
Completed: Completed::<Identity, Impl, OFFSET>,
RemoveCompleted: RemoveCompleted::<Identity, Impl, OFFSET>,
Unregister: Unregister::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskRegistration as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IBackgroundTaskRegistration2_Impl: Sized + IBackgroundTaskRegistration_Impl {
fn Trigger(&self) -> ::windows::core::Result<IBackgroundTrigger>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IBackgroundTaskRegistration2 {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskRegistration2";
}
#[cfg(feature = "Foundation")]
impl IBackgroundTaskRegistration2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration2_Impl, const OFFSET: isize>() -> IBackgroundTaskRegistration2_Vtbl {
unsafe extern "system" fn Trigger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Trigger() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskRegistration2, OFFSET>(), Trigger: Trigger::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskRegistration2 as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IBackgroundTaskRegistration3_Impl: Sized + IBackgroundTaskRegistration_Impl {
fn TaskGroup(&self) -> ::windows::core::Result<BackgroundTaskRegistrationGroup>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IBackgroundTaskRegistration3 {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTaskRegistration3";
}
#[cfg(feature = "Foundation")]
impl IBackgroundTaskRegistration3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration3_Impl, const OFFSET: isize>() -> IBackgroundTaskRegistration3_Vtbl {
unsafe extern "system" fn TaskGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTaskRegistration3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TaskGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTaskRegistration3, OFFSET>(),
TaskGroup: TaskGroup::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTaskRegistration3 as ::windows::core::Interface>::IID
}
}
pub trait IBackgroundTrigger_Impl: Sized {}
impl ::windows::core::RuntimeName for IBackgroundTrigger {
const NAME: &'static str = "Windows.ApplicationModel.Background.IBackgroundTrigger";
}
impl IBackgroundTrigger_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBackgroundTrigger_Impl, const OFFSET: isize>() -> IBackgroundTrigger_Vtbl {
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IBackgroundTrigger, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBackgroundTrigger as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,849 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallBlockedTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallBlockedTriggerDetails {
type Vtable = IPhoneCallBlockedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa4a690a2_e4c1_427f_864e_e470477ddb67);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallBlockedTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub PhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub CallBlockedReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PhoneCallBlockedReason) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOriginDataRequestTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOriginDataRequestTriggerDetails {
type Vtable = IPhoneCallOriginDataRequestTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6e9b5b3f_c54b_4e82_4cc9_e329a4184592);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOriginDataRequestTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub RequestId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub PhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneIncomingCallDismissedTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneIncomingCallDismissedTriggerDetails {
type Vtable = IPhoneIncomingCallDismissedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbad30276_83b6_5732_9c38_0c206546196a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneIncomingCallDismissedTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub PhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub DismissalTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DismissalTime: usize,
pub TextReplyMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Reason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PhoneIncomingCallDismissedReason) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneIncomingCallNotificationTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneIncomingCallNotificationTriggerDetails {
type Vtable = IPhoneIncomingCallNotificationTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2b0e6044_9b32_5d42_8222_d2812e39fb21);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneIncomingCallNotificationTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub CallId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneLineChangedTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneLineChangedTriggerDetails {
type Vtable = IPhoneLineChangedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6d321e7_d11d_40d8_b2b7_e40a01d66249);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneLineChangedTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub ChangeType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PhoneLineChangeKind) -> ::windows::core::HRESULT,
pub HasLinePropertyChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lineproperty: PhoneLineProperties, result__: *mut bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneNewVoicemailMessageTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneNewVoicemailMessageTriggerDetails {
type Vtable = IPhoneNewVoicemailMessageTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x13a8c01b_b831_48d3_8ba9_8d22a6580dcf);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneNewVoicemailMessageTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub VoicemailCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
pub OperatorMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneCallBlockedTriggerDetails(::windows::core::IUnknown);
impl PhoneCallBlockedTriggerDetails {
pub fn PhoneNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PhoneNumber)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn LineId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LineId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn CallBlockedReason(&self) -> ::windows::core::Result<PhoneCallBlockedReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).CallBlockedReason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<PhoneCallBlockedReason>(result__)
}
}
}
impl ::core::clone::Clone for PhoneCallBlockedTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneCallBlockedTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneCallBlockedTriggerDetails {}
impl ::core::fmt::Debug for PhoneCallBlockedTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneCallBlockedTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneCallBlockedTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneCallBlockedTriggerDetails;{a4a690a2-e4c1-427f-864e-e470477ddb67})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneCallBlockedTriggerDetails {
type Vtable = IPhoneCallBlockedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneCallBlockedTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneCallBlockedTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneCallBlockedTriggerDetails";
}
impl ::core::convert::From<PhoneCallBlockedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneCallBlockedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallBlockedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneCallBlockedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallBlockedTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneCallBlockedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneCallBlockedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneCallBlockedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallBlockedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneCallBlockedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallBlockedTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneCallBlockedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneCallBlockedTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneCallBlockedTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneCallOriginDataRequestTriggerDetails(::windows::core::IUnknown);
impl PhoneCallOriginDataRequestTriggerDetails {
pub fn RequestId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn PhoneNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PhoneNumber)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
}
impl ::core::clone::Clone for PhoneCallOriginDataRequestTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneCallOriginDataRequestTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneCallOriginDataRequestTriggerDetails {}
impl ::core::fmt::Debug for PhoneCallOriginDataRequestTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneCallOriginDataRequestTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneCallOriginDataRequestTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneCallOriginDataRequestTriggerDetails;{6e9b5b3f-c54b-4e82-4cc9-e329a4184592})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneCallOriginDataRequestTriggerDetails {
type Vtable = IPhoneCallOriginDataRequestTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneCallOriginDataRequestTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneCallOriginDataRequestTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneCallOriginDataRequestTriggerDetails";
}
impl ::core::convert::From<PhoneCallOriginDataRequestTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneCallOriginDataRequestTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallOriginDataRequestTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneCallOriginDataRequestTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallOriginDataRequestTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneCallOriginDataRequestTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneCallOriginDataRequestTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneCallOriginDataRequestTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallOriginDataRequestTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneCallOriginDataRequestTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallOriginDataRequestTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneCallOriginDataRequestTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneCallOriginDataRequestTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneCallOriginDataRequestTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneIncomingCallDismissedTriggerDetails(::windows::core::IUnknown);
impl PhoneIncomingCallDismissedTriggerDetails {
pub fn LineId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LineId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn PhoneNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PhoneNumber)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DismissalTime(&self) -> ::windows::core::Result<super::super::super::Foundation::DateTime> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DismissalTime)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::DateTime>(result__)
}
}
pub fn TextReplyMessage(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).TextReplyMessage)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn Reason(&self) -> ::windows::core::Result<PhoneIncomingCallDismissedReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Reason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<PhoneIncomingCallDismissedReason>(result__)
}
}
}
impl ::core::clone::Clone for PhoneIncomingCallDismissedTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneIncomingCallDismissedTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneIncomingCallDismissedTriggerDetails {}
impl ::core::fmt::Debug for PhoneIncomingCallDismissedTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneIncomingCallDismissedTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneIncomingCallDismissedTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneIncomingCallDismissedTriggerDetails;{bad30276-83b6-5732-9c38-0c206546196a})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneIncomingCallDismissedTriggerDetails {
type Vtable = IPhoneIncomingCallDismissedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneIncomingCallDismissedTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneIncomingCallDismissedTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneIncomingCallDismissedTriggerDetails";
}
impl ::core::convert::From<PhoneIncomingCallDismissedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneIncomingCallDismissedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneIncomingCallDismissedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneIncomingCallDismissedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneIncomingCallDismissedTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneIncomingCallDismissedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneIncomingCallDismissedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneIncomingCallDismissedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneIncomingCallDismissedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneIncomingCallDismissedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneIncomingCallDismissedTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneIncomingCallDismissedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneIncomingCallDismissedTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneIncomingCallDismissedTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneIncomingCallNotificationTriggerDetails(::windows::core::IUnknown);
impl PhoneIncomingCallNotificationTriggerDetails {
pub fn LineId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LineId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn CallId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).CallId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
}
impl ::core::clone::Clone for PhoneIncomingCallNotificationTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneIncomingCallNotificationTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneIncomingCallNotificationTriggerDetails {}
impl ::core::fmt::Debug for PhoneIncomingCallNotificationTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneIncomingCallNotificationTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneIncomingCallNotificationTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneIncomingCallNotificationTriggerDetails;{2b0e6044-9b32-5d42-8222-d2812e39fb21})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneIncomingCallNotificationTriggerDetails {
type Vtable = IPhoneIncomingCallNotificationTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneIncomingCallNotificationTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneIncomingCallNotificationTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneIncomingCallNotificationTriggerDetails";
}
impl ::core::convert::From<PhoneIncomingCallNotificationTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneIncomingCallNotificationTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneIncomingCallNotificationTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneIncomingCallNotificationTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneIncomingCallNotificationTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneIncomingCallNotificationTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneIncomingCallNotificationTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneIncomingCallNotificationTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneIncomingCallNotificationTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneIncomingCallNotificationTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneIncomingCallNotificationTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneIncomingCallNotificationTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneIncomingCallNotificationTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneIncomingCallNotificationTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneLineChangedTriggerDetails(::windows::core::IUnknown);
impl PhoneLineChangedTriggerDetails {
pub fn LineId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LineId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn ChangeType(&self) -> ::windows::core::Result<PhoneLineChangeKind> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ChangeType)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<PhoneLineChangeKind>(result__)
}
}
pub fn HasLinePropertyChanged(&self, lineproperty: PhoneLineProperties) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).HasLinePropertyChanged)(::windows::core::Interface::as_raw(this), lineproperty, result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
}
impl ::core::clone::Clone for PhoneLineChangedTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneLineChangedTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneLineChangedTriggerDetails {}
impl ::core::fmt::Debug for PhoneLineChangedTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneLineChangedTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneLineChangedTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneLineChangedTriggerDetails;{c6d321e7-d11d-40d8-b2b7-e40a01d66249})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneLineChangedTriggerDetails {
type Vtable = IPhoneLineChangedTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneLineChangedTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneLineChangedTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneLineChangedTriggerDetails";
}
impl ::core::convert::From<PhoneLineChangedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneLineChangedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneLineChangedTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneLineChangedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneLineChangedTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneLineChangedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneLineChangedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneLineChangedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneLineChangedTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneLineChangedTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneLineChangedTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneLineChangedTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneLineChangedTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneLineChangedTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
pub struct PhoneNewVoicemailMessageTriggerDetails(::windows::core::IUnknown);
impl PhoneNewVoicemailMessageTriggerDetails {
pub fn LineId(&self) -> ::windows::core::Result<::windows::core::GUID> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LineId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::GUID>(result__)
}
}
pub fn VoicemailCount(&self) -> ::windows::core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).VoicemailCount)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<i32>(result__)
}
}
pub fn OperatorMessage(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).OperatorMessage)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
}
impl ::core::clone::Clone for PhoneNewVoicemailMessageTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneNewVoicemailMessageTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneNewVoicemailMessageTriggerDetails {}
impl ::core::fmt::Debug for PhoneNewVoicemailMessageTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneNewVoicemailMessageTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneNewVoicemailMessageTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Background.PhoneNewVoicemailMessageTriggerDetails;{13a8c01b-b831-48d3-8ba9-8d22a6580dcf})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneNewVoicemailMessageTriggerDetails {
type Vtable = IPhoneNewVoicemailMessageTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPhoneNewVoicemailMessageTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneNewVoicemailMessageTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Background.PhoneNewVoicemailMessageTriggerDetails";
}
impl ::core::convert::From<PhoneNewVoicemailMessageTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PhoneNewVoicemailMessageTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneNewVoicemailMessageTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PhoneNewVoicemailMessageTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneNewVoicemailMessageTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PhoneNewVoicemailMessageTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneNewVoicemailMessageTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PhoneNewVoicemailMessageTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneNewVoicemailMessageTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PhoneNewVoicemailMessageTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneNewVoicemailMessageTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PhoneNewVoicemailMessageTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneNewVoicemailMessageTriggerDetails {}
unsafe impl ::core::marker::Sync for PhoneNewVoicemailMessageTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhoneCallBlockedReason(pub i32);
impl PhoneCallBlockedReason {
pub const InCallBlockingList: Self = Self(0i32);
pub const PrivateNumber: Self = Self(1i32);
pub const UnknownNumber: Self = Self(2i32);
}
impl ::core::marker::Copy for PhoneCallBlockedReason {}
impl ::core::clone::Clone for PhoneCallBlockedReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhoneCallBlockedReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for PhoneCallBlockedReason {
type Abi = Self;
}
impl ::core::fmt::Debug for PhoneCallBlockedReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneCallBlockedReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneCallBlockedReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Calls.Background.PhoneCallBlockedReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhoneIncomingCallDismissedReason(pub i32);
impl PhoneIncomingCallDismissedReason {
pub const Unknown: Self = Self(0i32);
pub const CallRejected: Self = Self(1i32);
pub const TextReply: Self = Self(2i32);
pub const ConnectionLost: Self = Self(3i32);
}
impl ::core::marker::Copy for PhoneIncomingCallDismissedReason {}
impl ::core::clone::Clone for PhoneIncomingCallDismissedReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhoneIncomingCallDismissedReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for PhoneIncomingCallDismissedReason {
type Abi = Self;
}
impl ::core::fmt::Debug for PhoneIncomingCallDismissedReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneIncomingCallDismissedReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneIncomingCallDismissedReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Calls.Background.PhoneIncomingCallDismissedReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhoneLineChangeKind(pub i32);
impl PhoneLineChangeKind {
pub const Added: Self = Self(0i32);
pub const Removed: Self = Self(1i32);
pub const PropertiesChanged: Self = Self(2i32);
}
impl ::core::marker::Copy for PhoneLineChangeKind {}
impl ::core::clone::Clone for PhoneLineChangeKind {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhoneLineChangeKind {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for PhoneLineChangeKind {
type Abi = Self;
}
impl ::core::fmt::Debug for PhoneLineChangeKind {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneLineChangeKind").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneLineChangeKind {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Calls.Background.PhoneLineChangeKind;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhoneLineProperties(pub u32);
impl PhoneLineProperties {
pub const None: Self = Self(0u32);
pub const BrandingOptions: Self = Self(1u32);
pub const CanDial: Self = Self(2u32);
pub const CellularDetails: Self = Self(4u32);
pub const DisplayColor: Self = Self(8u32);
pub const DisplayName: Self = Self(16u32);
pub const NetworkName: Self = Self(32u32);
pub const NetworkState: Self = Self(64u32);
pub const Transport: Self = Self(128u32);
pub const Voicemail: Self = Self(256u32);
}
impl ::core::marker::Copy for PhoneLineProperties {}
impl ::core::clone::Clone for PhoneLineProperties {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhoneLineProperties {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for PhoneLineProperties {
type Abi = Self;
}
impl ::core::fmt::Debug for PhoneLineProperties {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneLineProperties").field(&self.0).finish()
}
}
impl ::core::ops::BitOr for PhoneLineProperties {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for PhoneLineProperties {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for PhoneLineProperties {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for PhoneLineProperties {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for PhoneLineProperties {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
unsafe impl ::windows::core::RuntimeType for PhoneLineProperties {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Calls.Background.PhoneLineProperties;u4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Background\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhoneTriggerType(pub i32);
impl PhoneTriggerType {
pub const NewVoicemailMessage: Self = Self(0i32);
pub const CallHistoryChanged: Self = Self(1i32);
pub const LineChanged: Self = Self(2i32);
pub const AirplaneModeDisabledForEmergencyCall: Self = Self(3i32);
pub const CallOriginDataRequest: Self = Self(4i32);
pub const CallBlocked: Self = Self(5i32);
pub const IncomingCallDismissed: Self = Self(6i32);
pub const IncomingCallNotification: Self = Self(7i32);
}
impl ::core::marker::Copy for PhoneTriggerType {}
impl ::core::clone::Clone for PhoneTriggerType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhoneTriggerType {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for PhoneTriggerType {
type Abi = Self;
}
impl ::core::fmt::Debug for PhoneTriggerType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneTriggerType").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneTriggerType {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Calls.Background.PhoneTriggerType;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,285 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOrigin(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOrigin {
type Vtable = IPhoneCallOrigin_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x20613479_0ef9_4454_871c_afb66a14b6a5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOrigin_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Category: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub CategoryDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetCategoryDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub Location: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOrigin2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOrigin2 {
type Vtable = IPhoneCallOrigin2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x04c7e980_9ac2_4768_b536_b68da4957d02);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOrigin2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetDisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOrigin3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOrigin3 {
type Vtable = IPhoneCallOrigin3_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x49330fb4_d1a7_43a2_aeee_c07b6dbaf068);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOrigin3_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Storage")]
pub DisplayPicture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage"))]
DisplayPicture: usize,
#[cfg(feature = "Storage")]
pub SetDisplayPicture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage"))]
SetDisplayPicture: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOriginManagerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOriginManagerStatics {
type Vtable = IPhoneCallOriginManagerStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xccfc5a0a_9af7_6149_39d0_e076fcce1395);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOriginManagerStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub IsCurrentAppActiveCallOriginApp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub ShowPhoneCallOriginSettingsUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCallOrigin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requestid: ::windows::core::GUID, callorigin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOriginManagerStatics2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOriginManagerStatics2 {
type Vtable = IPhoneCallOriginManagerStatics2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8bf3ee3f_40f4_4380_8c7c_aea2c9b8dd7a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOriginManagerStatics2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub RequestSetAsActiveCallOriginAppAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestSetAsActiveCallOriginAppAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPhoneCallOriginManagerStatics3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPhoneCallOriginManagerStatics3 {
type Vtable = IPhoneCallOriginManagerStatics3_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2ed69764_a6e3_50f0_b76a_d67cb39bdfde);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallOriginManagerStatics3_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub IsSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_Calls_Provider\"`*"]
#[repr(transparent)]
pub struct PhoneCallOrigin(::windows::core::IUnknown);
impl PhoneCallOrigin {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::core::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PhoneCallOrigin, ::windows::core::IGenericFactory> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
pub fn Category(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Category)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetCategory(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCategory)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn CategoryDescription(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).CategoryDescription)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetCategoryDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCategoryDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn Location(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Location)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetLocation(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetLocation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = &::windows::core::Interface::cast::<IPhoneCallOrigin2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetDisplayName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = &::windows::core::Interface::cast::<IPhoneCallOrigin2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDisplayName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Storage\"`*"]
#[cfg(feature = "Storage")]
pub fn DisplayPicture(&self) -> ::windows::core::Result<super::super::super::Storage::StorageFile> {
let this = &::windows::core::Interface::cast::<IPhoneCallOrigin3>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DisplayPicture)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Storage::StorageFile>(result__)
}
}
#[doc = "*Required features: `\"Storage\"`*"]
#[cfg(feature = "Storage")]
pub fn SetDisplayPicture<'a, P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Storage::StorageFile>>,
{
let this = &::windows::core::Interface::cast::<IPhoneCallOrigin3>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetDisplayPicture)(::windows::core::Interface::as_raw(this), value.into().abi()).ok() }
}
}
impl ::core::clone::Clone for PhoneCallOrigin {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PhoneCallOrigin {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PhoneCallOrigin {}
impl ::core::fmt::Debug for PhoneCallOrigin {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhoneCallOrigin").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PhoneCallOrigin {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin;{20613479-0ef9-4454-871c-afb66a14b6a5})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PhoneCallOrigin {
type Vtable = IPhoneCallOrigin_Vtbl;
const IID: ::windows::core::GUID = <IPhoneCallOrigin as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PhoneCallOrigin {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin";
}
impl ::core::convert::From<PhoneCallOrigin> for ::windows::core::IUnknown {
fn from(value: PhoneCallOrigin) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallOrigin> for ::windows::core::IUnknown {
fn from(value: &PhoneCallOrigin) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallOrigin> for &::windows::core::IUnknown {
fn from(value: &PhoneCallOrigin) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PhoneCallOrigin> for ::windows::core::IInspectable {
fn from(value: PhoneCallOrigin) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PhoneCallOrigin> for ::windows::core::IInspectable {
fn from(value: &PhoneCallOrigin) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PhoneCallOrigin> for &::windows::core::IInspectable {
fn from(value: &PhoneCallOrigin) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PhoneCallOrigin {}
unsafe impl ::core::marker::Sync for PhoneCallOrigin {}
#[doc = "*Required features: `\"ApplicationModel_Calls_Provider\"`*"]
pub struct PhoneCallOriginManager;
impl PhoneCallOriginManager {
pub fn IsCurrentAppActiveCallOriginApp() -> ::windows::core::Result<bool> {
Self::IPhoneCallOriginManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsCurrentAppActiveCallOriginApp)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
pub fn ShowPhoneCallOriginSettingsUI() -> ::windows::core::Result<()> {
Self::IPhoneCallOriginManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ShowPhoneCallOriginSettingsUI)(::windows::core::Interface::as_raw(this)).ok() })
}
pub fn SetCallOrigin<'a, P0>(requestid: ::windows::core::GUID, callorigin: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, PhoneCallOrigin>>,
{
Self::IPhoneCallOriginManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).SetCallOrigin)(::windows::core::Interface::as_raw(this), requestid, callorigin.into().abi()).ok() })
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestSetAsActiveCallOriginAppAsync() -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<bool>> {
Self::IPhoneCallOriginManagerStatics2(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestSetAsActiveCallOriginAppAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<bool>>(result__)
})
}
pub fn IsSupported() -> ::windows::core::Result<bool> {
Self::IPhoneCallOriginManagerStatics3(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsSupported)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
#[doc(hidden)]
pub fn IPhoneCallOriginManagerStatics<R, F: FnOnce(&IPhoneCallOriginManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PhoneCallOriginManager, IPhoneCallOriginManagerStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IPhoneCallOriginManagerStatics2<R, F: FnOnce(&IPhoneCallOriginManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PhoneCallOriginManager, IPhoneCallOriginManagerStatics2> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IPhoneCallOriginManagerStatics3<R, F: FnOnce(&IPhoneCallOriginManagerStatics3) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PhoneCallOriginManager, IPhoneCallOriginManagerStatics3> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows::core::RuntimeName for PhoneCallOriginManager {
const NAME: &'static str = "Windows.ApplicationModel.Calls.Provider.PhoneCallOriginManager";
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1 @@

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
pub trait IChatItem_Impl: Sized {
fn ItemKind(&self) -> ::windows::core::Result<ChatItemKind>;
}
impl ::windows::core::RuntimeName for IChatItem {
const NAME: &'static str = "Windows.ApplicationModel.Chat.IChatItem";
}
impl IChatItem_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IChatItem_Impl, const OFFSET: isize>() -> IChatItem_Vtbl {
unsafe extern "system" fn ItemKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IChatItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ChatItemKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ItemKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IChatItem, OFFSET>(), ItemKind: ItemKind::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IChatItem as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,149 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct ICommunicationBlockingAccessManagerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICommunicationBlockingAccessManagerStatics {
type Vtable = ICommunicationBlockingAccessManagerStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1c969998_9d2a_5db7_edd5_0ce407fc2595);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICommunicationBlockingAccessManagerStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub IsBlockingActive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub IsBlockedNumberAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, number: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
IsBlockedNumberAsync: usize,
#[cfg(feature = "Foundation_Collections")]
pub ShowBlockNumbersUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phonenumbers: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
ShowBlockNumbersUI: usize,
#[cfg(feature = "Foundation_Collections")]
pub ShowUnblockNumbersUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phonenumbers: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
ShowUnblockNumbersUI: usize,
pub ShowBlockedCallsUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ShowBlockedMessagesUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICommunicationBlockingAppManagerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICommunicationBlockingAppManagerStatics {
type Vtable = ICommunicationBlockingAppManagerStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x77db58ec_14a6_4baa_942a_6a673d999bf2);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICommunicationBlockingAppManagerStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub IsCurrentAppActiveBlockingApp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub ShowCommunicationBlockingSettingsUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICommunicationBlockingAppManagerStatics2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICommunicationBlockingAppManagerStatics2 {
type Vtable = ICommunicationBlockingAppManagerStatics2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x14a68edd_ed88_457a_a364_a3634d6f166d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICommunicationBlockingAppManagerStatics2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub RequestSetAsActiveBlockingAppAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestSetAsActiveBlockingAppAsync: usize,
}
#[doc = "*Required features: `\"ApplicationModel_CommunicationBlocking\"`*"]
pub struct CommunicationBlockingAccessManager;
impl CommunicationBlockingAccessManager {
pub fn IsBlockingActive() -> ::windows::core::Result<bool> {
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsBlockingActive)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn IsBlockedNumberAsync(number: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsBlockedNumberAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(number), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
})
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn ShowBlockNumbersUI<'a, P0, E0>(phonenumbers: P0) -> ::windows::core::Result<bool>
where
P0: ::std::convert::TryInto<::windows::core::InParam<'a, super::super::Foundation::Collections::IIterable<::windows::core::HSTRING>>, Error = E0>,
E0: ::std::convert::Into<::windows::core::Error>,
{
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ShowBlockNumbersUI)(::windows::core::Interface::as_raw(this), phonenumbers.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn ShowUnblockNumbersUI<'a, P0, E0>(phonenumbers: P0) -> ::windows::core::Result<bool>
where
P0: ::std::convert::TryInto<::windows::core::InParam<'a, super::super::Foundation::Collections::IIterable<::windows::core::HSTRING>>, Error = E0>,
E0: ::std::convert::Into<::windows::core::Error>,
{
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ShowUnblockNumbersUI)(::windows::core::Interface::as_raw(this), phonenumbers.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
pub fn ShowBlockedCallsUI() -> ::windows::core::Result<()> {
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ShowBlockedCallsUI)(::windows::core::Interface::as_raw(this)).ok() })
}
pub fn ShowBlockedMessagesUI() -> ::windows::core::Result<()> {
Self::ICommunicationBlockingAccessManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ShowBlockedMessagesUI)(::windows::core::Interface::as_raw(this)).ok() })
}
#[doc(hidden)]
pub fn ICommunicationBlockingAccessManagerStatics<R, F: FnOnce(&ICommunicationBlockingAccessManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<CommunicationBlockingAccessManager, ICommunicationBlockingAccessManagerStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows::core::RuntimeName for CommunicationBlockingAccessManager {
const NAME: &'static str = "Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingAccessManager";
}
#[doc = "*Required features: `\"ApplicationModel_CommunicationBlocking\"`*"]
pub struct CommunicationBlockingAppManager;
impl CommunicationBlockingAppManager {
pub fn IsCurrentAppActiveBlockingApp() -> ::windows::core::Result<bool> {
Self::ICommunicationBlockingAppManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsCurrentAppActiveBlockingApp)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
pub fn ShowCommunicationBlockingSettingsUI() -> ::windows::core::Result<()> {
Self::ICommunicationBlockingAppManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ShowCommunicationBlockingSettingsUI)(::windows::core::Interface::as_raw(this)).ok() })
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestSetAsActiveBlockingAppAsync() -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
Self::ICommunicationBlockingAppManagerStatics2(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestSetAsActiveBlockingAppAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
})
}
#[doc(hidden)]
pub fn ICommunicationBlockingAppManagerStatics<R, F: FnOnce(&ICommunicationBlockingAppManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<CommunicationBlockingAppManager, ICommunicationBlockingAppManagerStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn ICommunicationBlockingAppManagerStatics2<R, F: FnOnce(&ICommunicationBlockingAppManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<CommunicationBlockingAppManager, ICommunicationBlockingAppManagerStatics2> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows::core::RuntimeName for CommunicationBlockingAppManager {
const NAME: &'static str = "Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingAppManager";
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,311 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IContactPickerUI(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IContactPickerUI {
type Vtable = IContactPickerUI_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe2cc1366_cf66_43c4_a96a_a5a112db4746);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactPickerUI_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "deprecated")]
pub AddContact: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, contact: *mut ::core::ffi::c_void, result__: *mut AddContactResult) -> ::windows::core::HRESULT,
#[cfg(not(feature = "deprecated"))]
AddContact: usize,
pub RemoveContact: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub ContainsContact: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))]
pub DesiredFields: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "deprecated")))]
DesiredFields: usize,
pub SelectionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::ContactSelectionMode) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub ContactRemoved: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
ContactRemoved: usize,
#[cfg(feature = "Foundation")]
pub RemoveContactRemoved: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveContactRemoved: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IContactPickerUI2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IContactPickerUI2 {
type Vtable = IContactPickerUI2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6e449e28_7b25_4999_9b0b_875400a1e8c8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactPickerUI2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AddContact: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, contact: *mut ::core::ffi::c_void, result__: *mut AddContactResult) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub DesiredFieldsWithContactFieldType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
DesiredFieldsWithContactFieldType: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IContactRemovedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IContactRemovedEventArgs {
type Vtable = IContactRemovedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6f354338_3302_4d13_ad8d_adcc0ff9e47c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactRemovedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_Contacts_Provider\"`*"]
#[repr(transparent)]
pub struct ContactPickerUI(::windows::core::IUnknown);
impl ContactPickerUI {
#[doc = "*Required features: `\"deprecated\"`*"]
#[cfg(feature = "deprecated")]
pub fn AddContact<'a, P0>(&self, id: &::windows::core::HSTRING, contact: P0) -> ::windows::core::Result<AddContactResult>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::Contact>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AddContact)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(id), contact.into().abi(), result__.as_mut_ptr()).from_abi::<AddContactResult>(result__)
}
}
pub fn RemoveContact(&self, id: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveContact)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(id)).ok() }
}
pub fn ContainsContact(&self, id: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ContainsContact)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(id), result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`, `\"deprecated\"`*"]
#[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))]
pub fn DesiredFields(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DesiredFields)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>>(result__)
}
}
pub fn SelectionMode(&self) -> ::windows::core::Result<super::ContactSelectionMode> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SelectionMode)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::ContactSelectionMode>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn ContactRemoved<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Foundation::TypedEventHandler<ContactPickerUI, ContactRemovedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).ContactRemoved)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveContactRemoved(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveContactRemoved)(::windows::core::Interface::as_raw(this), token).ok() }
}
pub fn AddContact2<'a, P0>(&self, contact: P0) -> ::windows::core::Result<AddContactResult>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::Contact>>,
{
let this = &::windows::core::Interface::cast::<IContactPickerUI2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AddContact)(::windows::core::Interface::as_raw(this), contact.into().abi(), result__.as_mut_ptr()).from_abi::<AddContactResult>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn DesiredFieldsWithContactFieldType(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVector<super::ContactFieldType>> {
let this = &::windows::core::Interface::cast::<IContactPickerUI2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DesiredFieldsWithContactFieldType)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::Collections::IVector<super::ContactFieldType>>(result__)
}
}
}
impl ::core::clone::Clone for ContactPickerUI {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ContactPickerUI {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ContactPickerUI {}
impl ::core::fmt::Debug for ContactPickerUI {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ContactPickerUI").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ContactPickerUI {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Contacts.Provider.ContactPickerUI;{e2cc1366-cf66-43c4-a96a-a5a112db4746})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ContactPickerUI {
type Vtable = IContactPickerUI_Vtbl;
const IID: ::windows::core::GUID = <IContactPickerUI as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ContactPickerUI {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.Provider.ContactPickerUI";
}
impl ::core::convert::From<ContactPickerUI> for ::windows::core::IUnknown {
fn from(value: ContactPickerUI) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ContactPickerUI> for ::windows::core::IUnknown {
fn from(value: &ContactPickerUI) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ContactPickerUI> for &::windows::core::IUnknown {
fn from(value: &ContactPickerUI) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ContactPickerUI> for ::windows::core::IInspectable {
fn from(value: ContactPickerUI) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ContactPickerUI> for ::windows::core::IInspectable {
fn from(value: &ContactPickerUI) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ContactPickerUI> for &::windows::core::IInspectable {
fn from(value: &ContactPickerUI) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[doc = "*Required features: `\"ApplicationModel_Contacts_Provider\"`*"]
#[repr(transparent)]
pub struct ContactRemovedEventArgs(::windows::core::IUnknown);
impl ContactRemovedEventArgs {
pub fn Id(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Id)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
}
impl ::core::clone::Clone for ContactRemovedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ContactRemovedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ContactRemovedEventArgs {}
impl ::core::fmt::Debug for ContactRemovedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ContactRemovedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ContactRemovedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Contacts.Provider.ContactRemovedEventArgs;{6f354338-3302-4d13-ad8d-adcc0ff9e47c})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ContactRemovedEventArgs {
type Vtable = IContactRemovedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IContactRemovedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ContactRemovedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.Provider.ContactRemovedEventArgs";
}
impl ::core::convert::From<ContactRemovedEventArgs> for ::windows::core::IUnknown {
fn from(value: ContactRemovedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ContactRemovedEventArgs> for ::windows::core::IUnknown {
fn from(value: &ContactRemovedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ContactRemovedEventArgs> for &::windows::core::IUnknown {
fn from(value: &ContactRemovedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ContactRemovedEventArgs> for ::windows::core::IInspectable {
fn from(value: ContactRemovedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ContactRemovedEventArgs> for ::windows::core::IInspectable {
fn from(value: &ContactRemovedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ContactRemovedEventArgs> for &::windows::core::IInspectable {
fn from(value: &ContactRemovedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[doc = "*Required features: `\"ApplicationModel_Contacts_Provider\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AddContactResult(pub i32);
impl AddContactResult {
pub const Added: Self = Self(0i32);
pub const AlreadyAdded: Self = Self(1i32);
pub const Unavailable: Self = Self(2i32);
}
impl ::core::marker::Copy for AddContactResult {}
impl ::core::clone::Clone for AddContactResult {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AddContactResult {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for AddContactResult {
type Abi = Self;
}
impl ::core::fmt::Debug for AddContactResult {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AddContactResult").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for AddContactResult {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Contacts.Provider.AddContactResult;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,245 @@
pub trait IContactField_Impl: Sized {
fn Type(&self) -> ::windows::core::Result<ContactFieldType>;
fn Category(&self) -> ::windows::core::Result<ContactFieldCategory>;
fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
fn Value(&self) -> ::windows::core::Result<::windows::core::HSTRING>;
}
impl ::windows::core::RuntimeName for IContactField {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactField";
}
impl IContactField_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactField_Impl, const OFFSET: isize>() -> IContactField_Vtbl {
unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ContactFieldType) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Category<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ContactFieldCategory) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Category() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Value() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IContactField, OFFSET>(),
Type: Type::<Identity, Impl, OFFSET>,
Category: Category::<Identity, Impl, OFFSET>,
Name: Name::<Identity, Impl, OFFSET>,
Value: Value::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IContactField as ::windows::core::Interface>::IID
}
}
pub trait IContactFieldFactory_Impl: Sized {
fn CreateField_Default(&self, value: &::windows::core::HSTRING, r#type: ContactFieldType) -> ::windows::core::Result<ContactField>;
fn CreateField_Category(&self, value: &::windows::core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows::core::Result<ContactField>;
fn CreateField_Custom(&self, name: &::windows::core::HSTRING, value: &::windows::core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows::core::Result<ContactField>;
}
impl ::windows::core::RuntimeName for IContactFieldFactory {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactFieldFactory";
}
impl IContactFieldFactory_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactFieldFactory_Impl, const OFFSET: isize>() -> IContactFieldFactory_Vtbl {
unsafe extern "system" fn CreateField_Default<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, r#type: ContactFieldType, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateField_Default(::core::mem::transmute(&value), r#type) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateField_Category<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, r#type: ContactFieldType, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateField_Category(::core::mem::transmute(&value), r#type, category) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateField_Custom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, r#type: ContactFieldType, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateField_Custom(::core::mem::transmute(&name), ::core::mem::transmute(&value), r#type, category) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IContactFieldFactory, OFFSET>(),
CreateField_Default: CreateField_Default::<Identity, Impl, OFFSET>,
CreateField_Category: CreateField_Category::<Identity, Impl, OFFSET>,
CreateField_Custom: CreateField_Custom::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IContactFieldFactory as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "Foundation")]
pub trait IContactInstantMessageFieldFactory_Impl: Sized {
fn CreateInstantMessage_Default(&self, username: &::windows::core::HSTRING) -> ::windows::core::Result<ContactInstantMessageField>;
fn CreateInstantMessage_Category(&self, username: &::windows::core::HSTRING, category: ContactFieldCategory) -> ::windows::core::Result<ContactInstantMessageField>;
fn CreateInstantMessage_All(&self, username: &::windows::core::HSTRING, category: ContactFieldCategory, service: &::windows::core::HSTRING, displaytext: &::windows::core::HSTRING, verb: &::core::option::Option<super::super::Foundation::Uri>) -> ::windows::core::Result<ContactInstantMessageField>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for IContactInstantMessageFieldFactory {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactInstantMessageFieldFactory";
}
#[cfg(feature = "Foundation")]
impl IContactInstantMessageFieldFactory_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>() -> IContactInstantMessageFieldFactory_Vtbl {
unsafe extern "system" fn CreateInstantMessage_Default<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateInstantMessage_Default(::core::mem::transmute(&username)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateInstantMessage_Category<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateInstantMessage_Category(::core::mem::transmute(&username), category) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateInstantMessage_All<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, category: ContactFieldCategory, service: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, displaytext: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, verb: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateInstantMessage_All(::core::mem::transmute(&username), category, ::core::mem::transmute(&service), ::core::mem::transmute(&displaytext), ::core::mem::transmute(&verb)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IContactInstantMessageFieldFactory, OFFSET>(),
CreateInstantMessage_Default: CreateInstantMessage_Default::<Identity, Impl, OFFSET>,
CreateInstantMessage_Category: CreateInstantMessage_Category::<Identity, Impl, OFFSET>,
CreateInstantMessage_All: CreateInstantMessage_All::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IContactInstantMessageFieldFactory as ::windows::core::Interface>::IID
}
}
pub trait IContactLocationFieldFactory_Impl: Sized {
fn CreateLocation_Default(&self, unstructuredaddress: &::windows::core::HSTRING) -> ::windows::core::Result<ContactLocationField>;
fn CreateLocation_Category(&self, unstructuredaddress: &::windows::core::HSTRING, category: ContactFieldCategory) -> ::windows::core::Result<ContactLocationField>;
fn CreateLocation_All(&self, unstructuredaddress: &::windows::core::HSTRING, category: ContactFieldCategory, street: &::windows::core::HSTRING, city: &::windows::core::HSTRING, region: &::windows::core::HSTRING, country: &::windows::core::HSTRING, postalcode: &::windows::core::HSTRING) -> ::windows::core::Result<ContactLocationField>;
}
impl ::windows::core::RuntimeName for IContactLocationFieldFactory {
const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactLocationFieldFactory";
}
impl IContactLocationFieldFactory_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>() -> IContactLocationFieldFactory_Vtbl {
unsafe extern "system" fn CreateLocation_Default<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateLocation_Default(::core::mem::transmute(&unstructuredaddress)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateLocation_Category<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateLocation_Category(::core::mem::transmute(&unstructuredaddress), category) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateLocation_All<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, category: ContactFieldCategory, street: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, city: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, region: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, country: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, postalcode: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateLocation_All(::core::mem::transmute(&unstructuredaddress), category, ::core::mem::transmute(&street), ::core::mem::transmute(&city), ::core::mem::transmute(&region), ::core::mem::transmute(&country), ::core::mem::transmute(&postalcode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IContactLocationFieldFactory, OFFSET>(),
CreateLocation_Default: CreateLocation_Default::<Identity, Impl, OFFSET>,
CreateLocation_Category: CreateLocation_Category::<Identity, Impl, OFFSET>,
CreateLocation_All: CreateLocation_All::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IContactLocationFieldFactory as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,118 @@
#[cfg(feature = "Foundation")]
pub trait ICoreApplicationUnhandledError_Impl: Sized {
fn UnhandledErrorDetected(&self, handler: &::core::option::Option<super::super::Foundation::EventHandler<UnhandledErrorDetectedEventArgs>>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>;
fn RemoveUnhandledErrorDetected(&self, token: &super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for ICoreApplicationUnhandledError {
const NAME: &'static str = "Windows.ApplicationModel.Core.ICoreApplicationUnhandledError";
}
#[cfg(feature = "Foundation")]
impl ICoreApplicationUnhandledError_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreApplicationUnhandledError_Impl, const OFFSET: isize>() -> ICoreApplicationUnhandledError_Vtbl {
unsafe extern "system" fn UnhandledErrorDetected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreApplicationUnhandledError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UnhandledErrorDetected(::core::mem::transmute(&handler)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveUnhandledErrorDetected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreApplicationUnhandledError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveUnhandledErrorDetected(::core::mem::transmute(&token)).into()
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, ICoreApplicationUnhandledError, OFFSET>(),
UnhandledErrorDetected: UnhandledErrorDetected::<Identity, Impl, OFFSET>,
RemoveUnhandledErrorDetected: RemoveUnhandledErrorDetected::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ICoreApplicationUnhandledError as ::windows::core::Interface>::IID
}
}
#[cfg(feature = "UI_Core")]
pub trait IFrameworkView_Impl: Sized {
fn Initialize(&self, applicationview: &::core::option::Option<CoreApplicationView>) -> ::windows::core::Result<()>;
fn SetWindow(&self, window: &::core::option::Option<super::super::UI::Core::CoreWindow>) -> ::windows::core::Result<()>;
fn Load(&self, entrypoint: &::windows::core::HSTRING) -> ::windows::core::Result<()>;
fn Run(&self) -> ::windows::core::Result<()>;
fn Uninitialize(&self) -> ::windows::core::Result<()>;
}
#[cfg(feature = "UI_Core")]
impl ::windows::core::RuntimeName for IFrameworkView {
const NAME: &'static str = "Windows.ApplicationModel.Core.IFrameworkView";
}
#[cfg(feature = "UI_Core")]
impl IFrameworkView_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>() -> IFrameworkView_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationview: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&applicationview)).into()
}
unsafe extern "system" fn SetWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, window: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWindow(::core::mem::transmute(&window)).into()
}
unsafe extern "system" fn Load<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entrypoint: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Load(::core::mem::transmute(&entrypoint)).into()
}
unsafe extern "system" fn Run<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Run().into()
}
unsafe extern "system" fn Uninitialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Uninitialize().into()
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, IFrameworkView, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
SetWindow: SetWindow::<Identity, Impl, OFFSET>,
Load: Load::<Identity, Impl, OFFSET>,
Run: Run::<Identity, Impl, OFFSET>,
Uninitialize: Uninitialize::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IFrameworkView as ::windows::core::Interface>::IID
}
}
pub trait IFrameworkViewSource_Impl: Sized {
fn CreateView(&self) -> ::windows::core::Result<IFrameworkView>;
}
impl ::windows::core::RuntimeName for IFrameworkViewSource {
const NAME: &'static str = "Windows.ApplicationModel.Core.IFrameworkViewSource";
}
impl IFrameworkViewSource_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkViewSource_Impl, const OFFSET: isize>() -> IFrameworkViewSource_Vtbl {
unsafe extern "system" fn CreateView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFrameworkViewSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateView() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IInspectableVtbl::new::<Identity, IFrameworkViewSource, OFFSET>(), CreateView: CreateView::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IFrameworkViewSource as ::windows::core::Interface>::IID
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,74 @@
#[cfg(feature = "Foundation")]
pub trait ICoreDropOperationTarget_Impl: Sized {
fn EnterAsync(&self, draginfo: &::core::option::Option<CoreDragInfo>, draguioverride: &::core::option::Option<CoreDragUIOverride>) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>;
fn OverAsync(&self, draginfo: &::core::option::Option<CoreDragInfo>, draguioverride: &::core::option::Option<CoreDragUIOverride>) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>;
fn LeaveAsync(&self, draginfo: &::core::option::Option<CoreDragInfo>) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction>;
fn DropAsync(&self, draginfo: &::core::option::Option<CoreDragInfo>) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>;
}
#[cfg(feature = "Foundation")]
impl ::windows::core::RuntimeName for ICoreDropOperationTarget {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.ICoreDropOperationTarget";
}
#[cfg(feature = "Foundation")]
impl ICoreDropOperationTarget_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreDropOperationTarget_Impl, const OFFSET: isize>() -> ICoreDropOperationTarget_Vtbl {
unsafe extern "system" fn EnterAsync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreDropOperationTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, draguioverride: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnterAsync(::core::mem::transmute(&draginfo), ::core::mem::transmute(&draguioverride)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OverAsync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreDropOperationTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, draguioverride: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OverAsync(::core::mem::transmute(&draginfo), ::core::mem::transmute(&draguioverride)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LeaveAsync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreDropOperationTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LeaveAsync(::core::mem::transmute(&draginfo)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DropAsync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICoreDropOperationTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DropAsync(::core::mem::transmute(&draginfo)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__));
::core::mem::forget(ok__);
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IInspectableVtbl::new::<Identity, ICoreDropOperationTarget, OFFSET>(),
EnterAsync: EnterAsync::<Identity, Impl, OFFSET>,
OverAsync: OverAsync::<Identity, Impl, OFFSET>,
LeaveAsync: LeaveAsync::<Identity, Impl, OFFSET>,
DropAsync: DropAsync::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ICoreDropOperationTarget as ::windows::core::Interface>::IID
}
}

View File

@ -0,0 +1,893 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragDropManager(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragDropManager {
type Vtable = ICoreDragDropManager_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7d56d344_8464_4faf_aa49_37ea6e2d7bd1);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragDropManager_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub TargetRequested: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
TargetRequested: usize,
#[cfg(feature = "Foundation")]
pub RemoveTargetRequested: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveTargetRequested: usize,
pub AreConcurrentOperationsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetAreConcurrentOperationsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragDropManagerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragDropManagerStatics {
type Vtable = ICoreDragDropManagerStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9542fdca_da12_4c1c_8d06_041db29733c3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragDropManagerStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragInfo(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragInfo {
type Vtable = ICoreDragInfo_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x48353a8b_cb50_464e_9575_cd4e3a7ab028);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragInfo_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Data: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Modifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::DragDropModifiers) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Position: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::super::Foundation::Point) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Position: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragInfo2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragInfo2 {
type Vtable = ICoreDragInfo2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc54691e5_e6fb_4d74_b4b1_8a3c17f25e9e);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragInfo2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AllowedOperations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::DataPackageOperation) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragOperation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragOperation {
type Vtable = ICoreDragOperation_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcc06de4f_6db0_4e62_ab1b_a74a02dc6d85);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragOperation_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Data: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetPointerId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pointerid: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Graphics_Imaging")]
pub SetDragUIContentFromSoftwareBitmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, softwarebitmap: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_Imaging"))]
SetDragUIContentFromSoftwareBitmap: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))]
pub SetDragUIContentFromSoftwareBitmapWithAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, softwarebitmap: *mut ::core::ffi::c_void, anchorpoint: super::super::super::super::Foundation::Point) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics_Imaging")))]
SetDragUIContentFromSoftwareBitmapWithAnchorPoint: usize,
pub DragUIContentMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CoreDragUIContentMode) -> ::windows::core::HRESULT,
pub SetDragUIContentMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CoreDragUIContentMode) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub StartAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StartAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragOperation2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragOperation2 {
type Vtable = ICoreDragOperation2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x824b1e2c_d99a_4fc3_8507_6c182f33b46a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragOperation2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub AllowedOperations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::DataPackageOperation) -> ::windows::core::HRESULT,
pub SetAllowedOperations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::DataPackageOperation) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDragUIOverride(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDragUIOverride {
type Vtable = ICoreDragUIOverride_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x89a85064_3389_4f4f_8897_7e8a3ffb3c93);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDragUIOverride_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Graphics_Imaging")]
pub SetContentFromSoftwareBitmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, softwarebitmap: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Graphics_Imaging"))]
SetContentFromSoftwareBitmap: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))]
pub SetContentFromSoftwareBitmapWithAnchorPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, softwarebitmap: *mut ::core::ffi::c_void, anchorpoint: super::super::super::super::Foundation::Point) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics_Imaging")))]
SetContentFromSoftwareBitmapWithAnchorPoint: usize,
pub IsContentVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsContentVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub Caption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetCaption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub IsCaptionVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsCaptionVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub IsGlyphVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
pub SetIsGlyphVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
pub Clear: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct ICoreDropOperationTarget(::windows::core::IUnknown);
impl ICoreDropOperationTarget {
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn EnterAsync<'a, P0, P1>(&self, draginfo: P0, draguioverride: P1) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, CoreDragInfo>>,
P1: ::std::convert::Into<::windows::core::InParam<'a, CoreDragUIOverride>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).EnterAsync)(::windows::core::Interface::as_raw(this), draginfo.into().abi(), draguioverride.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn OverAsync<'a, P0, P1>(&self, draginfo: P0, draguioverride: P1) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, CoreDragInfo>>,
P1: ::std::convert::Into<::windows::core::InParam<'a, CoreDragUIOverride>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).OverAsync)(::windows::core::Interface::as_raw(this), draginfo.into().abi(), draguioverride.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn LeaveAsync<'a, P0>(&self, draginfo: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, CoreDragInfo>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LeaveAsync)(::windows::core::Interface::as_raw(this), draginfo.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::IAsyncAction>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DropAsync<'a, P0>(&self, draginfo: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, CoreDragInfo>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DropAsync)(::windows::core::Interface::as_raw(this), draginfo.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>(result__)
}
}
}
impl ::core::convert::From<ICoreDropOperationTarget> for ::windows::core::IUnknown {
fn from(value: ICoreDropOperationTarget) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl<'a> ::core::convert::From<&'a ICoreDropOperationTarget> for &'a ::windows::core::IUnknown {
fn from(value: &'a ICoreDropOperationTarget) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ICoreDropOperationTarget> for ::windows::core::IUnknown {
fn from(value: &ICoreDropOperationTarget) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<ICoreDropOperationTarget> for ::windows::core::IInspectable {
fn from(value: ICoreDropOperationTarget) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl<'a> ::core::convert::From<&'a ICoreDropOperationTarget> for &'a ::windows::core::IInspectable {
fn from(value: &'a ICoreDropOperationTarget) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ICoreDropOperationTarget> for ::windows::core::IInspectable {
fn from(value: &ICoreDropOperationTarget) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::clone::Clone for ICoreDropOperationTarget {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ICoreDropOperationTarget {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICoreDropOperationTarget {}
impl ::core::fmt::Debug for ICoreDropOperationTarget {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICoreDropOperationTarget").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ICoreDropOperationTarget {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"{d9126196-4c5b-417d-bb37-76381def8db4}");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ICoreDropOperationTarget {
type Vtable = ICoreDropOperationTarget_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd9126196_4c5b_417d_bb37_76381def8db4);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDropOperationTarget_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub EnterAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, draguioverride: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
EnterAsync: usize,
#[cfg(feature = "Foundation")]
pub OverAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, draguioverride: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
OverAsync: usize,
#[cfg(feature = "Foundation")]
pub LeaveAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
LeaveAsync: usize,
#[cfg(feature = "Foundation")]
pub DropAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, draginfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DropAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ICoreDropOperationTargetRequestedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ICoreDropOperationTargetRequestedEventArgs {
type Vtable = ICoreDropOperationTargetRequestedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2aca929a_5e28_4ea6_829e_29134e665d6d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICoreDropOperationTargetRequestedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub SetTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct CoreDragDropManager(::windows::core::IUnknown);
impl CoreDragDropManager {
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn TargetRequested<'a, P0>(&self, value: P0) -> ::windows::core::Result<super::super::super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::super::Foundation::TypedEventHandler<CoreDragDropManager, CoreDropOperationTargetRequestedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).TargetRequested)(::windows::core::Interface::as_raw(this), value.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveTargetRequested(&self, value: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveTargetRequested)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn AreConcurrentOperationsEnabled(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AreConcurrentOperationsEnabled)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
pub fn SetAreConcurrentOperationsEnabled(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetAreConcurrentOperationsEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn GetForCurrentView() -> ::windows::core::Result<CoreDragDropManager> {
Self::ICoreDragDropManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<CoreDragDropManager>(result__)
})
}
#[doc(hidden)]
pub fn ICoreDragDropManagerStatics<R, F: FnOnce(&ICoreDragDropManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<CoreDragDropManager, ICoreDragDropManagerStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for CoreDragDropManager {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for CoreDragDropManager {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CoreDragDropManager {}
impl ::core::fmt::Debug for CoreDragDropManager {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDragDropManager").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for CoreDragDropManager {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragDropManager;{7d56d344-8464-4faf-aa49-37ea6e2d7bd1})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for CoreDragDropManager {
type Vtable = ICoreDragDropManager_Vtbl;
const IID: ::windows::core::GUID = <ICoreDragDropManager as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for CoreDragDropManager {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragDropManager";
}
impl ::core::convert::From<CoreDragDropManager> for ::windows::core::IUnknown {
fn from(value: CoreDragDropManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragDropManager> for ::windows::core::IUnknown {
fn from(value: &CoreDragDropManager) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragDropManager> for &::windows::core::IUnknown {
fn from(value: &CoreDragDropManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<CoreDragDropManager> for ::windows::core::IInspectable {
fn from(value: CoreDragDropManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragDropManager> for ::windows::core::IInspectable {
fn from(value: &CoreDragDropManager) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragDropManager> for &::windows::core::IInspectable {
fn from(value: &CoreDragDropManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for CoreDragDropManager {}
unsafe impl ::core::marker::Sync for CoreDragDropManager {}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct CoreDragInfo(::windows::core::IUnknown);
impl CoreDragInfo {
pub fn Data(&self) -> ::windows::core::Result<super::super::DataPackageView> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Data)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::DataPackageView>(result__)
}
}
pub fn Modifiers(&self) -> ::windows::core::Result<super::DragDropModifiers> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Modifiers)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::DragDropModifiers>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Position(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Point> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Position)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::Point>(result__)
}
}
pub fn AllowedOperations(&self) -> ::windows::core::Result<super::super::DataPackageOperation> {
let this = &::windows::core::Interface::cast::<ICoreDragInfo2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AllowedOperations)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::DataPackageOperation>(result__)
}
}
}
impl ::core::clone::Clone for CoreDragInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for CoreDragInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CoreDragInfo {}
impl ::core::fmt::Debug for CoreDragInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDragInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for CoreDragInfo {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragInfo;{48353a8b-cb50-464e-9575-cd4e3a7ab028})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for CoreDragInfo {
type Vtable = ICoreDragInfo_Vtbl;
const IID: ::windows::core::GUID = <ICoreDragInfo as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for CoreDragInfo {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragInfo";
}
impl ::core::convert::From<CoreDragInfo> for ::windows::core::IUnknown {
fn from(value: CoreDragInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragInfo> for ::windows::core::IUnknown {
fn from(value: &CoreDragInfo) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragInfo> for &::windows::core::IUnknown {
fn from(value: &CoreDragInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<CoreDragInfo> for ::windows::core::IInspectable {
fn from(value: CoreDragInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragInfo> for ::windows::core::IInspectable {
fn from(value: &CoreDragInfo) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragInfo> for &::windows::core::IInspectable {
fn from(value: &CoreDragInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for CoreDragInfo {}
unsafe impl ::core::marker::Sync for CoreDragInfo {}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct CoreDragOperation(::windows::core::IUnknown);
impl CoreDragOperation {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::core::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<CoreDragOperation, ::windows::core::IGenericFactory> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
pub fn Data(&self) -> ::windows::core::Result<super::super::DataPackage> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Data)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::DataPackage>(result__)
}
}
pub fn SetPointerId(&self, pointerid: u32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPointerId)(::windows::core::Interface::as_raw(this), pointerid).ok() }
}
#[doc = "*Required features: `\"Graphics_Imaging\"`*"]
#[cfg(feature = "Graphics_Imaging")]
pub fn SetDragUIContentFromSoftwareBitmap<'a, P0>(&self, softwarebitmap: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::super::Graphics::Imaging::SoftwareBitmap>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDragUIContentFromSoftwareBitmap)(::windows::core::Interface::as_raw(this), softwarebitmap.into().abi()).ok() }
}
#[doc = "*Required features: `\"Foundation\"`, `\"Graphics_Imaging\"`*"]
#[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))]
pub fn SetDragUIContentFromSoftwareBitmapWithAnchorPoint<'a, P0>(&self, softwarebitmap: P0, anchorpoint: super::super::super::super::Foundation::Point) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::super::Graphics::Imaging::SoftwareBitmap>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDragUIContentFromSoftwareBitmapWithAnchorPoint)(::windows::core::Interface::as_raw(this), softwarebitmap.into().abi(), anchorpoint).ok() }
}
pub fn DragUIContentMode(&self) -> ::windows::core::Result<CoreDragUIContentMode> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DragUIContentMode)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<CoreDragUIContentMode>(result__)
}
}
pub fn SetDragUIContentMode(&self, value: CoreDragUIContentMode) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDragUIContentMode)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn StartAsync(&self) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).StartAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::DataPackageOperation>>(result__)
}
}
pub fn AllowedOperations(&self) -> ::windows::core::Result<super::super::DataPackageOperation> {
let this = &::windows::core::Interface::cast::<ICoreDragOperation2>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AllowedOperations)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::DataPackageOperation>(result__)
}
}
pub fn SetAllowedOperations(&self, value: super::super::DataPackageOperation) -> ::windows::core::Result<()> {
let this = &::windows::core::Interface::cast::<ICoreDragOperation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).SetAllowedOperations)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::clone::Clone for CoreDragOperation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for CoreDragOperation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CoreDragOperation {}
impl ::core::fmt::Debug for CoreDragOperation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDragOperation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for CoreDragOperation {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragOperation;{cc06de4f-6db0-4e62-ab1b-a74a02dc6d85})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for CoreDragOperation {
type Vtable = ICoreDragOperation_Vtbl;
const IID: ::windows::core::GUID = <ICoreDragOperation as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for CoreDragOperation {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragOperation";
}
impl ::core::convert::From<CoreDragOperation> for ::windows::core::IUnknown {
fn from(value: CoreDragOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragOperation> for ::windows::core::IUnknown {
fn from(value: &CoreDragOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragOperation> for &::windows::core::IUnknown {
fn from(value: &CoreDragOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<CoreDragOperation> for ::windows::core::IInspectable {
fn from(value: CoreDragOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragOperation> for ::windows::core::IInspectable {
fn from(value: &CoreDragOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragOperation> for &::windows::core::IInspectable {
fn from(value: &CoreDragOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for CoreDragOperation {}
unsafe impl ::core::marker::Sync for CoreDragOperation {}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct CoreDragUIOverride(::windows::core::IUnknown);
impl CoreDragUIOverride {
#[doc = "*Required features: `\"Graphics_Imaging\"`*"]
#[cfg(feature = "Graphics_Imaging")]
pub fn SetContentFromSoftwareBitmap<'a, P0>(&self, softwarebitmap: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::super::Graphics::Imaging::SoftwareBitmap>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetContentFromSoftwareBitmap)(::windows::core::Interface::as_raw(this), softwarebitmap.into().abi()).ok() }
}
#[doc = "*Required features: `\"Foundation\"`, `\"Graphics_Imaging\"`*"]
#[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))]
pub fn SetContentFromSoftwareBitmapWithAnchorPoint<'a, P0>(&self, softwarebitmap: P0, anchorpoint: super::super::super::super::Foundation::Point) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::super::Graphics::Imaging::SoftwareBitmap>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetContentFromSoftwareBitmapWithAnchorPoint)(::windows::core::Interface::as_raw(this), softwarebitmap.into().abi(), anchorpoint).ok() }
}
pub fn IsContentVisible(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsContentVisible)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
pub fn SetIsContentVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsContentVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Caption(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Caption)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetCaption(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetCaption)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn IsCaptionVisible(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsCaptionVisible)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
pub fn SetIsCaptionVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsCaptionVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn IsGlyphVisible(&self) -> ::windows::core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsGlyphVisible)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
}
}
pub fn SetIsGlyphVisible(&self, value: bool) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetIsGlyphVisible)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Clear(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Clear)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for CoreDragUIOverride {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for CoreDragUIOverride {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CoreDragUIOverride {}
impl ::core::fmt::Debug for CoreDragUIOverride {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDragUIOverride").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for CoreDragUIOverride {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragUIOverride;{89a85064-3389-4f4f-8897-7e8a3ffb3c93})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for CoreDragUIOverride {
type Vtable = ICoreDragUIOverride_Vtbl;
const IID: ::windows::core::GUID = <ICoreDragUIOverride as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for CoreDragUIOverride {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragUIOverride";
}
impl ::core::convert::From<CoreDragUIOverride> for ::windows::core::IUnknown {
fn from(value: CoreDragUIOverride) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragUIOverride> for ::windows::core::IUnknown {
fn from(value: &CoreDragUIOverride) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragUIOverride> for &::windows::core::IUnknown {
fn from(value: &CoreDragUIOverride) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<CoreDragUIOverride> for ::windows::core::IInspectable {
fn from(value: CoreDragUIOverride) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDragUIOverride> for ::windows::core::IInspectable {
fn from(value: &CoreDragUIOverride) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDragUIOverride> for &::windows::core::IInspectable {
fn from(value: &CoreDragUIOverride) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for CoreDragUIOverride {}
unsafe impl ::core::marker::Sync for CoreDragUIOverride {}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
pub struct CoreDropOperationTargetRequestedEventArgs(::windows::core::IUnknown);
impl CoreDropOperationTargetRequestedEventArgs {
pub fn SetTarget<'a, P0, E0>(&self, target: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::TryInto<::windows::core::InParam<'a, ICoreDropOperationTarget>, Error = E0>,
E0: ::std::convert::Into<::windows::core::Error>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTarget)(::windows::core::Interface::as_raw(this), target.try_into().map_err(|e| e.into())?.abi()).ok() }
}
}
impl ::core::clone::Clone for CoreDropOperationTargetRequestedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for CoreDropOperationTargetRequestedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for CoreDropOperationTargetRequestedEventArgs {}
impl ::core::fmt::Debug for CoreDropOperationTargetRequestedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDropOperationTargetRequestedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for CoreDropOperationTargetRequestedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDropOperationTargetRequestedEventArgs;{2aca929a-5e28-4ea6-829e-29134e665d6d})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for CoreDropOperationTargetRequestedEventArgs {
type Vtable = ICoreDropOperationTargetRequestedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <ICoreDropOperationTargetRequestedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for CoreDropOperationTargetRequestedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDropOperationTargetRequestedEventArgs";
}
impl ::core::convert::From<CoreDropOperationTargetRequestedEventArgs> for ::windows::core::IUnknown {
fn from(value: CoreDropOperationTargetRequestedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDropOperationTargetRequestedEventArgs> for ::windows::core::IUnknown {
fn from(value: &CoreDropOperationTargetRequestedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDropOperationTargetRequestedEventArgs> for &::windows::core::IUnknown {
fn from(value: &CoreDropOperationTargetRequestedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<CoreDropOperationTargetRequestedEventArgs> for ::windows::core::IInspectable {
fn from(value: CoreDropOperationTargetRequestedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&CoreDropOperationTargetRequestedEventArgs> for ::windows::core::IInspectable {
fn from(value: &CoreDropOperationTargetRequestedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&CoreDropOperationTargetRequestedEventArgs> for &::windows::core::IInspectable {
fn from(value: &CoreDropOperationTargetRequestedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for CoreDropOperationTargetRequestedEventArgs {}
unsafe impl ::core::marker::Sync for CoreDropOperationTargetRequestedEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop_Core\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CoreDragUIContentMode(pub u32);
impl CoreDragUIContentMode {
pub const Auto: Self = Self(0u32);
pub const Deferred: Self = Self(1u32);
}
impl ::core::marker::Copy for CoreDragUIContentMode {}
impl ::core::clone::Clone for CoreDragUIContentMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CoreDragUIContentMode {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for CoreDragUIContentMode {
type Abi = Self;
}
impl ::core::fmt::Debug for CoreDragUIContentMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CoreDragUIContentMode").field(&self.0).finish()
}
}
impl ::core::ops::BitOr for CoreDragUIContentMode {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for CoreDragUIContentMode {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for CoreDragUIContentMode {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for CoreDragUIContentMode {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for CoreDragUIContentMode {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
unsafe impl ::windows::core::RuntimeType for CoreDragUIContentMode {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragUIContentMode;u4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,71 @@
#[cfg(feature = "ApplicationModel_DataTransfer_DragDrop_Core")]
pub mod Core;
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_DragDrop\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DragDropModifiers(pub u32);
impl DragDropModifiers {
pub const None: Self = Self(0u32);
pub const Shift: Self = Self(1u32);
pub const Control: Self = Self(2u32);
pub const Alt: Self = Self(4u32);
pub const LeftButton: Self = Self(8u32);
pub const MiddleButton: Self = Self(16u32);
pub const RightButton: Self = Self(32u32);
}
impl ::core::marker::Copy for DragDropModifiers {}
impl ::core::clone::Clone for DragDropModifiers {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DragDropModifiers {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for DragDropModifiers {
type Abi = Self;
}
impl ::core::fmt::Debug for DragDropModifiers {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DragDropModifiers").field(&self.0).finish()
}
}
impl ::core::ops::BitOr for DragDropModifiers {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DragDropModifiers {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DragDropModifiers {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DragDropModifiers {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DragDropModifiers {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
unsafe impl ::windows::core::RuntimeType for DragDropModifiers {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.DataTransfer.DragDrop.DragDropModifiers;u4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,337 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IQuickLink(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IQuickLink {
type Vtable = IQuickLink_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x603e4308_f0be_4adc_acc9_8b27ab9cf556);
}
#[repr(C)]
#[doc(hidden)]
pub struct IQuickLink_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Title: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Storage_Streams")]
pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
Thumbnail: usize,
#[cfg(feature = "Storage_Streams")]
pub SetThumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
SetThumbnail: usize,
pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub SupportedDataFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
SupportedDataFormats: usize,
#[cfg(feature = "Foundation_Collections")]
pub SupportedFileTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
SupportedFileTypes: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IShareOperation(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IShareOperation {
type Vtable = IShareOperation_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2246bab8_d0f8_41c1_a82a_4137db6504fb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IShareOperation_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Data: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub QuickLinkId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub RemoveThisQuickLink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportStarted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportDataRetrieved: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportSubmittedBackgroundTask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportCompletedWithQuickLink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, quicklink: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IShareOperation2(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IShareOperation2 {
type Vtable = IShareOperation2_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0ffb97c1_9778_4a09_8e5b_cb5e482d0555);
}
#[repr(C)]
#[doc(hidden)]
pub struct IShareOperation2_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub DismissUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IShareOperation3(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IShareOperation3 {
type Vtable = IShareOperation3_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5ef6b382_b7a7_4571_a2a6_994a034988b2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IShareOperation3_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections"))]
pub Contacts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections")))]
Contacts: usize,
}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_ShareTarget\"`*"]
#[repr(transparent)]
pub struct QuickLink(::windows::core::IUnknown);
impl QuickLink {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::core::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<QuickLink, ::windows::core::IGenericFactory> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
pub fn Title(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Title)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetTitle(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetTitle)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn Thumbnail(&self) -> ::windows::core::Result<super::super::super::Storage::Streams::RandomAccessStreamReference> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Storage::Streams::RandomAccessStreamReference>(result__)
}
}
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn SetThumbnail<'a, P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Storage::Streams::RandomAccessStreamReference>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetThumbnail)(::windows::core::Interface::as_raw(this), value.into().abi()).ok() }
}
pub fn Id(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Id)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetId(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetId)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn SupportedDataFormats(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVector<::windows::core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SupportedDataFormats)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::Collections::IVector<::windows::core::HSTRING>>(result__)
}
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn SupportedFileTypes(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVector<::windows::core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).SupportedFileTypes)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::Collections::IVector<::windows::core::HSTRING>>(result__)
}
}
}
impl ::core::clone::Clone for QuickLink {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for QuickLink {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for QuickLink {}
impl ::core::fmt::Debug for QuickLink {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("QuickLink").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for QuickLink {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink;{603e4308-f0be-4adc-acc9-8b27ab9cf556})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for QuickLink {
type Vtable = IQuickLink_Vtbl;
const IID: ::windows::core::GUID = <IQuickLink as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for QuickLink {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink";
}
impl ::core::convert::From<QuickLink> for ::windows::core::IUnknown {
fn from(value: QuickLink) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&QuickLink> for ::windows::core::IUnknown {
fn from(value: &QuickLink) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&QuickLink> for &::windows::core::IUnknown {
fn from(value: &QuickLink) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<QuickLink> for ::windows::core::IInspectable {
fn from(value: QuickLink) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&QuickLink> for ::windows::core::IInspectable {
fn from(value: &QuickLink) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&QuickLink> for &::windows::core::IInspectable {
fn from(value: &QuickLink) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[doc = "*Required features: `\"ApplicationModel_DataTransfer_ShareTarget\"`*"]
#[repr(transparent)]
pub struct ShareOperation(::windows::core::IUnknown);
impl ShareOperation {
pub fn Data(&self) -> ::windows::core::Result<super::DataPackageView> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Data)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::DataPackageView>(result__)
}
}
pub fn QuickLinkId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).QuickLinkId)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn RemoveThisQuickLink(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveThisQuickLink)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportStarted(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportStarted)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportDataRetrieved(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportDataRetrieved)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportSubmittedBackgroundTask(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportSubmittedBackgroundTask)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportCompletedWithQuickLink<'a, P0>(&self, quicklink: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, QuickLink>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCompletedWithQuickLink)(::windows::core::Interface::as_raw(this), quicklink.into().abi()).ok() }
}
pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn ReportError(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn DismissUI(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::Interface::cast::<IShareOperation2>(self)?;
unsafe { (::windows::core::Interface::vtable(this).DismissUI)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"ApplicationModel_Contacts\"`, `\"Foundation_Collections\"`*"]
#[cfg(all(feature = "ApplicationModel_Contacts", feature = "Foundation_Collections"))]
pub fn Contacts(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<super::super::Contacts::Contact>> {
let this = &::windows::core::Interface::cast::<IShareOperation3>(self)?;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Contacts)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::Collections::IVectorView<super::super::Contacts::Contact>>(result__)
}
}
}
impl ::core::clone::Clone for ShareOperation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ShareOperation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ShareOperation {}
impl ::core::fmt::Debug for ShareOperation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ShareOperation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ShareOperation {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.DataTransfer.ShareTarget.ShareOperation;{2246bab8-d0f8-41c1-a82a-4137db6504fb})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ShareOperation {
type Vtable = IShareOperation_Vtbl;
const IID: ::windows::core::GUID = <IShareOperation as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ShareOperation {
const NAME: &'static str = "Windows.ApplicationModel.DataTransfer.ShareTarget.ShareOperation";
}
impl ::core::convert::From<ShareOperation> for ::windows::core::IUnknown {
fn from(value: ShareOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ShareOperation> for ::windows::core::IUnknown {
fn from(value: &ShareOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ShareOperation> for &::windows::core::IUnknown {
fn from(value: &ShareOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ShareOperation> for ::windows::core::IInspectable {
fn from(value: ShareOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ShareOperation> for ::windows::core::IInspectable {
fn from(value: &ShareOperation) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ShareOperation> for &::windows::core::IInspectable {
fn from(value: &ShareOperation) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,372 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IExtendedExecutionForegroundRevokedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExtendedExecutionForegroundRevokedEventArgs {
type Vtable = IExtendedExecutionForegroundRevokedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb07cd940_9557_aea4_2c99_bdd56d9be461);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExtendedExecutionForegroundRevokedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Reason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ExtendedExecutionForegroundRevokedReason) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IExtendedExecutionForegroundSession(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExtendedExecutionForegroundSession {
type Vtable = IExtendedExecutionForegroundSession_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfbf440e1_9d10_4201_b01e_c83275296f2e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExtendedExecutionForegroundSession_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Description: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Revoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Revoked: usize,
#[cfg(feature = "Foundation")]
pub RemoveRevoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveRevoked: usize,
#[cfg(feature = "Foundation")]
pub RequestExtensionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestExtensionAsync: usize,
pub Reason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ExtendedExecutionForegroundReason) -> ::windows::core::HRESULT,
pub SetReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ExtendedExecutionForegroundReason) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution_Foreground\"`*"]
#[repr(transparent)]
pub struct ExtendedExecutionForegroundRevokedEventArgs(::windows::core::IUnknown);
impl ExtendedExecutionForegroundRevokedEventArgs {
pub fn Reason(&self) -> ::windows::core::Result<ExtendedExecutionForegroundRevokedReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Reason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<ExtendedExecutionForegroundRevokedReason>(result__)
}
}
}
impl ::core::clone::Clone for ExtendedExecutionForegroundRevokedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ExtendedExecutionForegroundRevokedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExtendedExecutionForegroundRevokedEventArgs {}
impl ::core::fmt::Debug for ExtendedExecutionForegroundRevokedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionForegroundRevokedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionForegroundRevokedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundRevokedEventArgs;{b07cd940-9557-aea4-2c99-bdd56d9be461})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ExtendedExecutionForegroundRevokedEventArgs {
type Vtable = IExtendedExecutionForegroundRevokedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IExtendedExecutionForegroundRevokedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ExtendedExecutionForegroundRevokedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundRevokedEventArgs";
}
impl ::core::convert::From<ExtendedExecutionForegroundRevokedEventArgs> for ::windows::core::IUnknown {
fn from(value: ExtendedExecutionForegroundRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundRevokedEventArgs> for ::windows::core::IUnknown {
fn from(value: &ExtendedExecutionForegroundRevokedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundRevokedEventArgs> for &::windows::core::IUnknown {
fn from(value: &ExtendedExecutionForegroundRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ExtendedExecutionForegroundRevokedEventArgs> for ::windows::core::IInspectable {
fn from(value: ExtendedExecutionForegroundRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundRevokedEventArgs> for ::windows::core::IInspectable {
fn from(value: &ExtendedExecutionForegroundRevokedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundRevokedEventArgs> for &::windows::core::IInspectable {
fn from(value: &ExtendedExecutionForegroundRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for ExtendedExecutionForegroundRevokedEventArgs {}
unsafe impl ::core::marker::Sync for ExtendedExecutionForegroundRevokedEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution_Foreground\"`*"]
#[repr(transparent)]
pub struct ExtendedExecutionForegroundSession(::windows::core::IUnknown);
impl ExtendedExecutionForegroundSession {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::core::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<ExtendedExecutionForegroundSession, ::windows::core::IGenericFactory> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Description)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Revoked<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Foundation::TypedEventHandler<::windows::core::IInspectable, ExtendedExecutionForegroundRevokedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Revoked)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveRevoked(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveRevoked)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestExtensionAsync(&self) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<ExtendedExecutionForegroundResult>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestExtensionAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<ExtendedExecutionForegroundResult>>(result__)
}
}
pub fn Reason(&self) -> ::windows::core::Result<ExtendedExecutionForegroundReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Reason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<ExtendedExecutionForegroundReason>(result__)
}
}
pub fn SetReason(&self, value: ExtendedExecutionForegroundReason) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetReason)(::windows::core::Interface::as_raw(this), value).ok() }
}
}
impl ::core::clone::Clone for ExtendedExecutionForegroundSession {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ExtendedExecutionForegroundSession {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExtendedExecutionForegroundSession {}
impl ::core::fmt::Debug for ExtendedExecutionForegroundSession {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionForegroundSession").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionForegroundSession {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundSession;{fbf440e1-9d10-4201-b01e-c83275296f2e})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ExtendedExecutionForegroundSession {
type Vtable = IExtendedExecutionForegroundSession_Vtbl;
const IID: ::windows::core::GUID = <IExtendedExecutionForegroundSession as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ExtendedExecutionForegroundSession {
const NAME: &'static str = "Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundSession";
}
impl ::core::convert::From<ExtendedExecutionForegroundSession> for ::windows::core::IUnknown {
fn from(value: ExtendedExecutionForegroundSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundSession> for ::windows::core::IUnknown {
fn from(value: &ExtendedExecutionForegroundSession) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundSession> for &::windows::core::IUnknown {
fn from(value: &ExtendedExecutionForegroundSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ExtendedExecutionForegroundSession> for ::windows::core::IInspectable {
fn from(value: ExtendedExecutionForegroundSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundSession> for ::windows::core::IInspectable {
fn from(value: &ExtendedExecutionForegroundSession) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionForegroundSession> for &::windows::core::IInspectable {
fn from(value: &ExtendedExecutionForegroundSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "Foundation")]
impl ::core::convert::TryFrom<ExtendedExecutionForegroundSession> for super::super::super::Foundation::IClosable {
type Error = ::windows::core::Error;
fn try_from(value: ExtendedExecutionForegroundSession) -> ::windows::core::Result<Self> {
::core::convert::TryFrom::try_from(&value)
}
}
#[cfg(feature = "Foundation")]
impl ::core::convert::TryFrom<&ExtendedExecutionForegroundSession> for super::super::super::Foundation::IClosable {
type Error = ::windows::core::Error;
fn try_from(value: &ExtendedExecutionForegroundSession) -> ::windows::core::Result<Self> {
::windows::core::Interface::cast(value)
}
}
#[cfg(feature = "Foundation")]
impl<'a> ::core::convert::TryFrom<&ExtendedExecutionForegroundSession> for ::windows::core::InParam<'a, super::super::super::Foundation::IClosable> {
type Error = ::windows::core::Error;
fn try_from(value: &ExtendedExecutionForegroundSession) -> ::windows::core::Result<Self> {
let item = ::std::convert::TryInto::try_into(value)?;
Ok(::windows::core::InParam::owned(item))
}
}
unsafe impl ::core::marker::Send for ExtendedExecutionForegroundSession {}
unsafe impl ::core::marker::Sync for ExtendedExecutionForegroundSession {}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution_Foreground\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionForegroundReason(pub i32);
impl ExtendedExecutionForegroundReason {
pub const Unspecified: Self = Self(0i32);
pub const SavingData: Self = Self(1i32);
pub const BackgroundAudio: Self = Self(2i32);
pub const Unconstrained: Self = Self(3i32);
}
impl ::core::marker::Copy for ExtendedExecutionForegroundReason {}
impl ::core::clone::Clone for ExtendedExecutionForegroundReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionForegroundReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionForegroundReason {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionForegroundReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionForegroundReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionForegroundReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution_Foreground\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionForegroundResult(pub i32);
impl ExtendedExecutionForegroundResult {
pub const Allowed: Self = Self(0i32);
pub const Denied: Self = Self(1i32);
}
impl ::core::marker::Copy for ExtendedExecutionForegroundResult {}
impl ::core::clone::Clone for ExtendedExecutionForegroundResult {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionForegroundResult {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionForegroundResult {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionForegroundResult {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionForegroundResult").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionForegroundResult {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundResult;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution_Foreground\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionForegroundRevokedReason(pub i32);
impl ExtendedExecutionForegroundRevokedReason {
pub const Resumed: Self = Self(0i32);
pub const SystemPolicy: Self = Self(1i32);
}
impl ::core::marker::Copy for ExtendedExecutionForegroundRevokedReason {}
impl ::core::clone::Clone for ExtendedExecutionForegroundRevokedReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionForegroundRevokedReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionForegroundRevokedReason {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionForegroundRevokedReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionForegroundRevokedReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionForegroundRevokedReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundRevokedReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,386 @@
#[cfg(feature = "ApplicationModel_ExtendedExecution_Foreground")]
pub mod Foreground;
#[doc(hidden)]
#[repr(transparent)]
pub struct IExtendedExecutionRevokedEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExtendedExecutionRevokedEventArgs {
type Vtable = IExtendedExecutionRevokedEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbfbc9f16_63b5_4c0b_aad6_828af5373ec3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExtendedExecutionRevokedEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Reason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ExtendedExecutionRevokedReason) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IExtendedExecutionSession(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IExtendedExecutionSession {
type Vtable = IExtendedExecutionSession_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaf908a2d_118b_48f1_9308_0c4fc41e200f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IExtendedExecutionSession_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Reason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ExtendedExecutionReason) -> ::windows::core::HRESULT,
pub SetReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ExtendedExecutionReason) -> ::windows::core::HRESULT,
pub Description: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub PercentProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
pub SetPercentProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Revoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Revoked: usize,
#[cfg(feature = "Foundation")]
pub RemoveRevoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveRevoked: usize,
#[cfg(feature = "Foundation")]
pub RequestExtensionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RequestExtensionAsync: usize,
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution\"`*"]
#[repr(transparent)]
pub struct ExtendedExecutionRevokedEventArgs(::windows::core::IUnknown);
impl ExtendedExecutionRevokedEventArgs {
pub fn Reason(&self) -> ::windows::core::Result<ExtendedExecutionRevokedReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Reason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<ExtendedExecutionRevokedReason>(result__)
}
}
}
impl ::core::clone::Clone for ExtendedExecutionRevokedEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ExtendedExecutionRevokedEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExtendedExecutionRevokedEventArgs {}
impl ::core::fmt::Debug for ExtendedExecutionRevokedEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionRevokedEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionRevokedEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionRevokedEventArgs;{bfbc9f16-63b5-4c0b-aad6-828af5373ec3})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ExtendedExecutionRevokedEventArgs {
type Vtable = IExtendedExecutionRevokedEventArgs_Vtbl;
const IID: ::windows::core::GUID = <IExtendedExecutionRevokedEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ExtendedExecutionRevokedEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionRevokedEventArgs";
}
impl ::core::convert::From<ExtendedExecutionRevokedEventArgs> for ::windows::core::IUnknown {
fn from(value: ExtendedExecutionRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionRevokedEventArgs> for ::windows::core::IUnknown {
fn from(value: &ExtendedExecutionRevokedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionRevokedEventArgs> for &::windows::core::IUnknown {
fn from(value: &ExtendedExecutionRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ExtendedExecutionRevokedEventArgs> for ::windows::core::IInspectable {
fn from(value: ExtendedExecutionRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionRevokedEventArgs> for ::windows::core::IInspectable {
fn from(value: &ExtendedExecutionRevokedEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionRevokedEventArgs> for &::windows::core::IInspectable {
fn from(value: &ExtendedExecutionRevokedEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for ExtendedExecutionRevokedEventArgs {}
unsafe impl ::core::marker::Sync for ExtendedExecutionRevokedEventArgs {}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution\"`*"]
#[repr(transparent)]
pub struct ExtendedExecutionSession(::windows::core::IUnknown);
impl ExtendedExecutionSession {
pub fn new() -> ::windows::core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<R, F: FnOnce(&::windows::core::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<ExtendedExecutionSession, ::windows::core::IGenericFactory> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows::core::Result<()> {
let this = &::windows::core::Interface::cast::<super::super::Foundation::IClosable>(self)?;
unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn Reason(&self) -> ::windows::core::Result<ExtendedExecutionReason> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Reason)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<ExtendedExecutionReason>(result__)
}
}
pub fn SetReason(&self, value: ExtendedExecutionReason) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetReason)(::windows::core::Interface::as_raw(this), value).ok() }
}
pub fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Description)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn PercentProgress(&self) -> ::windows::core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PercentProgress)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<u32>(result__)
}
}
pub fn SetPercentProgress(&self, value: u32) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPercentProgress)(::windows::core::Interface::as_raw(this), value).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Revoked<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<::windows::core::IInspectable, ExtendedExecutionRevokedEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Revoked)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveRevoked(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveRevoked)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RequestExtensionAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ExtendedExecutionResult>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RequestExtensionAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IAsyncOperation<ExtendedExecutionResult>>(result__)
}
}
}
impl ::core::clone::Clone for ExtendedExecutionSession {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for ExtendedExecutionSession {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ExtendedExecutionSession {}
impl ::core::fmt::Debug for ExtendedExecutionSession {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionSession").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionSession {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionSession;{af908a2d-118b-48f1-9308-0c4fc41e200f})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for ExtendedExecutionSession {
type Vtable = IExtendedExecutionSession_Vtbl;
const IID: ::windows::core::GUID = <IExtendedExecutionSession as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for ExtendedExecutionSession {
const NAME: &'static str = "Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionSession";
}
impl ::core::convert::From<ExtendedExecutionSession> for ::windows::core::IUnknown {
fn from(value: ExtendedExecutionSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionSession> for ::windows::core::IUnknown {
fn from(value: &ExtendedExecutionSession) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionSession> for &::windows::core::IUnknown {
fn from(value: &ExtendedExecutionSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<ExtendedExecutionSession> for ::windows::core::IInspectable {
fn from(value: ExtendedExecutionSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&ExtendedExecutionSession> for ::windows::core::IInspectable {
fn from(value: &ExtendedExecutionSession) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&ExtendedExecutionSession> for &::windows::core::IInspectable {
fn from(value: &ExtendedExecutionSession) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "Foundation")]
impl ::core::convert::TryFrom<ExtendedExecutionSession> for super::super::Foundation::IClosable {
type Error = ::windows::core::Error;
fn try_from(value: ExtendedExecutionSession) -> ::windows::core::Result<Self> {
::core::convert::TryFrom::try_from(&value)
}
}
#[cfg(feature = "Foundation")]
impl ::core::convert::TryFrom<&ExtendedExecutionSession> for super::super::Foundation::IClosable {
type Error = ::windows::core::Error;
fn try_from(value: &ExtendedExecutionSession) -> ::windows::core::Result<Self> {
::windows::core::Interface::cast(value)
}
}
#[cfg(feature = "Foundation")]
impl<'a> ::core::convert::TryFrom<&ExtendedExecutionSession> for ::windows::core::InParam<'a, super::super::Foundation::IClosable> {
type Error = ::windows::core::Error;
fn try_from(value: &ExtendedExecutionSession) -> ::windows::core::Result<Self> {
let item = ::std::convert::TryInto::try_into(value)?;
Ok(::windows::core::InParam::owned(item))
}
}
unsafe impl ::core::marker::Send for ExtendedExecutionSession {}
unsafe impl ::core::marker::Sync for ExtendedExecutionSession {}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionReason(pub i32);
impl ExtendedExecutionReason {
pub const Unspecified: Self = Self(0i32);
pub const LocationTracking: Self = Self(1i32);
pub const SavingData: Self = Self(2i32);
}
impl ::core::marker::Copy for ExtendedExecutionReason {}
impl ::core::clone::Clone for ExtendedExecutionReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionReason {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionResult(pub i32);
impl ExtendedExecutionResult {
pub const Allowed: Self = Self(0i32);
pub const Denied: Self = Self(1i32);
}
impl ::core::marker::Copy for ExtendedExecutionResult {}
impl ::core::clone::Clone for ExtendedExecutionResult {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionResult {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionResult {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionResult {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionResult").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionResult {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionResult;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[doc = "*Required features: `\"ApplicationModel_ExtendedExecution\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ExtendedExecutionRevokedReason(pub i32);
impl ExtendedExecutionRevokedReason {
pub const Resumed: Self = Self(0i32);
pub const SystemPolicy: Self = Self(1i32);
}
impl ::core::marker::Copy for ExtendedExecutionRevokedReason {}
impl ::core::clone::Clone for ExtendedExecutionRevokedReason {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ExtendedExecutionRevokedReason {
fn default() -> Self {
Self(0)
}
}
unsafe impl ::windows::core::Abi for ExtendedExecutionRevokedReason {
type Abi = Self;
}
impl ::core::fmt::Debug for ExtendedExecutionRevokedReason {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ExtendedExecutionRevokedReason").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for ExtendedExecutionRevokedReason {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionRevokedReason;i4)");
type DefaultType = Self;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
Ok(*from)
}
}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,136 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IHolographicKeyboard(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IHolographicKeyboard {
type Vtable = IHolographicKeyboard_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x07dd0893_aa21_5e6f_a91b_11b2b3fd7be3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IHolographicKeyboard_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
pub SetPlacementOverride: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, coordinatesystem: *mut ::core::ffi::c_void, topcenterposition: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))]
SetPlacementOverride: usize,
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
pub SetPlacementOverrideWithMaxSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, coordinatesystem: *mut ::core::ffi::c_void, topcenterposition: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion, maxsize: super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))]
SetPlacementOverrideWithMaxSize: usize,
pub ResetPlacementOverride: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IHolographicKeyboardStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IHolographicKeyboardStatics {
type Vtable = IHolographicKeyboardStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb676c624_63d7_58cf_b06b_08baa032a23f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IHolographicKeyboardStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub GetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"ApplicationModel_Holographic\"`*"]
#[repr(transparent)]
pub struct HolographicKeyboard(::windows::core::IUnknown);
impl HolographicKeyboard {
#[doc = "*Required features: `\"Foundation_Numerics\"`, `\"Perception_Spatial\"`*"]
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
pub fn SetPlacementOverride<'a, P0>(&self, coordinatesystem: P0, topcenterposition: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPlacementOverride)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), topcenterposition, orientation).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`, `\"Perception_Spatial\"`*"]
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
pub fn SetPlacementOverrideWithMaxSize<'a, P0>(&self, coordinatesystem: P0, topcenterposition: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion, maxsize: super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPlacementOverrideWithMaxSize)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), topcenterposition, orientation, maxsize).ok() }
}
pub fn ResetPlacementOverride(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ResetPlacementOverride)(::windows::core::Interface::as_raw(this)).ok() }
}
pub fn GetDefault() -> ::windows::core::Result<HolographicKeyboard> {
Self::IHolographicKeyboardStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetDefault)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<HolographicKeyboard>(result__)
})
}
#[doc(hidden)]
pub fn IHolographicKeyboardStatics<R, F: FnOnce(&IHolographicKeyboardStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<HolographicKeyboard, IHolographicKeyboardStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for HolographicKeyboard {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for HolographicKeyboard {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for HolographicKeyboard {}
impl ::core::fmt::Debug for HolographicKeyboard {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("HolographicKeyboard").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for HolographicKeyboard {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Holographic.HolographicKeyboard;{07dd0893-aa21-5e6f-a91b-11b2b3fd7be3})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for HolographicKeyboard {
type Vtable = IHolographicKeyboard_Vtbl;
const IID: ::windows::core::GUID = <IHolographicKeyboard as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for HolographicKeyboard {
const NAME: &'static str = "Windows.ApplicationModel.Holographic.HolographicKeyboard";
}
impl ::core::convert::From<HolographicKeyboard> for ::windows::core::IUnknown {
fn from(value: HolographicKeyboard) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&HolographicKeyboard> for ::windows::core::IUnknown {
fn from(value: &HolographicKeyboard) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&HolographicKeyboard> for &::windows::core::IUnknown {
fn from(value: &HolographicKeyboard) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<HolographicKeyboard> for ::windows::core::IInspectable {
fn from(value: HolographicKeyboard) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&HolographicKeyboard> for ::windows::core::IInspectable {
fn from(value: &HolographicKeyboard) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&HolographicKeyboard> for &::windows::core::IInspectable {
fn from(value: &HolographicKeyboard) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for HolographicKeyboard {}
unsafe impl ::core::marker::Sync for HolographicKeyboard {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,686 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockApplicationHost(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockApplicationHost {
type Vtable = ILockApplicationHost_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x38ee31ad_d94f_4e7c_81fa_4f4436506281);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockApplicationHost_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub RequestUnlock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Unlocking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Unlocking: usize,
#[cfg(feature = "Foundation")]
pub RemoveUnlocking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveUnlocking: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockApplicationHostStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockApplicationHostStatics {
type Vtable = ILockApplicationHostStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf48fab8e_23d7_4e63_96a1_666ff52d3b2c);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockApplicationHostStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockScreenBadge(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockScreenBadge {
type Vtable = ILockScreenBadge_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe95105d9_2bff_4db0_9b4f_3824778b9c9a);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockScreenBadge_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Storage_Streams")]
pub Logo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
Logo: usize,
#[cfg(feature = "Storage_Streams")]
pub Glyph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
Glyph: usize,
#[cfg(feature = "Foundation")]
pub Number: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Number: usize,
pub AutomationName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub LaunchApp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockScreenInfo(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockScreenInfo {
type Vtable = ILockScreenInfo_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf59aa65c_9711_4dc9_a630_95b6cb8cdad0);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockScreenInfo_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub LockScreenImageChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
LockScreenImageChanged: usize,
#[cfg(feature = "Foundation")]
pub RemoveLockScreenImageChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveLockScreenImageChanged: usize,
#[cfg(feature = "Storage_Streams")]
pub LockScreenImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
LockScreenImage: usize,
#[cfg(feature = "Foundation")]
pub BadgesChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
BadgesChanged: usize,
#[cfg(feature = "Foundation")]
pub RemoveBadgesChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveBadgesChanged: usize,
#[cfg(feature = "Foundation_Collections")]
pub Badges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Badges: usize,
#[cfg(feature = "Foundation")]
pub DetailTextChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
DetailTextChanged: usize,
#[cfg(feature = "Foundation")]
pub RemoveDetailTextChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveDetailTextChanged: usize,
#[cfg(feature = "Foundation_Collections")]
pub DetailText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
DetailText: usize,
#[cfg(feature = "Foundation")]
pub AlarmIconChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
AlarmIconChanged: usize,
#[cfg(feature = "Foundation")]
pub RemoveAlarmIconChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveAlarmIconChanged: usize,
#[cfg(feature = "Storage_Streams")]
pub AlarmIcon: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
AlarmIcon: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockScreenUnlockingDeferral(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockScreenUnlockingDeferral {
type Vtable = ILockScreenUnlockingDeferral_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7e7d1ad6_5203_43e7_9bd6_7c3947d1e3fe);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockScreenUnlockingDeferral_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Complete: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct ILockScreenUnlockingEventArgs(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for ILockScreenUnlockingEventArgs {
type Vtable = ILockScreenUnlockingEventArgs_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x44e6c007_75fb_4abb_9f8b_824748900c71);
}
#[repr(C)]
#[doc(hidden)]
pub struct ILockScreenUnlockingEventArgs_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub Deadline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Deadline: usize,
}
#[doc = "*Required features: `\"ApplicationModel_LockScreen\"`*"]
#[repr(transparent)]
pub struct LockApplicationHost(::windows::core::IUnknown);
impl LockApplicationHost {
pub fn RequestUnlock(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RequestUnlock)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Unlocking<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<LockApplicationHost, LockScreenUnlockingEventArgs>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Unlocking)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveUnlocking(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveUnlocking)(::windows::core::Interface::as_raw(this), token).ok() }
}
pub fn GetForCurrentView() -> ::windows::core::Result<LockApplicationHost> {
Self::ILockApplicationHostStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<LockApplicationHost>(result__)
})
}
#[doc(hidden)]
pub fn ILockApplicationHostStatics<R, F: FnOnce(&ILockApplicationHostStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<LockApplicationHost, ILockApplicationHostStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for LockApplicationHost {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for LockApplicationHost {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LockApplicationHost {}
impl ::core::fmt::Debug for LockApplicationHost {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LockApplicationHost").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for LockApplicationHost {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LockScreen.LockApplicationHost;{38ee31ad-d94f-4e7c-81fa-4f4436506281})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for LockApplicationHost {
type Vtable = ILockApplicationHost_Vtbl;
const IID: ::windows::core::GUID = <ILockApplicationHost as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for LockApplicationHost {
const NAME: &'static str = "Windows.ApplicationModel.LockScreen.LockApplicationHost";
}
impl ::core::convert::From<LockApplicationHost> for ::windows::core::IUnknown {
fn from(value: LockApplicationHost) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockApplicationHost> for ::windows::core::IUnknown {
fn from(value: &LockApplicationHost) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockApplicationHost> for &::windows::core::IUnknown {
fn from(value: &LockApplicationHost) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<LockApplicationHost> for ::windows::core::IInspectable {
fn from(value: LockApplicationHost) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockApplicationHost> for ::windows::core::IInspectable {
fn from(value: &LockApplicationHost) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockApplicationHost> for &::windows::core::IInspectable {
fn from(value: &LockApplicationHost) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for LockApplicationHost {}
unsafe impl ::core::marker::Sync for LockApplicationHost {}
#[doc = "*Required features: `\"ApplicationModel_LockScreen\"`*"]
#[repr(transparent)]
pub struct LockScreenBadge(::windows::core::IUnknown);
impl LockScreenBadge {
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn Logo(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Logo)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Storage::Streams::IRandomAccessStream>(result__)
}
}
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn Glyph(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Glyph)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Storage::Streams::IRandomAccessStream>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Number(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Number)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::IReference<u32>>(result__)
}
}
pub fn AutomationName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AutomationName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn LaunchApp(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).LaunchApp)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for LockScreenBadge {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for LockScreenBadge {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LockScreenBadge {}
impl ::core::fmt::Debug for LockScreenBadge {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LockScreenBadge").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for LockScreenBadge {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LockScreen.LockScreenBadge;{e95105d9-2bff-4db0-9b4f-3824778b9c9a})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for LockScreenBadge {
type Vtable = ILockScreenBadge_Vtbl;
const IID: ::windows::core::GUID = <ILockScreenBadge as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for LockScreenBadge {
const NAME: &'static str = "Windows.ApplicationModel.LockScreen.LockScreenBadge";
}
impl ::core::convert::From<LockScreenBadge> for ::windows::core::IUnknown {
fn from(value: LockScreenBadge) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenBadge> for ::windows::core::IUnknown {
fn from(value: &LockScreenBadge) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenBadge> for &::windows::core::IUnknown {
fn from(value: &LockScreenBadge) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<LockScreenBadge> for ::windows::core::IInspectable {
fn from(value: LockScreenBadge) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenBadge> for ::windows::core::IInspectable {
fn from(value: &LockScreenBadge) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenBadge> for &::windows::core::IInspectable {
fn from(value: &LockScreenBadge) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for LockScreenBadge {}
unsafe impl ::core::marker::Sync for LockScreenBadge {}
#[doc = "*Required features: `\"ApplicationModel_LockScreen\"`*"]
#[repr(transparent)]
pub struct LockScreenInfo(::windows::core::IUnknown);
impl LockScreenInfo {
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn LockScreenImageChanged<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<LockScreenInfo, ::windows::core::IInspectable>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LockScreenImageChanged)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveLockScreenImageChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveLockScreenImageChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn LockScreenImage(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).LockScreenImage)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Storage::Streams::IRandomAccessStream>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn BadgesChanged<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<LockScreenInfo, ::windows::core::IInspectable>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).BadgesChanged)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveBadgesChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveBadgesChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn Badges(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<LockScreenBadge>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Badges)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::Collections::IVectorView<LockScreenBadge>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn DetailTextChanged<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<LockScreenInfo, ::windows::core::IInspectable>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DetailTextChanged)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveDetailTextChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveDetailTextChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn DetailText(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).DetailText)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn AlarmIconChanged<'a, P0>(&self, handler: P0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Foundation::TypedEventHandler<LockScreenInfo, ::windows::core::IInspectable>>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AlarmIconChanged)(::windows::core::Interface::as_raw(this), handler.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn RemoveAlarmIconChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).RemoveAlarmIconChanged)(::windows::core::Interface::as_raw(this), token).ok() }
}
#[doc = "*Required features: `\"Storage_Streams\"`*"]
#[cfg(feature = "Storage_Streams")]
pub fn AlarmIcon(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AlarmIcon)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Storage::Streams::IRandomAccessStream>(result__)
}
}
}
impl ::core::clone::Clone for LockScreenInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for LockScreenInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LockScreenInfo {}
impl ::core::fmt::Debug for LockScreenInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LockScreenInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for LockScreenInfo {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LockScreen.LockScreenInfo;{f59aa65c-9711-4dc9-a630-95b6cb8cdad0})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for LockScreenInfo {
type Vtable = ILockScreenInfo_Vtbl;
const IID: ::windows::core::GUID = <ILockScreenInfo as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for LockScreenInfo {
const NAME: &'static str = "Windows.ApplicationModel.LockScreen.LockScreenInfo";
}
impl ::core::convert::From<LockScreenInfo> for ::windows::core::IUnknown {
fn from(value: LockScreenInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenInfo> for ::windows::core::IUnknown {
fn from(value: &LockScreenInfo) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenInfo> for &::windows::core::IUnknown {
fn from(value: &LockScreenInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<LockScreenInfo> for ::windows::core::IInspectable {
fn from(value: LockScreenInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenInfo> for ::windows::core::IInspectable {
fn from(value: &LockScreenInfo) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenInfo> for &::windows::core::IInspectable {
fn from(value: &LockScreenInfo) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for LockScreenInfo {}
unsafe impl ::core::marker::Sync for LockScreenInfo {}
#[doc = "*Required features: `\"ApplicationModel_LockScreen\"`*"]
#[repr(transparent)]
pub struct LockScreenUnlockingDeferral(::windows::core::IUnknown);
impl LockScreenUnlockingDeferral {
pub fn Complete(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Complete)(::windows::core::Interface::as_raw(this)).ok() }
}
}
impl ::core::clone::Clone for LockScreenUnlockingDeferral {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for LockScreenUnlockingDeferral {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LockScreenUnlockingDeferral {}
impl ::core::fmt::Debug for LockScreenUnlockingDeferral {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LockScreenUnlockingDeferral").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for LockScreenUnlockingDeferral {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LockScreen.LockScreenUnlockingDeferral;{7e7d1ad6-5203-43e7-9bd6-7c3947d1e3fe})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for LockScreenUnlockingDeferral {
type Vtable = ILockScreenUnlockingDeferral_Vtbl;
const IID: ::windows::core::GUID = <ILockScreenUnlockingDeferral as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for LockScreenUnlockingDeferral {
const NAME: &'static str = "Windows.ApplicationModel.LockScreen.LockScreenUnlockingDeferral";
}
impl ::core::convert::From<LockScreenUnlockingDeferral> for ::windows::core::IUnknown {
fn from(value: LockScreenUnlockingDeferral) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenUnlockingDeferral> for ::windows::core::IUnknown {
fn from(value: &LockScreenUnlockingDeferral) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenUnlockingDeferral> for &::windows::core::IUnknown {
fn from(value: &LockScreenUnlockingDeferral) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<LockScreenUnlockingDeferral> for ::windows::core::IInspectable {
fn from(value: LockScreenUnlockingDeferral) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenUnlockingDeferral> for ::windows::core::IInspectable {
fn from(value: &LockScreenUnlockingDeferral) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenUnlockingDeferral> for &::windows::core::IInspectable {
fn from(value: &LockScreenUnlockingDeferral) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for LockScreenUnlockingDeferral {}
unsafe impl ::core::marker::Sync for LockScreenUnlockingDeferral {}
#[doc = "*Required features: `\"ApplicationModel_LockScreen\"`*"]
#[repr(transparent)]
pub struct LockScreenUnlockingEventArgs(::windows::core::IUnknown);
impl LockScreenUnlockingEventArgs {
pub fn GetDeferral(&self) -> ::windows::core::Result<LockScreenUnlockingDeferral> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetDeferral)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<LockScreenUnlockingDeferral>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn Deadline(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Deadline)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::Foundation::DateTime>(result__)
}
}
}
impl ::core::clone::Clone for LockScreenUnlockingEventArgs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for LockScreenUnlockingEventArgs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for LockScreenUnlockingEventArgs {}
impl ::core::fmt::Debug for LockScreenUnlockingEventArgs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LockScreenUnlockingEventArgs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for LockScreenUnlockingEventArgs {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LockScreen.LockScreenUnlockingEventArgs;{44e6c007-75fb-4abb-9f8b-824748900c71})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for LockScreenUnlockingEventArgs {
type Vtable = ILockScreenUnlockingEventArgs_Vtbl;
const IID: ::windows::core::GUID = <ILockScreenUnlockingEventArgs as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for LockScreenUnlockingEventArgs {
const NAME: &'static str = "Windows.ApplicationModel.LockScreen.LockScreenUnlockingEventArgs";
}
impl ::core::convert::From<LockScreenUnlockingEventArgs> for ::windows::core::IUnknown {
fn from(value: LockScreenUnlockingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenUnlockingEventArgs> for ::windows::core::IUnknown {
fn from(value: &LockScreenUnlockingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenUnlockingEventArgs> for &::windows::core::IUnknown {
fn from(value: &LockScreenUnlockingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<LockScreenUnlockingEventArgs> for ::windows::core::IInspectable {
fn from(value: LockScreenUnlockingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&LockScreenUnlockingEventArgs> for ::windows::core::IInspectable {
fn from(value: &LockScreenUnlockingEventArgs) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&LockScreenUnlockingEventArgs> for &::windows::core::IInspectable {
fn from(value: &LockScreenUnlockingEventArgs) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for LockScreenUnlockingEventArgs {}
unsafe impl ::core::marker::Sync for LockScreenUnlockingEventArgs {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1,525 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentAppCanMakePaymentTriggerDetails(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentAppCanMakePaymentTriggerDetails {
type Vtable = IPaymentAppCanMakePaymentTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0ce201f0_8b93_4eb6_8c46_2e4a6c6a26f6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentAppCanMakePaymentTriggerDetails_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Request: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReportCanMakePaymentResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentAppManager(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentAppManager {
type Vtable = IPaymentAppManager_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0e47aa53_8521_4969_a957_df2538a3a98f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentAppManager_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation_Collections")]
pub RegisterAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, supportedpaymentmethodids: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
RegisterAsync: usize,
#[cfg(feature = "Foundation")]
pub UnregisterAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
UnregisterAsync: usize,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentAppManagerStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentAppManagerStatics {
type Vtable = IPaymentAppManagerStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa341ac28_fc89_4406_b4d9_34e7fe79dfb6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentAppManagerStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Current: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentTransaction(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentTransaction {
type Vtable = IPaymentTransaction_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62581da0_26a5_4e9b_a6eb_66606cf001d3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentTransaction_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub PaymentRequest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PayerEmail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetPayerEmail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub PayerName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetPayerName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub PayerPhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
pub SetPayerPhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
#[cfg(feature = "Foundation")]
pub UpdateShippingAddressAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, shippingaddress: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
UpdateShippingAddressAsync: usize,
#[cfg(feature = "Foundation")]
pub UpdateSelectedShippingOptionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, selectedshippingoption: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
UpdateSelectedShippingOptionAsync: usize,
#[cfg(feature = "Foundation")]
pub AcceptAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paymenttoken: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
AcceptAsync: usize,
pub Reject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentTransactionAcceptResult(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentTransactionAcceptResult {
type Vtable = IPaymentTransactionAcceptResult_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x060e3276_d30c_4817_95a2_df7ae9273b56);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentTransactionAcceptResult_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::PaymentRequestCompletionStatus) -> ::windows::core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
pub struct IPaymentTransactionStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IPaymentTransactionStatics {
type Vtable = IPaymentTransactionStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8d639750_ee0a_4df5_9b1e_1c0f9ec59881);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPaymentTransactionStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "Foundation")]
pub FromIdAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Foundation"))]
FromIdAsync: usize,
}
#[doc = "*Required features: `\"ApplicationModel_Payments_Provider\"`*"]
#[repr(transparent)]
pub struct PaymentAppCanMakePaymentTriggerDetails(::windows::core::IUnknown);
impl PaymentAppCanMakePaymentTriggerDetails {
pub fn Request(&self) -> ::windows::core::Result<super::PaymentRequest> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Request)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::PaymentRequest>(result__)
}
}
pub fn ReportCanMakePaymentResult<'a, P0>(&self, value: P0) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::PaymentCanMakePaymentResult>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ReportCanMakePaymentResult)(::windows::core::Interface::as_raw(this), value.into().abi()).ok() }
}
}
impl ::core::clone::Clone for PaymentAppCanMakePaymentTriggerDetails {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PaymentAppCanMakePaymentTriggerDetails {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PaymentAppCanMakePaymentTriggerDetails {}
impl ::core::fmt::Debug for PaymentAppCanMakePaymentTriggerDetails {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PaymentAppCanMakePaymentTriggerDetails").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PaymentAppCanMakePaymentTriggerDetails {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Payments.Provider.PaymentAppCanMakePaymentTriggerDetails;{0ce201f0-8b93-4eb6-8c46-2e4a6c6a26f6})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PaymentAppCanMakePaymentTriggerDetails {
type Vtable = IPaymentAppCanMakePaymentTriggerDetails_Vtbl;
const IID: ::windows::core::GUID = <IPaymentAppCanMakePaymentTriggerDetails as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PaymentAppCanMakePaymentTriggerDetails {
const NAME: &'static str = "Windows.ApplicationModel.Payments.Provider.PaymentAppCanMakePaymentTriggerDetails";
}
impl ::core::convert::From<PaymentAppCanMakePaymentTriggerDetails> for ::windows::core::IUnknown {
fn from(value: PaymentAppCanMakePaymentTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentAppCanMakePaymentTriggerDetails> for ::windows::core::IUnknown {
fn from(value: &PaymentAppCanMakePaymentTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentAppCanMakePaymentTriggerDetails> for &::windows::core::IUnknown {
fn from(value: &PaymentAppCanMakePaymentTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PaymentAppCanMakePaymentTriggerDetails> for ::windows::core::IInspectable {
fn from(value: PaymentAppCanMakePaymentTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentAppCanMakePaymentTriggerDetails> for ::windows::core::IInspectable {
fn from(value: &PaymentAppCanMakePaymentTriggerDetails) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentAppCanMakePaymentTriggerDetails> for &::windows::core::IInspectable {
fn from(value: &PaymentAppCanMakePaymentTriggerDetails) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PaymentAppCanMakePaymentTriggerDetails {}
unsafe impl ::core::marker::Sync for PaymentAppCanMakePaymentTriggerDetails {}
#[doc = "*Required features: `\"ApplicationModel_Payments_Provider\"`*"]
#[repr(transparent)]
pub struct PaymentAppManager(::windows::core::IUnknown);
impl PaymentAppManager {
#[doc = "*Required features: `\"Foundation_Collections\"`*"]
#[cfg(feature = "Foundation_Collections")]
pub fn RegisterAsync<'a, P0, E0>(&self, supportedpaymentmethodids: P0) -> ::windows::core::Result<super::super::super::Foundation::IAsyncAction>
where
P0: ::std::convert::TryInto<::windows::core::InParam<'a, super::super::super::Foundation::Collections::IIterable<::windows::core::HSTRING>>, Error = E0>,
E0: ::std::convert::Into<::windows::core::Error>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).RegisterAsync)(::windows::core::Interface::as_raw(this), supportedpaymentmethodids.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncAction>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn UnregisterAsync(&self) -> ::windows::core::Result<super::super::super::Foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).UnregisterAsync)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncAction>(result__)
}
}
pub fn Current() -> ::windows::core::Result<PaymentAppManager> {
Self::IPaymentAppManagerStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Current)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<PaymentAppManager>(result__)
})
}
#[doc(hidden)]
pub fn IPaymentAppManagerStatics<R, F: FnOnce(&IPaymentAppManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PaymentAppManager, IPaymentAppManagerStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for PaymentAppManager {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PaymentAppManager {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PaymentAppManager {}
impl ::core::fmt::Debug for PaymentAppManager {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PaymentAppManager").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PaymentAppManager {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Payments.Provider.PaymentAppManager;{0e47aa53-8521-4969-a957-df2538a3a98f})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PaymentAppManager {
type Vtable = IPaymentAppManager_Vtbl;
const IID: ::windows::core::GUID = <IPaymentAppManager as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PaymentAppManager {
const NAME: &'static str = "Windows.ApplicationModel.Payments.Provider.PaymentAppManager";
}
impl ::core::convert::From<PaymentAppManager> for ::windows::core::IUnknown {
fn from(value: PaymentAppManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentAppManager> for ::windows::core::IUnknown {
fn from(value: &PaymentAppManager) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentAppManager> for &::windows::core::IUnknown {
fn from(value: &PaymentAppManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PaymentAppManager> for ::windows::core::IInspectable {
fn from(value: PaymentAppManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentAppManager> for ::windows::core::IInspectable {
fn from(value: &PaymentAppManager) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentAppManager> for &::windows::core::IInspectable {
fn from(value: &PaymentAppManager) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PaymentAppManager {}
unsafe impl ::core::marker::Sync for PaymentAppManager {}
#[doc = "*Required features: `\"ApplicationModel_Payments_Provider\"`*"]
#[repr(transparent)]
pub struct PaymentTransaction(::windows::core::IUnknown);
impl PaymentTransaction {
pub fn PaymentRequest(&self) -> ::windows::core::Result<super::PaymentRequest> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PaymentRequest)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::PaymentRequest>(result__)
}
}
pub fn PayerEmail(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PayerEmail)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetPayerEmail(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPayerEmail)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn PayerName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PayerName)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetPayerName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPayerName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
pub fn PayerPhoneNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).PayerPhoneNumber)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<::windows::core::HSTRING>(result__)
}
}
pub fn SetPayerPhoneNumber(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPayerPhoneNumber)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn UpdateShippingAddressAsync<'a, P0>(&self, shippingaddress: P0) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<super::PaymentRequestChangedResult>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::PaymentAddress>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).UpdateShippingAddressAsync)(::windows::core::Interface::as_raw(this), shippingaddress.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<super::PaymentRequestChangedResult>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn UpdateSelectedShippingOptionAsync<'a, P0>(&self, selectedshippingoption: P0) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<super::PaymentRequestChangedResult>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::PaymentShippingOption>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).UpdateSelectedShippingOptionAsync)(::windows::core::Interface::as_raw(this), selectedshippingoption.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<super::PaymentRequestChangedResult>>(result__)
}
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn AcceptAsync<'a, P0>(&self, paymenttoken: P0) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<PaymentTransactionAcceptResult>>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::PaymentToken>>,
{
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).AcceptAsync)(::windows::core::Interface::as_raw(this), paymenttoken.into().abi(), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<PaymentTransactionAcceptResult>>(result__)
}
}
pub fn Reject(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).Reject)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"Foundation\"`*"]
#[cfg(feature = "Foundation")]
pub fn FromIdAsync(id: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<PaymentTransaction>> {
Self::IPaymentTransactionStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).FromIdAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(id), result__.as_mut_ptr()).from_abi::<super::super::super::Foundation::IAsyncOperation<PaymentTransaction>>(result__)
})
}
#[doc(hidden)]
pub fn IPaymentTransactionStatics<R, F: FnOnce(&IPaymentTransactionStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<PaymentTransaction, IPaymentTransactionStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::core::clone::Clone for PaymentTransaction {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PaymentTransaction {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PaymentTransaction {}
impl ::core::fmt::Debug for PaymentTransaction {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PaymentTransaction").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PaymentTransaction {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Payments.Provider.PaymentTransaction;{62581da0-26a5-4e9b-a6eb-66606cf001d3})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PaymentTransaction {
type Vtable = IPaymentTransaction_Vtbl;
const IID: ::windows::core::GUID = <IPaymentTransaction as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PaymentTransaction {
const NAME: &'static str = "Windows.ApplicationModel.Payments.Provider.PaymentTransaction";
}
impl ::core::convert::From<PaymentTransaction> for ::windows::core::IUnknown {
fn from(value: PaymentTransaction) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentTransaction> for ::windows::core::IUnknown {
fn from(value: &PaymentTransaction) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentTransaction> for &::windows::core::IUnknown {
fn from(value: &PaymentTransaction) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PaymentTransaction> for ::windows::core::IInspectable {
fn from(value: PaymentTransaction) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentTransaction> for ::windows::core::IInspectable {
fn from(value: &PaymentTransaction) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentTransaction> for &::windows::core::IInspectable {
fn from(value: &PaymentTransaction) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PaymentTransaction {}
unsafe impl ::core::marker::Sync for PaymentTransaction {}
#[doc = "*Required features: `\"ApplicationModel_Payments_Provider\"`*"]
#[repr(transparent)]
pub struct PaymentTransactionAcceptResult(::windows::core::IUnknown);
impl PaymentTransactionAcceptResult {
pub fn Status(&self) -> ::windows::core::Result<super::PaymentRequestCompletionStatus> {
let this = self;
unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<super::PaymentRequestCompletionStatus>(result__)
}
}
}
impl ::core::clone::Clone for PaymentTransactionAcceptResult {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
impl ::core::cmp::PartialEq for PaymentTransactionAcceptResult {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for PaymentTransactionAcceptResult {}
impl ::core::fmt::Debug for PaymentTransactionAcceptResult {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PaymentTransactionAcceptResult").field(&self.0).finish()
}
}
unsafe impl ::windows::core::RuntimeType for PaymentTransactionAcceptResult {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Payments.Provider.PaymentTransactionAcceptResult;{060e3276-d30c-4817-95a2-df7ae9273b56})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
unsafe impl ::windows::core::Interface for PaymentTransactionAcceptResult {
type Vtable = IPaymentTransactionAcceptResult_Vtbl;
const IID: ::windows::core::GUID = <IPaymentTransactionAcceptResult as ::windows::core::Interface>::IID;
}
impl ::windows::core::RuntimeName for PaymentTransactionAcceptResult {
const NAME: &'static str = "Windows.ApplicationModel.Payments.Provider.PaymentTransactionAcceptResult";
}
impl ::core::convert::From<PaymentTransactionAcceptResult> for ::windows::core::IUnknown {
fn from(value: PaymentTransactionAcceptResult) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentTransactionAcceptResult> for ::windows::core::IUnknown {
fn from(value: &PaymentTransactionAcceptResult) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentTransactionAcceptResult> for &::windows::core::IUnknown {
fn from(value: &PaymentTransactionAcceptResult) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<PaymentTransactionAcceptResult> for ::windows::core::IInspectable {
fn from(value: PaymentTransactionAcceptResult) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
impl ::core::convert::From<&PaymentTransactionAcceptResult> for ::windows::core::IInspectable {
fn from(value: &PaymentTransactionAcceptResult) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
impl ::core::convert::From<&PaymentTransactionAcceptResult> for &::windows::core::IInspectable {
fn from(value: &PaymentTransactionAcceptResult) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
unsafe impl ::core::marker::Send for PaymentTransactionAcceptResult {}
unsafe impl ::core::marker::Sync for PaymentTransactionAcceptResult {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

View File

@ -0,0 +1 @@

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,217 @@
#[doc(hidden)]
#[repr(transparent)]
pub struct IHolographicApplicationPreviewStatics(::windows::core::IUnknown);
unsafe impl ::windows::core::Interface for IHolographicApplicationPreviewStatics {
type Vtable = IHolographicApplicationPreviewStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfe038691_2a3a_45a9_a208_7bed691919f3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IHolographicApplicationPreviewStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
pub IsCurrentViewPresentedOnHolographicDisplay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(feature = "ApplicationModel_Activation")]
pub IsHolographicActivation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatedeventargs: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
#[cfg(not(feature = "ApplicationModel_Activation"))]
IsHolographicActivation: usize,
}
#[doc(hidden)]
#[cfg(feature = "deprecated")]
#[repr(transparent)]
pub struct IHolographicKeyboardPlacementOverridePreview(::windows::core::IUnknown);
#[cfg(feature = "deprecated")]
unsafe impl ::windows::core::Interface for IHolographicKeyboardPlacementOverridePreview {
type Vtable = IHolographicKeyboardPlacementOverridePreview_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc8a8ce3a_dfde_5a14_8d5f_182c526dd9c4);
}
#[cfg(feature = "deprecated")]
#[repr(C)]
#[doc(hidden)]
pub struct IHolographicKeyboardPlacementOverridePreview_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated"))]
pub SetPlacementOverride: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, coordinatesystem: *mut ::core::ffi::c_void, topcenterposition: super::super::super::Foundation::Numerics::Vector3, normal: super::super::super::Foundation::Numerics::Vector3) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated")))]
SetPlacementOverride: usize,
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated"))]
pub SetPlacementOverrideWithMaxSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, coordinatesystem: *mut ::core::ffi::c_void, topcenterposition: super::super::super::Foundation::Numerics::Vector3, normal: super::super::super::Foundation::Numerics::Vector3, maxsize: super::super::super::Foundation::Numerics::Vector2) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated")))]
SetPlacementOverrideWithMaxSize: usize,
#[cfg(feature = "deprecated")]
pub ResetPlacementOverride: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "deprecated"))]
ResetPlacementOverride: usize,
}
#[doc(hidden)]
#[cfg(feature = "deprecated")]
#[repr(transparent)]
pub struct IHolographicKeyboardPlacementOverridePreviewStatics(::windows::core::IUnknown);
#[cfg(feature = "deprecated")]
unsafe impl ::windows::core::Interface for IHolographicKeyboardPlacementOverridePreviewStatics {
type Vtable = IHolographicKeyboardPlacementOverridePreviewStatics_Vtbl;
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x202e6039_1ff6_5a06_aac4_a5e24fa3ec4b);
}
#[cfg(feature = "deprecated")]
#[repr(C)]
#[doc(hidden)]
pub struct IHolographicKeyboardPlacementOverridePreviewStatics_Vtbl {
pub base__: ::windows::core::IInspectableVtbl,
#[cfg(feature = "deprecated")]
pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "deprecated"))]
GetForCurrentView: usize,
}
#[doc = "*Required features: `\"ApplicationModel_Preview_Holographic\"`*"]
pub struct HolographicApplicationPreview;
impl HolographicApplicationPreview {
pub fn IsCurrentViewPresentedOnHolographicDisplay() -> ::windows::core::Result<bool> {
Self::IHolographicApplicationPreviewStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsCurrentViewPresentedOnHolographicDisplay)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
#[doc = "*Required features: `\"ApplicationModel_Activation\"`*"]
#[cfg(feature = "ApplicationModel_Activation")]
pub fn IsHolographicActivation<'a, P0, E0>(activatedeventargs: P0) -> ::windows::core::Result<bool>
where
P0: ::std::convert::TryInto<::windows::core::InParam<'a, super::super::Activation::IActivatedEventArgs>, Error = E0>,
E0: ::std::convert::Into<::windows::core::Error>,
{
Self::IHolographicApplicationPreviewStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).IsHolographicActivation)(::windows::core::Interface::as_raw(this), activatedeventargs.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::<bool>(result__)
})
}
#[doc(hidden)]
pub fn IHolographicApplicationPreviewStatics<R, F: FnOnce(&IHolographicApplicationPreviewStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<HolographicApplicationPreview, IHolographicApplicationPreviewStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows::core::RuntimeName for HolographicApplicationPreview {
const NAME: &'static str = "Windows.ApplicationModel.Preview.Holographic.HolographicApplicationPreview";
}
#[doc = "*Required features: `\"ApplicationModel_Preview_Holographic\"`, `\"deprecated\"`*"]
#[cfg(feature = "deprecated")]
#[repr(transparent)]
pub struct HolographicKeyboardPlacementOverridePreview(::windows::core::IUnknown);
#[cfg(feature = "deprecated")]
impl HolographicKeyboardPlacementOverridePreview {
#[doc = "*Required features: `\"Foundation_Numerics\"`, `\"Perception_Spatial\"`, `\"deprecated\"`*"]
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated"))]
pub fn SetPlacementOverride<'a, P0>(&self, coordinatesystem: P0, topcenterposition: super::super::super::Foundation::Numerics::Vector3, normal: super::super::super::Foundation::Numerics::Vector3) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Perception::Spatial::SpatialCoordinateSystem>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPlacementOverride)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), topcenterposition, normal).ok() }
}
#[doc = "*Required features: `\"Foundation_Numerics\"`, `\"Perception_Spatial\"`, `\"deprecated\"`*"]
#[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial", feature = "deprecated"))]
pub fn SetPlacementOverrideWithMaxSize<'a, P0>(&self, coordinatesystem: P0, topcenterposition: super::super::super::Foundation::Numerics::Vector3, normal: super::super::super::Foundation::Numerics::Vector3, maxsize: super::super::super::Foundation::Numerics::Vector2) -> ::windows::core::Result<()>
where
P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Perception::Spatial::SpatialCoordinateSystem>>,
{
let this = self;
unsafe { (::windows::core::Interface::vtable(this).SetPlacementOverrideWithMaxSize)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), topcenterposition, normal, maxsize).ok() }
}
#[doc = "*Required features: `\"deprecated\"`*"]
#[cfg(feature = "deprecated")]
pub fn ResetPlacementOverride(&self) -> ::windows::core::Result<()> {
let this = self;
unsafe { (::windows::core::Interface::vtable(this).ResetPlacementOverride)(::windows::core::Interface::as_raw(this)).ok() }
}
#[doc = "*Required features: `\"deprecated\"`*"]
#[cfg(feature = "deprecated")]
pub fn GetForCurrentView() -> ::windows::core::Result<HolographicKeyboardPlacementOverridePreview> {
Self::IHolographicKeyboardPlacementOverridePreviewStatics(|this| unsafe {
let mut result__ = ::core::mem::MaybeUninit::zeroed();
(::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), result__.as_mut_ptr()).from_abi::<HolographicKeyboardPlacementOverridePreview>(result__)
})
}
#[doc(hidden)]
#[cfg(feature = "deprecated")]
pub fn IHolographicKeyboardPlacementOverridePreviewStatics<R, F: FnOnce(&IHolographicKeyboardPlacementOverridePreviewStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
static SHARED: ::windows::core::FactoryCache<HolographicKeyboardPlacementOverridePreview, IHolographicKeyboardPlacementOverridePreviewStatics> = ::windows::core::FactoryCache::new();
SHARED.call(callback)
}
}
#[cfg(feature = "deprecated")]
impl ::core::clone::Clone for HolographicKeyboardPlacementOverridePreview {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "deprecated")]
impl ::core::cmp::PartialEq for HolographicKeyboardPlacementOverridePreview {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "deprecated")]
impl ::core::cmp::Eq for HolographicKeyboardPlacementOverridePreview {}
#[cfg(feature = "deprecated")]
impl ::core::fmt::Debug for HolographicKeyboardPlacementOverridePreview {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("HolographicKeyboardPlacementOverridePreview").field(&self.0).finish()
}
}
#[cfg(feature = "deprecated")]
unsafe impl ::windows::core::RuntimeType for HolographicKeyboardPlacementOverridePreview {
const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Preview.Holographic.HolographicKeyboardPlacementOverridePreview;{c8a8ce3a-dfde-5a14-8d5f-182c526dd9c4})");
type DefaultType = ::core::option::Option<Self>;
fn from_default(from: &Self::DefaultType) -> ::windows::core::Result<Self> {
from.as_ref().cloned().ok_or(::windows::core::Error::OK)
}
}
#[cfg(feature = "deprecated")]
unsafe impl ::windows::core::Interface for HolographicKeyboardPlacementOverridePreview {
type Vtable = IHolographicKeyboardPlacementOverridePreview_Vtbl;
const IID: ::windows::core::GUID = <IHolographicKeyboardPlacementOverridePreview as ::windows::core::Interface>::IID;
}
#[cfg(feature = "deprecated")]
impl ::windows::core::RuntimeName for HolographicKeyboardPlacementOverridePreview {
const NAME: &'static str = "Windows.ApplicationModel.Preview.Holographic.HolographicKeyboardPlacementOverridePreview";
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<HolographicKeyboardPlacementOverridePreview> for ::windows::core::IUnknown {
fn from(value: HolographicKeyboardPlacementOverridePreview) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<&HolographicKeyboardPlacementOverridePreview> for ::windows::core::IUnknown {
fn from(value: &HolographicKeyboardPlacementOverridePreview) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<&HolographicKeyboardPlacementOverridePreview> for &::windows::core::IUnknown {
fn from(value: &HolographicKeyboardPlacementOverridePreview) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<HolographicKeyboardPlacementOverridePreview> for ::windows::core::IInspectable {
fn from(value: HolographicKeyboardPlacementOverridePreview) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<&HolographicKeyboardPlacementOverridePreview> for ::windows::core::IInspectable {
fn from(value: &HolographicKeyboardPlacementOverridePreview) -> Self {
::core::convert::From::from(::core::clone::Clone::clone(value))
}
}
#[cfg(feature = "deprecated")]
impl ::core::convert::From<&HolographicKeyboardPlacementOverridePreview> for &::windows::core::IInspectable {
fn from(value: &HolographicKeyboardPlacementOverridePreview) -> Self {
unsafe { ::core::mem::transmute(value) }
}
}
#[cfg(feature = "deprecated")]
unsafe impl ::core::marker::Send for HolographicKeyboardPlacementOverridePreview {}
#[cfg(feature = "deprecated")]
unsafe impl ::core::marker::Sync for HolographicKeyboardPlacementOverridePreview {}
#[cfg(feature = "implement")]
::core::include!("impl.rs");

Some files were not shown because too many files have changed in this diff Show More