[INFO] cloning repository https://github.com/apkipa/DwmKiller [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/apkipa/DwmKiller" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapkipa%2FDwmKiller", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapkipa%2FDwmKiller'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5c707a6aedb374b6e27b7bbd0dfd27be02378b94 [INFO] checking apkipa/DwmKiller/5c707a6aedb374b6e27b7bbd0dfd27be02378b94 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapkipa%2FDwmKiller" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/apkipa/DwmKiller on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/apkipa/DwmKiller [INFO] finished tweaking git repo https://github.com/apkipa/DwmKiller [INFO] tweaked toml for git repo https://github.com/apkipa/DwmKiller written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/apkipa/DwmKiller already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded windows_macros v0.19.0 [INFO] [stderr] Downloaded windows_quote v0.19.0 [INFO] [stderr] Downloaded const-sha1 v0.2.0 [INFO] [stderr] Downloaded windows_gen v0.19.0 [INFO] [stderr] Downloaded windows v0.19.0 [INFO] [stderr] Downloaded windows_reader v0.19.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 390250f9b6fc58a411b13c7e0b598c05de32e26d93030d76e772dcde75674876 [INFO] running `Command { std: "docker" "start" "-a" "390250f9b6fc58a411b13c7e0b598c05de32e26d93030d76e772dcde75674876", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "390250f9b6fc58a411b13c7e0b598c05de32e26d93030d76e772dcde75674876", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "390250f9b6fc58a411b13c7e0b598c05de32e26d93030d76e772dcde75674876", kill_on_drop: false }` [INFO] [stdout] 390250f9b6fc58a411b13c7e0b598c05de32e26d93030d76e772dcde75674876 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6e4991eae721283dbaab99e17ba712754f2f1f6f39708a087e51c0b1f7ee5f82 [INFO] running `Command { std: "docker" "start" "-a" "6e4991eae721283dbaab99e17ba712754f2f1f6f39708a087e51c0b1f7ee5f82", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Compiling windows_reader v0.19.0 [INFO] [stderr] Compiling windows_quote v0.19.0 [INFO] [stderr] Compiling const-sha1 v0.2.0 [INFO] [stderr] Compiling DwmKiller v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking windows_gen v0.19.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling windows_macros v0.19.0 [INFO] [stderr] Compiling windows v0.19.0 [INFO] [stderr] Compiling bindings v0.1.0 (/opt/rustwide/workdir/bindings) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/bindings-35b662b5b61b68f1/out/windows.rs:1:105732 [INFO] [stdout] | [INFO] [stdout] 1 | ...( * this ) . count . release ( ) ; if remaining == 0 { Box :: from_raw ( this ) ; } remaining } unsafe extern "system" fn Invoke ( thi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Data { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Xml { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Dom { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlAttribute ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{ac144aa4-b4f1-4db6-b206-8a22c308db0a}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlCDataSection ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{4d04b46f-c8bd-45b4-8899-0400d7c2c60f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlComment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{bca474d5-b61f-4611-9cac-2e92e3476d47}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocument ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocument_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , target : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , elementid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , node : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentFragment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO { type Vtable = IXmlDocumentIO_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1825630030 ,61029 ,17545 , [ 158 ,191 ,202 ,67 ,232 ,123 ,166 ,55 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO2 { type Vtable = IXmlDocumentIO2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1560495713 ,31704 ,19157 , [ 158 ,191 ,129 ,230 ,52 ,114 ,99 ,177 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentStatics { type Vtable = IXmlDocumentStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1430508116 ,55127 ,19321 , [ 149 ,57 ,35 ,43 ,24 ,245 ,11 ,241 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentType ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f7342425-9781-4964-8e94-9b1c6dfc9bc7}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDomImplementation ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6de58132-f11d-4fbb-8cc6-583cba93112f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlElement ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlEntityReference ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlLoadSettings ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNamedNodeMap ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNode ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNode { type Vtable = IXmlNode_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 477371737 ,8482 ,18389 , [ 168 ,86 ,131 ,243 ,212 ,33 ,72 ,117 ] , ) ; } impl < > IXmlNode { pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = self ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = self ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = self ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNode { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{1c741d59-2122-47d5-a856-83f3d4214875}" ) ; } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IUnknown { fn from ( value : IXmlNode ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IUnknown { fn from ( value : & IXmlNode ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IInspectable { fn from ( value : IXmlNode ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IInspectable { fn from ( value : & IXmlNode ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSelector { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSelector { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSerializer { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSerializer { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNode_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NodeType ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , childnode : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNodeList ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8c60ad77-83a4-4ec1-9c54-7ba429e13da6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSelector ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSelector { type Vtable = IXmlNodeSelector_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1675344523 ,53467 ,20449 , [ 183 ,69 ,249 ,67 ,58 ,253 ,194 ,91 ] , ) ; } impl < > IXmlNodeSelector { pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSelector { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{63dbba8b-d0db-4fe1-b745-f9433afdc25b}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : IXmlNodeSelector ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSelector ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : IXmlNodeSelector ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSelector ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSelector_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSerializer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSerializer { type Vtable = IXmlNodeSerializer_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1556460418 ,59101 ,18833 , [ 171 ,239 ,6 ,216 ,210 ,231 ,189 ,12 ] , ) ; } impl < > IXmlNodeSerializer { pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSerializer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5cc5b382-e6dd-4991-abef-06d8d2e7bd0c}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : IXmlNodeSerializer ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSerializer ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : IXmlNodeSerializer ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSerializer ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSerializer_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlProcessingInstruction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2707fd1e-1e92-4ece-b6f4-26f069078ddc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlText ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f931a4cb-308d-4760-a1d5-43b67450ac7e}" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NodeType ( pub i32 ) ; impl NodeType { pub const Invalid : NodeType = NodeType ( 0i32 ) ; pub const ElementNode : NodeType = NodeType ( 1i32 ) ; pub const AttributeNode : NodeType = NodeType ( 2i32 ) ; pub const TextNode : NodeType = NodeType ( 3i32 ) ; pub const DataSectionNode : NodeType = NodeType ( 4i32 ) ; pub const EntityReferenceNode : NodeType = NodeType ( 5i32 ) ; pub const EntityNode : NodeType = NodeType ( 6i32 ) ; pub const ProcessingInstructionNode : NodeType = NodeType ( 7i32 ) ; pub const CommentNode : NodeType = NodeType ( 8i32 ) ; pub const DocumentNode : NodeType = NodeType ( 9i32 ) ; pub const DocumentTypeNode : NodeType = NodeType ( 10i32 ) ; pub const DocumentFragmentNode : NodeType = NodeType ( 11i32 ) ; pub const NotationNode : NodeType = NodeType ( 12i32 ) ; } impl :: std :: convert :: From < i32 > for NodeType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NodeType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NodeType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Data.Xml.Dom.NodeType;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlAttribute ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlAttribute;{ac144aa4-b4f1-4db6-b206-8a22c308db0a})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlCDataSection ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlCDataSection;{4d04b46f-c8bd-45b4-8899-0400d7c2c60f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlComment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlComment;{bca474d5-b61f-4611-9cac-2e92e3476d47})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct XmlDocument ( :: windows :: IInspectable ) ; impl XmlDocument { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Doctype < > ( & self , ) -> :: windows :: Result < XmlDocumentType > { let this = self ; unsafe { let mut result__ : < XmlDocumentType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentType > ( result__ ) } } pub fn Implementation < > ( & self , ) -> :: windows :: Result < XmlDomImplementation > { let this = self ; unsafe { let mut result__ : < XmlDomImplementation as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDomImplementation > ( result__ ) } } pub fn DocumentElement < > ( & self , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateElement < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateDocumentFragment < > ( & self , ) -> :: windows :: Result < XmlDocumentFragment > { let this = self ; unsafe { let mut result__ : < XmlDocumentFragment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentFragment > ( result__ ) } } pub fn CreateTextNode < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlText > { let this = self ; unsafe { let mut result__ : < XmlText as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlText > ( result__ ) } } pub fn CreateComment < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlComment > { let this = self ; unsafe { let mut result__ : < XmlComment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlComment > ( result__ ) } } pub fn CreateProcessingInstruction < 'a , > ( & self , target : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlProcessingInstruction > { let this = self ; unsafe { let mut result__ : < XmlProcessingInstruction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , target . into_param ( ) . abi ( ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlProcessingInstruction > ( result__ ) } } pub fn CreateAttribute < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateEntityReference < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlEntityReference > { let this = self ; unsafe { let mut result__ : < XmlEntityReference as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlEntityReference > ( result__ ) } } pub fn GetElementsByTagName < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn CreateCDataSection < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlCDataSection > { let this = self ; unsafe { let mut result__ : < XmlCDataSection as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlCDataSection > ( result__ ) } } pub fn DocumentUri < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn CreateAttributeNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateElementNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn GetElementById < 'a , > ( & self , elementid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , elementid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn ImportNode < 'a , > ( & self , node : impl :: windows :: IntoParam < 'a , IXmlNode > , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , node . into_param ( ) . abi ( ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LoadXml < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlWithSettings < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SaveToFileAsync < 'a , > ( & self , file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncAction > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncAction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncAction > ( result__ ) } } pub fn LoadXmlFromBuffer < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlFromBufferWithSettings < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadFromUriAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromUriWithSettingsAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileWithSettingsAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn IXmlDocumentStatics < R , F : FnOnce ( & IXmlDocumentStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , IXmlDocumentStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for XmlDocument { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocument;{f7f3a506-1e87-42d6-bcfb-b8c809fa5494})" ) ; } unsafe impl :: windows :: Interface for XmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } impl :: windows :: RuntimeName for XmlDocument { const NAME : & 'static str ="Windows.Data.Xml.Dom.XmlDocument" ; } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IUnknown { fn from ( value : XmlDocument ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IUnknown { fn from ( value : & XmlDocument ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IInspectable { fn from ( value : XmlDocument ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IInspectable { fn from ( value : & XmlDocument ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNode { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNode { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSelector { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSelector { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSerializer { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSerializer { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } unsafe impl :: std :: marker :: Send for XmlDocument { } unsafe impl :: std :: marker :: Sync for XmlDocument { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentFragment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentFragment;{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentType ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentType;{f7342425-9781-4964-8e94-9b1c6dfc9bc7})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDomImplementation ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDomImplementation;{6de58132-f11d-4fbb-8cc6-583cba93112f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlElement ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlElement;{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlEntityReference ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlEntityReference;{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlLoadSettings ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlLoadSettings;{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNamedNodeMap ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNamedNodeMap;{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNodeList ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNodeList;{8c60ad77-83a4-4ec1-9c54-7ba429e13da6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlProcessingInstruction ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlProcessingInstruction;{2707fd1e-1e92-4ece-b6f4-26f069078ddc})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlText ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlText;{f931a4cb-308d-4760-a1d5-43b67450ac7e})" ) ; } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DateTime { pub UniversalTime : i64 } impl DateTime { } impl :: std :: default :: Default for DateTime { fn default ( ) -> Self { Self { UniversalTime : 0 } } } impl :: std :: fmt :: Debug for DateTime { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "DateTime" ) . field ( "UniversalTime" , & self . UniversalTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DateTime { fn eq ( & self , other : & Self ) -> bool { self . UniversalTime == other . UniversalTime } } impl :: std :: cmp :: Eq for DateTime { } unsafe impl :: windows :: Abi for DateTime { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for DateTime { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.DateTime;i8)" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct EventRegistrationToken { pub Value : i64 } impl EventRegistrationToken { } impl :: std :: default :: Default for EventRegistrationToken { fn default ( ) -> Self { Self { Value : 0 } } } impl :: std :: fmt :: Debug for EventRegistrationToken { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "EventRegistrationToken" ) . field ( "Value" , & self . Value ) . finish ( ) } } impl :: std :: cmp :: PartialEq for EventRegistrationToken { fn eq ( & self , other : & Self ) -> bool { self . Value == other . Value } } impl :: std :: cmp :: Eq for EventRegistrationToken { } unsafe impl :: windows :: Abi for EventRegistrationToken { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for EventRegistrationToken { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.EventRegistrationToken;i8)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncAction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IAsyncAction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1516535814 ,33850 ,19881 , [ 134 ,91 ,157 ,38 ,229 ,223 ,173 ,123 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IAsyncAction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5a648006-843a-4da9-865b-9d26e5dfad7b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncOperation < TResult > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < TResult > , ) where TResult : :: windows :: RuntimeType + 'static , ; unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IAsyncOperation < TResult > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IAsyncOperation < TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IAsyncOperation < TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9fc2b0bb-e446-44e2-aa61-9cab8f636af2}" ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IReference < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IReference < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IReference < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IReference < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{61c17706-2d65-11e0-9ae8-d48564015472}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUriRuntimeClass ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUriRuntimeClass { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUriRuntimeClass { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{9e365e57-48b2-4160-956f-c7385120bbfc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct TypedEventHandler < TSender , TResult > ( :: windows :: IUnknown , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > TypedEventHandler < TSender , TResult > { pub fn new < F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > ( invoke : F ) -> Self { let com = TypedEventHandler_box :: < TSender , TResult , F > { vtable : & TypedEventHandler_box :: < TSender , TResult , F > :: VTABLE , count : :: windows :: RefCount :: new ( 1 ) , invoke , } ; unsafe { std :: mem :: transmute ( :: std :: boxed :: Box :: new ( com ) ) } } pub fn Invoke < 'a , > ( & self , sender : impl :: windows :: IntoParam < 'a , TSender > , args : impl :: windows :: IntoParam < 'a , TResult > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .3 ) ( :: windows :: Abi :: abi ( this ) , sender . into_param ( ) . abi ( ) , args . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for TypedEventHandler < TSender , TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9de1c534-6ae1-11e0-84e1-18a905bcc53f}" ) . push_slice ( b";" ) . push_other ( < TSender as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for TypedEventHandler < TSender , TResult > { type Vtable = TypedEventHandler_abi < TSender , TResult > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < TypedEventHandler < TSender , TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct TypedEventHandler_abi < TSender , TResult > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < TSender > , pub :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; # [ repr ( C ) ] struct TypedEventHandler_box < TSender , TResult , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , { vtable : * const TypedEventHandler_abi < TSender , TResult > , invoke : F , count : :: windows :: RefCount , } impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > TypedEventHandler_box :: < TSender , TResult , F > { const VTABLE : TypedEventHandler_abi < TSender , TResult > = TypedEventHandler_abi :: < TSender , TResult > ( Self :: QueryInterface , Self :: AddRef , Self :: Release , Self :: Invoke , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) ; unsafe extern "system" fn QueryInterface ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; * interface = if iid == & < TypedEventHandler < TSender , TResult > as :: windows :: Interface > :: IID || iid == & < :: windows :: IUnknown as :: windows :: Interface > :: IID || iid == & < :: windows :: IAgileObject as :: windows :: Interface > :: IID { & mut ( * this ) . vtable as * mut _ as _ } else { :: std :: ptr :: null_mut ( ) } ; if ( * interface ) . is_null ( ) { :: windows :: HRESULT ( 0x8000_4002 ) } else { ( * this ) . count . add_ref ( ) ; :: windows :: HRESULT ( 0 ) } } unsafe extern "system" fn AddRef ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( * this ) . count . add_ref ( ) } unsafe extern "system" fn Release ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; let remaining = ( * this ) . count . release ( ) ; if remaining == 0 { let _ = Box :: from_raw ( this ) ; } remaining } unsafe extern "system" fn Invoke ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( ( * this ) . invoke ) ( & * ( & sender as * const < TSender as :: windows :: Abi > :: Abi as * const < TSender as :: windows :: Abi > :: DefaultType ) , & * ( & args as * const < TResult as :: windows :: Abi > :: Abi as * const < TResult as :: windows :: Abi > :: DefaultType ) , ) . into ( ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct Uri ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for Uri { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl :: windows :: RuntimeType for Uri { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Uri;{9e365e57-48b2-4160-956f-c7385120bbfc})" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Collections { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterable < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterable < T > { type Vtable = IIterable_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterable < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterable < T > { pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < T > > { let this = self ; unsafe { let mut result__ : < IIterator < T > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < T > > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterable < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{faa585ea-6214-4217-afda-7f46de5869b3}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IUnknown { fn from ( value : IIterable < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IUnknown { fn from ( value : & IIterable < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IInspectable { fn from ( value : IIterable < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IInspectable { fn from ( value : & IIterable < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for & 'a IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterable_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterator < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterator < T > { type Vtable = IIterator_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterator < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterator < T > { pub fn Current < > ( & self , ) -> :: windows :: Result < T > { let this = self ; unsafe { let mut result__ : < T as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < T > ( result__ ) } } pub fn HasCurrent < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn MoveNext < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetMany < > ( & self , items : & mut [ < T as :: windows :: Abi > :: DefaultType ] , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , items . len ( ) as u32 , :: std :: mem :: transmute_copy ( & items ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterator < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{6a79e863-4300-459a-9966-cbb660963ee1}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IUnknown { fn from ( value : IIterator < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IUnknown { fn from ( value : & IIterator < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IInspectable { fn from ( value : IIterator < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IInspectable { fn from ( value : & IIterator < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: Iterator for IIterator < T > { type Item = T ; fn next ( & mut self ) -> :: std :: option :: Option < Self :: Item > { let result = self . Current ( ) . ok ( ) ; if result . is_some ( ) { self . MoveNext ( ) . ok ( ) ? ; } result } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterator_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < T as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , items_array_size : u32 , items : * mut < T as :: windows :: Abi > :: Abi , result__ : * mut u32 ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IKeyValuePair < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IKeyValuePair < K , V > { type Vtable = IKeyValuePair_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IKeyValuePair < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IKeyValuePair < K , V > { pub fn Key < > ( & self , ) -> :: windows :: Result < K > { let this = self ; unsafe { let mut result__ : < K as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < K > ( result__ ) } } pub fn Value < > ( & self , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IKeyValuePair < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{02b51929-c1c4-4a7e-8940-0312b5c18500}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : IKeyValuePair < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : & IKeyValuePair < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : IKeyValuePair < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : & IKeyValuePair < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IKeyValuePair_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMap < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMap < K , V > { type Vtable = IMap_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMap < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMap < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetView < > ( & self , ) -> :: windows :: Result < IMapView < K , V > > { let this = self ; unsafe { let mut result__ : < IMapView < K , V > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IMapView < K , V > > ( result__ ) } } pub fn Insert < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , value : impl :: windows :: IntoParam < 'a , V > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , value . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Remove < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMap < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{3c2925fe-8519-45c1-aa79-197b6718c1c1}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IUnknown { fn from ( value : IMap < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IUnknown { fn from ( value : & IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IInspectable { fn from ( value : IMap < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IInspectable { fn from ( value : & IMap < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMap < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMap_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , value : < V as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMapView < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMapView < K , V > { type Vtable = IMapView_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMapView < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMapView < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Split < > ( & self , first : & mut :: std :: option :: Option < IMapView < K , V > > , second : & mut :: std :: option :: Option < IMapView < K , V > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , :: windows :: Abi :: set_abi ( first ) , :: windows :: Abi :: set_abi ( second ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMapView < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{e480ce40-a338-4ada-adcf-272272e48cb9}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : IMapView < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : & IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : IMapView < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : & IMapView < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMapView < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMapView_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , first : * mut :: windows :: RawPtr , second : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IPropertySet ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IPropertySet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IPropertySet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8a43ed9f-f4e6-4421-acf9-1dab2986820c}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IVectorView < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IVectorView < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IVectorView < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IVectorView < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{bbe1fa4c-b0e3-4583-baef-1f1b2e483e56}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ValueSet ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ValueSet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl :: windows :: RuntimeType for ValueSet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Collections.ValueSet;{8a43ed9f-f4e6-4421-acf9-1dab2986820c})" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorageFile ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IStorageFile { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4198457734 ,16916 ,17036 , [ 166 ,76 ,20 ,201 ,172 ,115 ,21 ,234 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IStorageFile { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{fa3f6186-4214-428c-a64c-14c9ac7315ea}" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Streams { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IBuffer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IBuffer { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2421821408 ,48211 ,4575 , [ 140 ,73 ,0 ,30 ,79 ,198 ,134 ,218 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IBuffer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{905a0fe0-bc53-11df-8c49-001e4fc686da}" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{df9a26c6-e746-4bcd-b5d4-120103c4209b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct User ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for User { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl :: windows :: RuntimeType for User { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.System.User;{df9a26c6-e746-4bcd-b5d4-120103c4209b})" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Notifications { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationData ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationData_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : u32 ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationDataFactory { type Vtable = INotificationDataFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 599909178 ,7184 ,18171 , [ 128 ,64 ,222 ,195 ,132 ,98 ,28 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , sequencenumber : u32 , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationVisual ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for INotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{68835b8e-aa56-4e11-86d3-5f9a6957bc5b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79f577f8-0de7-48cd-9740-9b370490c838}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6173f6b4-412a-5e2c-a6ed-a0209aef9a09}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastDismissalReason ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastFailedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{35176862-cfd4-44f8-ad64-f500fd896c3b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification2 { type Vtable = IToastNotification2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2650513361 ,5178 ,18702 , [ 144 ,191 ,185 ,251 ,167 ,19 ,45 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification3 { type Vtable = IToastNotification3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 837332696 ,33089 ,20377 , [ 188 ,10 ,196 ,237 ,33 ,41 ,125 ,119 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification4 { type Vtable = IToastNotification4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 353716533 ,10474 ,18215 , [ 136 ,233 ,197 ,134 ,128 ,226 ,209 ,24 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastNotificationPriority ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : ToastNotificationPriority ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification6 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification6 { type Vtable = IToastNotification6_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1139539539 ,35246 ,23582 , [ 162 ,121 ,58 ,236 ,254 ,155 ,111 ,84 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification6_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationFactory { type Vtable = IToastNotificationFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 68307744 ,33478 ,16937 , [ 177 ,9 ,253 ,158 ,212 ,102 ,43 ,83 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , content : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory2 { type Vtable = IToastNotificationHistory2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1002689107 ,12081 ,16530 , [ 145 ,41 ,138 ,213 ,171 ,240 ,103 ,218 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerForUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79ab57f6-43fe-487b-8a7f-99567200ae94}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics { type Vtable = IToastNotificationManagerStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1353453631 ,53813 ,17816 , [ 187 ,239 ,152 ,254 ,77 ,26 ,58 ,212 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , r#type : ToastTemplateType , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics2 { type Vtable = IToastNotificationManagerStatics2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2058959954 ,3656 ,18256 , [ 186 ,157 ,26 ,65 ,19 ,152 ,24 ,71 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics4 { type Vtable = IToastNotificationManagerStatics4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2409185235 ,58646 ,17915 , [ 129 ,48 ,57 ,142 ,147 ,250 ,82 ,195 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , user : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics5 { type Vtable = IToastNotificationManagerStatics5_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3606443369 ,54285 ,16508 , [ 137 ,137 ,136 ,202 ,180 ,44 ,253 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationSetting ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier2 { type Vtable = IToastNotifier2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 893618630 ,31745 ,19413 , [ 156 ,32 ,96 ,67 ,64 ,205 ,43 ,116 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier3 { type Vtable = IToastNotifier3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2926944330 ,15116 ,20909 , [ 183 ,232 ,176 ,138 ,182 ,5 ,37 ,73 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct Notification ( :: windows :: IInspectable ) ; impl Notification { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < Notification , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Visual < > ( & self , ) -> :: windows :: Result < NotificationVisual > { let this = self ; unsafe { let mut result__ : < NotificationVisual as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationVisual > ( result__ ) } } pub fn SetVisual < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationVisual > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for Notification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.Notification;{108037fe-eb76-4f82-97bc-da07530a2e20})" ) ; } unsafe impl :: windows :: Interface for Notification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } impl :: windows :: RuntimeName for Notification { const NAME : & 'static str ="Windows.UI.Notifications.Notification" ; } impl < > :: std :: convert :: From < Notification > for :: windows :: IUnknown { fn from ( value : Notification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IUnknown { fn from ( value : & Notification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < Notification > for :: windows :: IInspectable { fn from ( value : Notification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IInspectable { fn from ( value : & Notification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for Notification { } unsafe impl :: std :: marker :: Sync for Notification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct NotificationData ( :: windows :: IInspectable ) ; impl NotificationData { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Values < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > ( result__ ) } } pub fn SequenceNumber < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn SetSequenceNumber < > ( & self , value : u32 , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn CreateNotificationDataWithValuesAndSequenceNumber < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , sequencenumber : u32 , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , sequencenumber , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn CreateNotificationDataWithValues < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn INotificationDataFactory < R , F : FnOnce ( & INotificationDataFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , INotificationDataFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for NotificationData { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationData;{9ffd2312-9d6a-4aaf-b6ac-ff17f0c1f280})" ) ; } unsafe impl :: windows :: Interface for NotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } impl :: windows :: RuntimeName for NotificationData { const NAME : & 'static str ="Windows.UI.Notifications.NotificationData" ; } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IUnknown { fn from ( value : NotificationData ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IUnknown { fn from ( value : & NotificationData ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IInspectable { fn from ( value : NotificationData ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IInspectable { fn from ( value : & NotificationData ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for NotificationData { } unsafe impl :: std :: marker :: Sync for NotificationData { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationMirroring ( pub i32 ) ; impl NotificationMirroring { pub const Allowed : NotificationMirroring = NotificationMirroring ( 0i32 ) ; pub const Disabled : NotificationMirroring = NotificationMirroring ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationMirroring { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationMirroring { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationMirroring { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationMirroring;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationSetting ( pub i32 ) ; impl NotificationSetting { pub const Enabled : NotificationSetting = NotificationSetting ( 0i32 ) ; pub const DisabledForApplication : NotificationSetting = NotificationSetting ( 1i32 ) ; pub const DisabledForUser : NotificationSetting = NotificationSetting ( 2i32 ) ; pub const DisabledByGroupPolicy : NotificationSetting = NotificationSetting ( 3i32 ) ; pub const DisabledByManifest : NotificationSetting = NotificationSetting ( 4i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationSetting { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationSetting { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationSetting { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationSetting;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationUpdateResult ( pub i32 ) ; impl NotificationUpdateResult { pub const Succeeded : NotificationUpdateResult = NotificationUpdateResult ( 0i32 ) ; pub const Failed : NotificationUpdateResult = NotificationUpdateResult ( 1i32 ) ; pub const NotificationNotFound : NotificationUpdateResult = NotificationUpdateResult ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationUpdateResult { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationUpdateResult { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationUpdateResult { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationUpdateResult;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct NotificationVisual ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for NotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl :: windows :: RuntimeType for NotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationVisual;{68835b8e-aa56-4e11-86d3-5f9a6957bc5b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotification ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotification;{79f577f8-0de7-48cd-9740-9b370490c838})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs;{6173f6b4-412a-5e2c-a6ed-a0209aef9a09})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastDismissalReason ( pub i32 ) ; impl ToastDismissalReason { pub const UserCanceled : ToastDismissalReason = ToastDismissalReason ( 0i32 ) ; pub const ApplicationHidden : ToastDismissalReason = ToastDismissalReason ( 1i32 ) ; pub const TimedOut : ToastDismissalReason = ToastDismissalReason ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for ToastDismissalReason { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastDismissalReason { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastDismissalReason { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastDismissalReason;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastDismissedEventArgs ( :: windows :: IInspectable ) ; impl ToastDismissedEventArgs { pub fn Reason < > ( & self , ) -> :: windows :: Result < ToastDismissalReason > { let this = self ; unsafe { let mut result__ : < ToastDismissalReason as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastDismissalReason > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastDismissedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastDismissedEventArgs;{3f89d935-d9cb-4538-a0f0-ffe7659938f8})" ) ; } unsafe impl :: windows :: Interface for ToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } impl :: windows :: RuntimeName for ToastDismissedEventArgs { const NAME : & 'static str ="Windows.UI.Notifications.ToastDismissedEventArgs" ; } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : ToastDismissedEventArgs ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : & ToastDismissedEventArgs ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : ToastDismissedEventArgs ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : & ToastDismissedEventArgs ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastDismissedEventArgs { } unsafe impl :: std :: marker :: Sync for ToastDismissedEventArgs { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastFailedEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastFailedEventArgs;{35176862-cfd4-44f8-ad64-f500fd896c3b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotification ( :: windows :: IInspectable ) ; impl ToastNotification { pub fn Content < > ( & self , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { let this = self ; unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn Dismissed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastDismissedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveDismissed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Activated < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , :: windows :: IInspectable > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveActivated < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Failed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastFailedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveFailed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SetTag < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Tag < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetGroup < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Group < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetSuppressPopup < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn SuppressPopup < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn CreateToastNotification < 'a , > ( content : impl :: windows :: IntoParam < 'a , super::super::Data::Xml::Dom:: XmlDocument > , ) -> :: windows :: Result < ToastNotification > { Self :: IToastNotificationFactory ( | this | unsafe { let mut result__ : < ToastNotification as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , content . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotification > ( result__ ) } ) } pub fn NotificationMirroring < > ( & self , ) -> :: windows :: Result < NotificationMirroring > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationMirroring as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationMirroring > ( result__ ) } } pub fn SetNotificationMirroring < > ( & self , value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn RemoteId < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetRemoteId < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Data < > ( & self , ) -> :: windows :: Result < NotificationData > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } } pub fn SetData < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationData > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Priority < > ( & self , ) -> :: windows :: Result < ToastNotificationPriority > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < ToastNotificationPriority as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationPriority > ( result__ ) } } pub fn SetPriority < > ( & self , value : ToastNotificationPriority , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn ExpiresOnReboot < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn SetExpiresOnReboot < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn IToastNotificationFactory < R , F : FnOnce ( & IToastNotificationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotification , IToastNotificationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for ToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotification;{997e2675-059e-4e60-8b06-1760917c8b80})" ) ; } unsafe impl :: windows :: Interface for ToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } impl :: windows :: RuntimeName for ToastNotification { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotification" ; } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IUnknown { fn from ( value : ToastNotification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IUnknown { fn from ( value : & ToastNotification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IInspectable { fn from ( value : ToastNotification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IInspectable { fn from ( value : & ToastNotification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotification { } unsafe impl :: std :: marker :: Sync for ToastNotification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationActionTriggerDetail ( :: windows :: IInspectable ) ; impl ToastNotificationActionTriggerDetail { pub fn Argument < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn UserInput < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: ValueSet > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: ValueSet as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: ValueSet > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationActionTriggerDetail { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationActionTriggerDetail;{9445135a-38f3-42f6-96aa-7955b0f03da2})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationActionTriggerDetail { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationActionTriggerDetail" ; } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationHistory ( :: windows :: IInspectable ) ; impl ToastNotificationHistory { pub fn RemoveGroup < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupWithId < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTagWithId < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTag < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Remove < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn ClearWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetHistory < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } pub fn GetHistoryWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationHistory { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationHistory;{5caddc63-01d3-4c97-986f-0533483fee14})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationHistory { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationHistory" ; } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : ToastNotificationHistory ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : & ToastNotificationHistory ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : ToastNotificationHistory ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : & ToastNotificationHistory ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } pub struct ToastNotificationManager { } impl ToastNotificationManager { pub fn CreateToastNotifier < > ( ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn CreateToastNotifierWithId < 'a , > ( applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn GetTemplateContent < > ( r#type : ToastTemplateType , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , r#type , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } ) } pub fn History < > ( ) -> :: windows :: Result < ToastNotificationHistory > { Self :: IToastNotificationManagerStatics2 ( | this | unsafe { let mut result__ : < ToastNotificationHistory as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationHistory > ( result__ ) } ) } pub fn GetForUser < 'a , > ( user : impl :: windows :: IntoParam < 'a , super::super::System:: User > , ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , user . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn ConfigureNotificationMirroring < > ( value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } ) } pub fn GetDefault < > ( ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics5 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn IToastNotificationManagerStatics < R , F : FnOnce ( & IToastNotificationManagerStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics2 < R , F : FnOnce ( & IToastNotificationManagerStatics2 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics2 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics4 < R , F : FnOnce ( & IToastNotificationManagerStatics4 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics4 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics5 < R , F : FnOnce ( & IToastNotificationManagerStatics5 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics5 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } impl :: windows :: RuntimeName for ToastNotificationManager { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationManager" ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastNotificationManagerForUser ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationManagerForUser;{79ab57f6-43fe-487b-8a7f-99567200ae94})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastNotificationPriority ( pub i32 ) ; impl ToastNotificationPriority { pub const Default : ToastNotificationPriority = ToastNotificationPriority ( 0i32 ) ; pub const High : ToastNotificationPriority = ToastNotificationPriority ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for ToastNotificationPriority { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastNotificationPriority { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastNotificationPriority { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastNotificationPriority;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotifier ( :: windows :: IInspectable ) ; impl ToastNotifier { pub fn Show < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Hide < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Setting < > ( & self , ) -> :: windows :: Result < NotificationSetting > { let this = self ; unsafe { let mut result__ : < NotificationSetting as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationSetting > ( result__ ) } } pub fn AddToSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveFromSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetScheduledToastNotifications < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > ( result__ ) } } pub fn UpdateWithTagAndGroup < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn UpdateWithTag < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn ScheduledToastNotificationShowing < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotifier , ScheduledToastNotificationShowingEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveScheduledToastNotificationShowing < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for ToastNotifier { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotifier;{75927b93-03f3-41ec-91d3-6e5bac1b38e7})" ) ; } unsafe impl :: windows :: Interface for ToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } impl :: windows :: RuntimeName for ToastNotifier { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotifier" ; } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IUnknown { fn from ( value : ToastNotifier ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IUnknown { fn from ( value : & ToastNotifier ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IInspectable { fn from ( value : ToastNotifier ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IInspectable { fn from ( value : & ToastNotifier ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotifier { } unsafe impl :: std :: marker :: Sync for ToastNotifier { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastTemplateType ( pub i32 ) ; impl ToastTemplateType { pub const ToastImageAndText01 : ToastTemplateType = ToastTemplateType ( 0i32 ) ; pub const ToastImageAndText02 : ToastTemplateType = ToastTemplateType ( 1i32 ) ; pub const ToastImageAndText03 : ToastTemplateType = ToastTemplateType ( 2i32 ) ; pub const ToastImageAndText04 : ToastTemplateType = ToastTemplateType ( 3i32 ) ; pub const ToastText01 : ToastTemplateType = ToastTemplateType ( 4i32 ) ; pub const ToastText02 : ToastTemplateType = ToastTemplateType ( 5i32 ) ; pub const ToastText03 : ToastTemplateType = ToastTemplateType ( 6i32 ) ; pub const ToastText04 : ToastTemplateType = ToastTemplateType ( 7i32 ) ; } impl :: std :: convert :: From < i32 > for ToastTemplateType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastTemplateType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastTemplateType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastTemplateType;i4)" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: Eq ) ] pub struct BSTR ( * mut u16 ) ; impl BSTR { # [ doc = r" Create an empty `BSTR`." ] # [ doc = r"" ] # [ doc = r" This function does not allocate memory." ] pub fn new ( ) -> Self { Self ( std :: ptr :: null_mut ( ) ) } # [ doc = r" Returns `true` if the string is empty." ] pub fn is_empty ( & self ) -> bool { self . 0 . is_null ( ) } # [ doc = r" Returns the length of the string." ] pub fn len ( & self ) -> usize { if self . is_empty ( ) { return 0 ; } unsafe { SysStringLen ( self ) as usize } } # [ doc = r" Create a `BSTR` from a slice of 16-bit characters." ] pub fn from_wide ( value : & [ u16 ] ) -> Self { if value . len ( ) == 0 { return Self ( :: std :: ptr :: null_mut ( ) ) ; } unsafe { SysAllocStringLen ( PWSTR ( value . as_ptr ( ) as _ ) , value . len ( ) as u32 , ) } } # [ doc = r" Get the string as 16-bit characters." ] pub fn as_wide ( & self ) -> & [ u16 ] { if self . 0 . is_null ( ) { return & [ ] ; } unsafe { :: std :: slice :: from_raw_parts ( self . 0 as * const u16 , self . len ( ) ) } } } impl :: std :: clone :: Clone for BSTR { fn clone ( & self ) -> Self { Self :: from_wide ( self . as_wide ( ) ) } } impl :: std :: convert :: From < & str > for BSTR { fn from ( value : & str ) -> Self { let value : :: std :: vec :: Vec < u16 > = value . encode_utf16 ( ) . collect ( ) ; Self :: from_wide ( & value ) } } impl :: std :: convert :: From < :: std :: string :: String > for BSTR { fn from ( value : :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl :: std :: convert :: From < & :: std :: string :: String > for BSTR { fn from ( value : & :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl < 'a > :: std :: convert :: TryFrom < & 'a BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : & BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: from_utf16 ( value . as_wide ( ) ) } } impl :: std :: convert :: TryFrom < BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: try_from ( & value ) } } impl :: std :: default :: Default for BSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: fmt :: Display for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { use :: std :: fmt :: Write ; for c in :: std :: char :: decode_utf16 ( self . as_wide ( ) . iter ( ) . cloned ( ) ) { f . write_char ( c . map_err ( | _ | :: std :: fmt :: Error ) ? ) ? } Ok ( ( ) ) } } impl :: std :: fmt :: Debug for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { :: std :: write ! ( f , "{}" , self ) } } impl :: std :: cmp :: PartialEq for BSTR { fn eq ( & self , other : & Self ) -> bool { self . as_wide ( ) == other . as_wide ( ) } } impl :: std :: cmp :: PartialEq < :: std :: string :: String > for BSTR { fn eq ( & self , other : & :: std :: string :: String ) -> bool { self == other . as_str ( ) } } impl :: std :: cmp :: PartialEq < str > for BSTR { fn eq ( & self , other : & str ) -> bool { self == other } } impl :: std :: cmp :: PartialEq < & str > for BSTR { fn eq ( & self , other : && str ) -> bool { self . as_wide ( ) . iter ( ) . copied ( ) . eq ( other . encode_utf16 ( ) ) } } impl :: std :: cmp :: PartialEq < BSTR > for & str { fn eq ( & self , other : & BSTR ) -> bool { other == self } } impl :: std :: ops :: Drop for BSTR { fn drop ( & mut self ) { if ! self . 0 . is_null ( ) { unsafe { SysFreeString ( self as & Self ) } } } } unsafe impl :: windows :: Abi for BSTR { type Abi = * mut u16 ; type DefaultType = Self ; fn set_abi ( & mut self ) -> * mut * mut u16 { debug_assert ! ( self . 0 . is_null ( ) ) ; & mut self . 0 as * mut _ as _ } } pub type BSTR_abi = * mut u16 ; pub unsafe fn CloseHandle < 'a , > ( hobject : impl :: windows :: IntoParam < 'a , HANDLE > , ) -> BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CloseHandle ( hobject : HANDLE ) -> BOOL ; } CloseHandle ( hobject . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct FILETIME { pub dwLowDateTime : u32 , pub dwHighDateTime : u32 } impl FILETIME { } impl :: std :: default :: Default for FILETIME { fn default ( ) -> Self { Self { dwLowDateTime : 0 , dwHighDateTime : 0 } } } impl :: std :: fmt :: Debug for FILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "FILETIME" ) . field ( "dwLowDateTime" , & self . dwLowDateTime ) . field ( "dwHighDateTime" , & self . dwHighDateTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for FILETIME { fn eq ( & self , other : & Self ) -> bool { self . dwLowDateTime == other . dwLowDateTime && self . dwHighDateTime == other . dwHighDateTime } } impl :: std :: cmp :: Eq for FILETIME { } unsafe impl :: windows :: Abi for FILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HANDLE ( pub isize ) ; impl HANDLE { } impl :: std :: default :: Default for HANDLE { fn default ( ) -> Self { Self ( 0 ) } } impl HANDLE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HANDLE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HANDLE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HANDLE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HANDLE { } unsafe impl :: windows :: Abi for HANDLE { type Abi = Self ; type DefaultType = Self ; } impl HANDLE { pub const INVALID : Self = Self ( - 1 ) ; pub fn is_invalid ( & self ) -> bool { self . 0 == - 1 } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HWND ( pub isize ) ; impl HWND { } impl :: std :: default :: Default for HWND { fn default ( ) -> Self { Self ( 0 ) } } impl HWND { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HWND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HWND" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HWND { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HWND { } unsafe impl :: windows :: Abi for HWND { type Abi = Self ; type DefaultType = Self ; } pub const MAX_PATH : u32 = 260u32 ; # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PWSTR ( pub * mut u16 ) ; impl PWSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PWSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PWSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PWSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } pub unsafe fn SysAllocStringLen < 'a , > ( strin : impl :: windows :: IntoParam < 'a , PWSTR > , ui : u32 , ) -> BSTR { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysAllocStringLen ( strin : PWSTR , ui : u32 ) -> BSTR ; } SysAllocStringLen ( strin . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ui ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysFreeString < 'a , > ( bstrstring : impl :: windows :: IntoParam < 'a , BSTR > , ) { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysFreeString ( bstrstring : BSTR_abi ) ; } SysFreeString ( bstrstring . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysStringLen < 'a , > ( pbstr : impl :: windows :: IntoParam < 'a , BSTR > , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysStringLen ( pbstr : BSTR_abi ) -> u32 ; } SysStringLen ( pbstr . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Security { pub unsafe fn AdjustTokenPrivileges < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , disableallprivileges : impl :: windows :: IntoParam < 'a , super::Foundation:: BOOL > , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn AdjustTokenPrivileges ( tokenhandle : super::Foundation:: HANDLE , disableallprivileges : super::Foundation:: BOOL , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } AdjustTokenPrivileges ( tokenhandle . into_param ( ) . abi ( ) , disableallprivileges . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( newstate ) , :: std :: mem :: transmute ( bufferlength ) , :: std :: mem :: transmute ( previousstate ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetTokenInformation < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn GetTokenInformation ( tokenhandle : super::Foundation:: HANDLE , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } GetTokenInformation ( tokenhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( tokeninformationclass ) , :: std :: mem :: transmute ( tokeninformation ) , :: std :: mem :: transmute ( tokeninformationlength ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID_AND_ATTRIBUTES { pub Luid : super::System::SystemServices:: LUID , pub Attributes : TOKEN_PRIVILEGES_ATTRIBUTES } impl LUID_AND_ATTRIBUTES { } impl :: std :: default :: Default for LUID_AND_ATTRIBUTES { fn default ( ) -> Self { Self { Luid : :: std :: default :: Default :: default ( ) , Attributes : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for LUID_AND_ATTRIBUTES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID_AND_ATTRIBUTES" ) . field ( "Luid" , & self . Luid ) . field ( "Attributes" , & self . Attributes ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID_AND_ATTRIBUTES { fn eq ( & self , other : & Self ) -> bool { self . Luid == other . Luid && self . Attributes == other . Attributes } } impl :: std :: cmp :: Eq for LUID_AND_ATTRIBUTES { } unsafe impl :: windows :: Abi for LUID_AND_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn LookupPrivilegeValueW < 'a , > ( lpsystemname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpluid : * mut super::System::SystemServices:: LUID , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn LookupPrivilegeValueW ( lpsystemname : super::Foundation:: PWSTR , lpname : super::Foundation:: PWSTR , lpluid : * mut super::System::SystemServices:: LUID ) -> super::Foundation:: BOOL ; } LookupPrivilegeValueW ( lpsystemname . into_param ( ) . abi ( ) , lpname . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpluid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_ACCESS_MASK ( pub u32 ) ; pub const TOKEN_DELETE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 65536u32 ) ; pub const TOKEN_READ_CONTROL : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 131072u32 ) ; pub const TOKEN_WRITE_DAC : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 262144u32 ) ; pub const TOKEN_WRITE_OWNER : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 524288u32 ) ; pub const TOKEN_ACCESS_SYSTEM_SECURITY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16777216u32 ) ; pub const TOKEN_ASSIGN_PRIMARY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 1u32 ) ; pub const TOKEN_DUPLICATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 2u32 ) ; pub const TOKEN_IMPERSONATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 4u32 ) ; pub const TOKEN_QUERY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 8u32 ) ; pub const TOKEN_QUERY_SOURCE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16u32 ) ; pub const TOKEN_ADJUST_PRIVILEGES : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 32u32 ) ; pub const TOKEN_ADJUST_GROUPS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 64u32 ) ; pub const TOKEN_ADJUST_DEFAULT : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 128u32 ) ; pub const TOKEN_ADJUST_SESSIONID : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 256u32 ) ; pub const TOKEN_ALL_ACCESS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 983295u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_ACCESS_MASK { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_ACCESS_MASK { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_ACCESS_MASK { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_ACCESS_MASK { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_ACCESS_MASK { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_ACCESS_MASK { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_ELEVATION { pub TokenIsElevated : u32 } impl TOKEN_ELEVATION { } impl :: std :: default :: Default for TOKEN_ELEVATION { fn default ( ) -> Self { Self { TokenIsElevated : 0 } } } impl :: std :: fmt :: Debug for TOKEN_ELEVATION { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_ELEVATION" ) . field ( "TokenIsElevated" , & self . TokenIsElevated ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_ELEVATION { fn eq ( & self , other : & Self ) -> bool { self . TokenIsElevated == other . TokenIsElevated } } impl :: std :: cmp :: Eq for TOKEN_ELEVATION { } unsafe impl :: windows :: Abi for TOKEN_ELEVATION { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_INFORMATION_CLASS ( pub i32 ) ; pub const TokenUser : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 1i32 ) ; pub const TokenGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 2i32 ) ; pub const TokenPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 3i32 ) ; pub const TokenOwner : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 4i32 ) ; pub const TokenPrimaryGroup : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 5i32 ) ; pub const TokenDefaultDacl : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 6i32 ) ; pub const TokenSource : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 7i32 ) ; pub const TokenType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 8i32 ) ; pub const TokenImpersonationLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 9i32 ) ; pub const TokenStatistics : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 10i32 ) ; pub const TokenRestrictedSids : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 11i32 ) ; pub const TokenSessionId : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 12i32 ) ; pub const TokenGroupsAndPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 13i32 ) ; pub const TokenSessionReference : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 14i32 ) ; pub const TokenSandBoxInert : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 15i32 ) ; pub const TokenAuditPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 16i32 ) ; pub const TokenOrigin : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 17i32 ) ; pub const TokenElevationType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 18i32 ) ; pub const TokenLinkedToken : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 19i32 ) ; pub const TokenElevation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 20i32 ) ; pub const TokenHasRestrictions : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 21i32 ) ; pub const TokenAccessInformation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 22i32 ) ; pub const TokenVirtualizationAllowed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 23i32 ) ; pub const TokenVirtualizationEnabled : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 24i32 ) ; pub const TokenIntegrityLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 25i32 ) ; pub const TokenUIAccess : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 26i32 ) ; pub const TokenMandatoryPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 27i32 ) ; pub const TokenLogonSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 28i32 ) ; pub const TokenIsAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 29i32 ) ; pub const TokenCapabilities : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 30i32 ) ; pub const TokenAppContainerSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 31i32 ) ; pub const TokenAppContainerNumber : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 32i32 ) ; pub const TokenUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 33i32 ) ; pub const TokenDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 34i32 ) ; pub const TokenRestrictedUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 35i32 ) ; pub const TokenRestrictedDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 36i32 ) ; pub const TokenDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 37i32 ) ; pub const TokenRestrictedDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 38i32 ) ; pub const TokenSecurityAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 39i32 ) ; pub const TokenIsRestricted : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 40i32 ) ; pub const TokenProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 41i32 ) ; pub const TokenPrivateNameSpace : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 42i32 ) ; pub const TokenSingletonAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 43i32 ) ; pub const TokenBnoIsolation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 44i32 ) ; pub const TokenChildProcessFlags : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 45i32 ) ; pub const TokenIsLessPrivilegedAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 46i32 ) ; pub const TokenIsSandboxed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 47i32 ) ; pub const TokenOriginatingProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 48i32 ) ; pub const MaxTokenInfoClass : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 49i32 ) ; impl :: std :: convert :: From < i32 > for TOKEN_INFORMATION_CLASS { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_INFORMATION_CLASS { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_PRIVILEGES { pub PrivilegeCount : u32 , pub Privileges : [ LUID_AND_ATTRIBUTES ;1 ] } impl TOKEN_PRIVILEGES { } impl :: std :: default :: Default for TOKEN_PRIVILEGES { fn default ( ) -> Self { Self { PrivilegeCount : 0 , Privileges : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for TOKEN_PRIVILEGES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_PRIVILEGES" ) . field ( "PrivilegeCount" , & self . PrivilegeCount ) . field ( "Privileges" , & self . Privileges ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_PRIVILEGES { fn eq ( & self , other : & Self ) -> bool { self . PrivilegeCount == other . PrivilegeCount && self . Privileges == other . Privileges } } impl :: std :: cmp :: Eq for TOKEN_PRIVILEGES { } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_PRIVILEGES_ATTRIBUTES ( pub u32 ) ; pub const SE_PRIVILEGE_ENABLED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2u32 ) ; pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 1u32 ) ; pub const SE_PRIVILEGE_REMOVED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 4u32 ) ; pub const SE_PRIVILEGE_USED_FOR_ACCESS : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2147483648u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_PRIVILEGES_ATTRIBUTES { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod FileSystem { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct WIN32_FIND_DATAW { pub dwFileAttributes : u32 , pub ftCreationTime : super::super::Foundation:: FILETIME , pub ftLastAccessTime : super::super::Foundation:: FILETIME , pub ftLastWriteTime : super::super::Foundation:: FILETIME , pub nFileSizeHigh : u32 , pub nFileSizeLow : u32 , pub dwReserved0 : u32 , pub dwReserved1 : u32 , pub cFileName : [ u16 ;260 ] , pub cAlternateFileName : [ u16 ;14 ] } impl WIN32_FIND_DATAW { } impl :: std :: default :: Default for WIN32_FIND_DATAW { fn default ( ) -> Self { Self { dwFileAttributes : 0 , ftCreationTime : :: std :: default :: Default :: default ( ) , ftLastAccessTime : :: std :: default :: Default :: default ( ) , ftLastWriteTime : :: std :: default :: Default :: default ( ) , nFileSizeHigh : 0 , nFileSizeLow : 0 , dwReserved0 : 0 , dwReserved1 : 0 , cFileName : [ 0 ;260 ] , cAlternateFileName : [ 0 ;14 ] } } } impl :: std :: fmt :: Debug for WIN32_FIND_DATAW { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "WIN32_FIND_DATAW" ) . field ( "dwFileAttributes" , & self . dwFileAttributes ) . field ( "ftCreationTime" , & self . ftCreationTime ) . field ( "ftLastAccessTime" , & self . ftLastAccessTime ) . field ( "ftLastWriteTime" , & self . ftLastWriteTime ) . field ( "nFileSizeHigh" , & self . nFileSizeHigh ) . field ( "nFileSizeLow" , & self . nFileSizeLow ) . field ( "dwReserved0" , & self . dwReserved0 ) . field ( "dwReserved1" , & self . dwReserved1 ) . field ( "cFileName" , & self . cFileName ) . field ( "cAlternateFileName" , & self . cAlternateFileName ) . finish ( ) } } impl :: std :: cmp :: PartialEq for WIN32_FIND_DATAW { fn eq ( & self , other : & Self ) -> bool { self . dwFileAttributes == other . dwFileAttributes && self . ftCreationTime == other . ftCreationTime && self . ftLastAccessTime == other . ftLastAccessTime && self . ftLastWriteTime == other . ftLastWriteTime && self . nFileSizeHigh == other . nFileSizeHigh && self . nFileSizeLow == other . nFileSizeLow && self . dwReserved0 == other . dwReserved0 && self . dwReserved1 == other . dwReserved1 && self . cFileName == other . cFileName && self . cAlternateFileName == other . cAlternateFileName } } impl :: std :: cmp :: Eq for WIN32_FIND_DATAW { } unsafe impl :: windows :: Abi for WIN32_FIND_DATAW { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod StructuredStorage { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABOOL { pub cElems : u32 , pub pElems : * mut i16 } impl CABOOL { } impl :: std :: default :: Default for CABOOL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABOOL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABOOL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABOOL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABOOL { } unsafe impl :: windows :: Abi for CABOOL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: BSTR } impl CABSTR { } impl :: std :: default :: Default for CABSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTR { } unsafe impl :: windows :: Abi for CABSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTRBLOB { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: BSTRBLOB } impl CABSTRBLOB { } impl :: std :: default :: Default for CABSTRBLOB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTRBLOB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTRBLOB { } unsafe impl :: windows :: Abi for CABSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAC { pub cElems : u32 , pub pElems : super::super::Foundation:: PSTR } impl CAC { } impl :: std :: default :: Default for CAC { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for CAC { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAC" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAC { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAC { } unsafe impl :: windows :: Abi for CAC { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLIPDATA { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CLIPDATA } impl CACLIPDATA { } impl :: std :: default :: Default for CACLIPDATA { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLIPDATA" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLIPDATA { } unsafe impl :: windows :: Abi for CACLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLSID { pub cElems : u32 , pub pElems : * mut :: windows :: Guid } impl CACLSID { } impl :: std :: default :: Default for CACLSID { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLSID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLSID" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLSID { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLSID { } unsafe impl :: windows :: Abi for CACLSID { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACY { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CY } impl CACY { } impl :: std :: default :: Default for CACY { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACY" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACY { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACY { } unsafe impl :: windows :: Abi for CACY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADATE { pub cElems : u32 , pub pElems : * mut f64 } impl CADATE { } impl :: std :: default :: Default for CADATE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADATE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADATE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADATE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADATE { } unsafe impl :: windows :: Abi for CADATE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADBL { pub cElems : u32 , pub pElems : * mut f64 } impl CADBL { } impl :: std :: default :: Default for CADBL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADBL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADBL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADBL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADBL { } unsafe impl :: windows :: Abi for CADBL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFILETIME { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: FILETIME } impl CAFILETIME { } impl :: std :: default :: Default for CAFILETIME { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFILETIME" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFILETIME { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFILETIME { } unsafe impl :: windows :: Abi for CAFILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFLT { pub cElems : u32 , pub pElems : * mut f32 } impl CAFLT { } impl :: std :: default :: Default for CAFLT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFLT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFLT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFLT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFLT { } unsafe impl :: windows :: Abi for CAFLT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAH { pub cElems : u32 , pub pElems : * mut i64 } impl CAH { } impl :: std :: default :: Default for CAH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAH { } unsafe impl :: windows :: Abi for CAH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAI { pub cElems : u32 , pub pElems : * mut i16 } impl CAI { } impl :: std :: default :: Default for CAI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAI { } unsafe impl :: windows :: Abi for CAI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAL { pub cElems : u32 , pub pElems : * mut i32 } impl CAL { } impl :: std :: default :: Default for CAL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAL { } unsafe impl :: windows :: Abi for CAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PSTR } impl CALPSTR { } impl :: std :: default :: Default for CALPSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPSTR { } unsafe impl :: windows :: Abi for CALPSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPWSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PWSTR } impl CALPWSTR { } impl :: std :: default :: Default for CALPWSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPWSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPWSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPWSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPWSTR { } unsafe impl :: windows :: Abi for CALPWSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAPROPVARIANT { pub cElems : u32 , pub pElems : * mut PROPVARIANT } impl CAPROPVARIANT { } impl :: std :: default :: Default for CAPROPVARIANT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAPROPVARIANT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAPROPVARIANT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAPROPVARIANT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAPROPVARIANT { } unsafe impl :: windows :: Abi for CAPROPVARIANT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CASCODE { pub cElems : u32 , pub pElems : * mut i32 } impl CASCODE { } impl :: std :: default :: Default for CASCODE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CASCODE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CASCODE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CASCODE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CASCODE { } unsafe impl :: windows :: Abi for CASCODE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUB { pub cElems : u32 , pub pElems : * mut u8 } impl CAUB { } impl :: std :: default :: Default for CAUB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUB { } unsafe impl :: windows :: Abi for CAUB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUH { pub cElems : u32 , pub pElems : * mut u64 } impl CAUH { } impl :: std :: default :: Default for CAUH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUH { } unsafe impl :: windows :: Abi for CAUH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUI { pub cElems : u32 , pub pElems : * mut u16 } impl CAUI { } impl :: std :: default :: Default for CAUI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUI { } unsafe impl :: windows :: Abi for CAUI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUL { pub cElems : u32 , pub pElems : * mut u32 } impl CAUL { } impl :: std :: default :: Default for CAUL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUL { } unsafe impl :: windows :: Abi for CAUL { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorage ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStorage { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 11 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStream ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStream { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 12 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: clone :: Clone for PROPVARIANT { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT { pub Anonymous : PROPVARIANT_0 } impl PROPVARIANT { } impl :: std :: cmp :: PartialEq for PROPVARIANT { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_abi { pub Anonymous : PROPVARIANT_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT { type Abi = PROPVARIANT_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0 { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } impl PROPVARIANT_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_abi { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } unsafe impl :: windows :: Abi for PROPVARIANT_0 { type Abi = PROPVARIANT_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT_0_0 { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0 } impl PROPVARIANT_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_0_0_abi { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0 { type Abi = PROPVARIANT_0_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0_0_0 { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } impl PROPVARIANT_0_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_0_0_abi { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0_0 { type Abi = PROPVARIANT_0_0_0_abi ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone ) ] # [ repr ( C ) ] pub struct VERSIONEDSTREAM { pub guidVersion : :: windows :: Guid , pub pStream : :: std :: option :: Option < IStream > } impl VERSIONEDSTREAM { } impl :: std :: default :: Default for VERSIONEDSTREAM { fn default ( ) -> Self { Self { guidVersion : :: std :: default :: Default :: default ( ) , pStream : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for VERSIONEDSTREAM { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "VERSIONEDSTREAM" ) . field ( "guidVersion" , & self . guidVersion ) . field ( "pStream" , & self . pStream ) . finish ( ) } } impl :: std :: cmp :: PartialEq for VERSIONEDSTREAM { fn eq ( & self , other : & Self ) -> bool { self . guidVersion == other . guidVersion && self . pStream == other . pStream } } impl :: std :: cmp :: Eq for VERSIONEDSTREAM { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct VERSIONEDSTREAM_abi { pub guidVersion : :: windows :: Guid , pub pStream : :: windows :: RawPtr } unsafe impl :: windows :: Abi for VERSIONEDSTREAM { type Abi = VERSIONEDSTREAM_abi ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Com { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BLOB { pub cbSize : u32 , pub pBlobData : * mut u8 } impl BLOB { } impl :: std :: default :: Default for BLOB { fn default ( ) -> Self { Self { cbSize : 0 , pBlobData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pBlobData" , & self . pBlobData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pBlobData == other . pBlobData } } impl :: std :: cmp :: Eq for BLOB { } unsafe impl :: windows :: Abi for BLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CLSCTX ( pub u32 ) ; pub const CLSCTX_INPROC_SERVER : CLSCTX = CLSCTX ( 1u32 ) ; pub const CLSCTX_INPROC_HANDLER : CLSCTX = CLSCTX ( 2u32 ) ; pub const CLSCTX_LOCAL_SERVER : CLSCTX = CLSCTX ( 4u32 ) ; pub const CLSCTX_INPROC_SERVER16 : CLSCTX = CLSCTX ( 8u32 ) ; pub const CLSCTX_REMOTE_SERVER : CLSCTX = CLSCTX ( 16u32 ) ; pub const CLSCTX_INPROC_HANDLER16 : CLSCTX = CLSCTX ( 32u32 ) ; pub const CLSCTX_RESERVED1 : CLSCTX = CLSCTX ( 64u32 ) ; pub const CLSCTX_RESERVED2 : CLSCTX = CLSCTX ( 128u32 ) ; pub const CLSCTX_RESERVED3 : CLSCTX = CLSCTX ( 256u32 ) ; pub const CLSCTX_RESERVED4 : CLSCTX = CLSCTX ( 512u32 ) ; pub const CLSCTX_NO_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 1024u32 ) ; pub const CLSCTX_RESERVED5 : CLSCTX = CLSCTX ( 2048u32 ) ; pub const CLSCTX_NO_CUSTOM_MARSHAL : CLSCTX = CLSCTX ( 4096u32 ) ; pub const CLSCTX_ENABLE_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 8192u32 ) ; pub const CLSCTX_NO_FAILURE_LOG : CLSCTX = CLSCTX ( 16384u32 ) ; pub const CLSCTX_DISABLE_AAA : CLSCTX = CLSCTX ( 32768u32 ) ; pub const CLSCTX_ENABLE_AAA : CLSCTX = CLSCTX ( 65536u32 ) ; pub const CLSCTX_FROM_DEFAULT_CONTEXT : CLSCTX = CLSCTX ( 131072u32 ) ; pub const CLSCTX_ACTIVATE_X86_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_32_BIT_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_64_BIT_SERVER : CLSCTX = CLSCTX ( 524288u32 ) ; pub const CLSCTX_ENABLE_CLOAKING : CLSCTX = CLSCTX ( 1048576u32 ) ; pub const CLSCTX_APPCONTAINER : CLSCTX = CLSCTX ( 4194304u32 ) ; pub const CLSCTX_ACTIVATE_AAA_AS_IU : CLSCTX = CLSCTX ( 8388608u32 ) ; pub const CLSCTX_RESERVED6 : CLSCTX = CLSCTX ( 16777216u32 ) ; pub const CLSCTX_ACTIVATE_ARM32_SERVER : CLSCTX = CLSCTX ( 33554432u32 ) ; pub const CLSCTX_PS_DLL : CLSCTX = CLSCTX ( 2147483648u32 ) ; pub const CLSCTX_ALL : CLSCTX = CLSCTX ( 23u32 ) ; pub const CLSCTX_SERVER : CLSCTX = CLSCTX ( 21u32 ) ; impl :: std :: convert :: From < u32 > for CLSCTX { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CLSCTX { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CLSCTX { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CLSCTX { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CLSCTX { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CLSCTX { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CoCreateInstance < 'a , T : :: windows :: Interface > ( rclsid : * const :: windows :: Guid , punkouter : impl :: windows :: IntoParam < 'a , :: windows :: IUnknown > , dwclscontext : CLSCTX , ) -> :: windows :: Result < T > { # [ cfg ( windows ) ] { # [ link ( name ="OLE32" ) ] extern "system" { fn CoCreateInstance ( rclsid : * const :: windows :: Guid , punkouter : :: windows :: RawPtr , dwclscontext : CLSCTX , riid : * const :: windows :: Guid , ppv : * mut * mut :: std :: ffi :: c_void ) -> :: windows :: HRESULT ; } let mut result__ = :: std :: option :: Option :: None ; CoCreateInstance ( :: std :: mem :: transmute ( rclsid ) , punkouter . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwclscontext ) , & < T as :: windows :: Interface > :: IID , :: windows :: Abi :: set_abi ( & mut result__ ) ) . and_some ( result__ ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersist ( :: windows :: IUnknown ) ; impl IPersist { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } } unsafe impl :: windows :: Interface for IPersist { type Vtable = IPersist_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 268 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersist > for :: windows :: IUnknown { fn from ( value : IPersist ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersist > for :: windows :: IUnknown { fn from ( value : & IPersist ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersist_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , ) ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersistFile ( :: windows :: IUnknown ) ; impl IPersistFile { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } pub unsafe fn IsDirty < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } pub unsafe fn Load < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwmode : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwmode ) , ) . ok ( ) } pub unsafe fn Save < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , fremember : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , fremember . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn SaveCompleted < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetCurFile < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: PWSTR > { let mut result__ : < super::super::Foundation:: PWSTR as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < super::super::Foundation:: PWSTR > ( result__ ) } } unsafe impl :: windows :: Interface for IPersistFile { type Vtable = IPersistFile_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 267 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersistFile > for :: windows :: IUnknown { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for :: windows :: IUnknown { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl :: std :: convert :: From < IPersistFile > for IPersist { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for IPersist { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersistFile_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , dwmode : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , fremember : super::super::Foundation:: BOOL , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppszfilename : * mut super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct FACILITY_CODE ( pub u32 ) ; pub const FACILITY_NULL : FACILITY_CODE = FACILITY_CODE ( 0u32 ) ; pub const FACILITY_RPC : FACILITY_CODE = FACILITY_CODE ( 1u32 ) ; pub const FACILITY_DISPATCH : FACILITY_CODE = FACILITY_CODE ( 2u32 ) ; pub const FACILITY_STORAGE : FACILITY_CODE = FACILITY_CODE ( 3u32 ) ; pub const FACILITY_ITF : FACILITY_CODE = FACILITY_CODE ( 4u32 ) ; pub const FACILITY_WIN32 : FACILITY_CODE = FACILITY_CODE ( 7u32 ) ; pub const FACILITY_WINDOWS : FACILITY_CODE = FACILITY_CODE ( 8u32 ) ; pub const FACILITY_SSPI : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_SECURITY : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_CONTROL : FACILITY_CODE = FACILITY_CODE ( 10u32 ) ; pub const FACILITY_CERT : FACILITY_CODE = FACILITY_CODE ( 11u32 ) ; pub const FACILITY_INTERNET : FACILITY_CODE = FACILITY_CODE ( 12u32 ) ; pub const FACILITY_MEDIASERVER : FACILITY_CODE = FACILITY_CODE ( 13u32 ) ; pub const FACILITY_MSMQ : FACILITY_CODE = FACILITY_CODE ( 14u32 ) ; pub const FACILITY_SETUPAPI : FACILITY_CODE = FACILITY_CODE ( 15u32 ) ; pub const FACILITY_SCARD : FACILITY_CODE = FACILITY_CODE ( 16u32 ) ; pub const FACILITY_COMPLUS : FACILITY_CODE = FACILITY_CODE ( 17u32 ) ; pub const FACILITY_AAF : FACILITY_CODE = FACILITY_CODE ( 18u32 ) ; pub const FACILITY_URT : FACILITY_CODE = FACILITY_CODE ( 19u32 ) ; pub const FACILITY_ACS : FACILITY_CODE = FACILITY_CODE ( 20u32 ) ; pub const FACILITY_DPLAY : FACILITY_CODE = FACILITY_CODE ( 21u32 ) ; pub const FACILITY_UMI : FACILITY_CODE = FACILITY_CODE ( 22u32 ) ; pub const FACILITY_SXS : FACILITY_CODE = FACILITY_CODE ( 23u32 ) ; pub const FACILITY_WINDOWS_CE : FACILITY_CODE = FACILITY_CODE ( 24u32 ) ; pub const FACILITY_HTTP : FACILITY_CODE = FACILITY_CODE ( 25u32 ) ; pub const FACILITY_USERMODE_COMMONLOG : FACILITY_CODE = FACILITY_CODE ( 26u32 ) ; pub const FACILITY_WER : FACILITY_CODE = FACILITY_CODE ( 27u32 ) ; pub const FACILITY_USERMODE_FILTER_MANAGER : FACILITY_CODE = FACILITY_CODE ( 31u32 ) ; pub const FACILITY_BACKGROUNDCOPY : FACILITY_CODE = FACILITY_CODE ( 32u32 ) ; pub const FACILITY_CONFIGURATION : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_WIA : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_STATE_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 34u32 ) ; pub const FACILITY_METADIRECTORY : FACILITY_CODE = FACILITY_CODE ( 35u32 ) ; pub const FACILITY_WINDOWSUPDATE : FACILITY_CODE = FACILITY_CODE ( 36u32 ) ; pub const FACILITY_DIRECTORYSERVICE : FACILITY_CODE = FACILITY_CODE ( 37u32 ) ; pub const FACILITY_GRAPHICS : FACILITY_CODE = FACILITY_CODE ( 38u32 ) ; pub const FACILITY_SHELL : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_NAP : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_TPM_SERVICES : FACILITY_CODE = FACILITY_CODE ( 40u32 ) ; pub const FACILITY_TPM_SOFTWARE : FACILITY_CODE = FACILITY_CODE ( 41u32 ) ; pub const FACILITY_UI : FACILITY_CODE = FACILITY_CODE ( 42u32 ) ; pub const FACILITY_XAML : FACILITY_CODE = FACILITY_CODE ( 43u32 ) ; pub const FACILITY_ACTION_QUEUE : FACILITY_CODE = FACILITY_CODE ( 44u32 ) ; pub const FACILITY_PLA : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_WINDOWS_SETUP : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_FVE : FACILITY_CODE = FACILITY_CODE ( 49u32 ) ; pub const FACILITY_FWP : FACILITY_CODE = FACILITY_CODE ( 50u32 ) ; pub const FACILITY_WINRM : FACILITY_CODE = FACILITY_CODE ( 51u32 ) ; pub const FACILITY_NDIS : FACILITY_CODE = FACILITY_CODE ( 52u32 ) ; pub const FACILITY_USERMODE_HYPERVISOR : FACILITY_CODE = FACILITY_CODE ( 53u32 ) ; pub const FACILITY_CMI : FACILITY_CODE = FACILITY_CODE ( 54u32 ) ; pub const FACILITY_USERMODE_VIRTUALIZATION : FACILITY_CODE = FACILITY_CODE ( 55u32 ) ; pub const FACILITY_USERMODE_VOLMGR : FACILITY_CODE = FACILITY_CODE ( 56u32 ) ; pub const FACILITY_BCD : FACILITY_CODE = FACILITY_CODE ( 57u32 ) ; pub const FACILITY_USERMODE_VHD : FACILITY_CODE = FACILITY_CODE ( 58u32 ) ; pub const FACILITY_USERMODE_HNS : FACILITY_CODE = FACILITY_CODE ( 59u32 ) ; pub const FACILITY_SDIAG : FACILITY_CODE = FACILITY_CODE ( 60u32 ) ; pub const FACILITY_WEBSERVICES : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WINPE : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WPN : FACILITY_CODE = FACILITY_CODE ( 62u32 ) ; pub const FACILITY_WINDOWS_STORE : FACILITY_CODE = FACILITY_CODE ( 63u32 ) ; pub const FACILITY_INPUT : FACILITY_CODE = FACILITY_CODE ( 64u32 ) ; pub const FACILITY_QUIC : FACILITY_CODE = FACILITY_CODE ( 65u32 ) ; pub const FACILITY_EAP : FACILITY_CODE = FACILITY_CODE ( 66u32 ) ; pub const FACILITY_WINDOWS_DEFENDER : FACILITY_CODE = FACILITY_CODE ( 80u32 ) ; pub const FACILITY_OPC : FACILITY_CODE = FACILITY_CODE ( 81u32 ) ; pub const FACILITY_XPS : FACILITY_CODE = FACILITY_CODE ( 82u32 ) ; pub const FACILITY_MBN : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_POWERSHELL : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_RAS : FACILITY_CODE = FACILITY_CODE ( 83u32 ) ; pub const FACILITY_P2P_INT : FACILITY_CODE = FACILITY_CODE ( 98u32 ) ; pub const FACILITY_P2P : FACILITY_CODE = FACILITY_CODE ( 99u32 ) ; pub const FACILITY_DAF : FACILITY_CODE = FACILITY_CODE ( 100u32 ) ; pub const FACILITY_BLUETOOTH_ATT : FACILITY_CODE = FACILITY_CODE ( 101u32 ) ; pub const FACILITY_AUDIO : FACILITY_CODE = FACILITY_CODE ( 102u32 ) ; pub const FACILITY_STATEREPOSITORY : FACILITY_CODE = FACILITY_CODE ( 103u32 ) ; pub const FACILITY_VISUALCPP : FACILITY_CODE = FACILITY_CODE ( 109u32 ) ; pub const FACILITY_SCRIPT : FACILITY_CODE = FACILITY_CODE ( 112u32 ) ; pub const FACILITY_PARSE : FACILITY_CODE = FACILITY_CODE ( 113u32 ) ; pub const FACILITY_BLB : FACILITY_CODE = FACILITY_CODE ( 120u32 ) ; pub const FACILITY_BLB_CLI : FACILITY_CODE = FACILITY_CODE ( 121u32 ) ; pub const FACILITY_WSBAPP : FACILITY_CODE = FACILITY_CODE ( 122u32 ) ; pub const FACILITY_BLBUI : FACILITY_CODE = FACILITY_CODE ( 128u32 ) ; pub const FACILITY_USN : FACILITY_CODE = FACILITY_CODE ( 129u32 ) ; pub const FACILITY_USERMODE_VOLSNAP : FACILITY_CODE = FACILITY_CODE ( 130u32 ) ; pub const FACILITY_TIERING : FACILITY_CODE = FACILITY_CODE ( 131u32 ) ; pub const FACILITY_WSB_ONLINE : FACILITY_CODE = FACILITY_CODE ( 133u32 ) ; pub const FACILITY_ONLINE_ID : FACILITY_CODE = FACILITY_CODE ( 134u32 ) ; pub const FACILITY_DEVICE_UPDATE_AGENT : FACILITY_CODE = FACILITY_CODE ( 135u32 ) ; pub const FACILITY_DRVSERVICING : FACILITY_CODE = FACILITY_CODE ( 136u32 ) ; pub const FACILITY_DLS : FACILITY_CODE = FACILITY_CODE ( 153u32 ) ; pub const FACILITY_DELIVERY_OPTIMIZATION : FACILITY_CODE = FACILITY_CODE ( 208u32 ) ; pub const FACILITY_USERMODE_SPACES : FACILITY_CODE = FACILITY_CODE ( 231u32 ) ; pub const FACILITY_USER_MODE_SECURITY_CORE : FACILITY_CODE = FACILITY_CODE ( 232u32 ) ; pub const FACILITY_USERMODE_LICENSING : FACILITY_CODE = FACILITY_CODE ( 234u32 ) ; pub const FACILITY_SOS : FACILITY_CODE = FACILITY_CODE ( 160u32 ) ; pub const FACILITY_DEBUGGERS : FACILITY_CODE = FACILITY_CODE ( 176u32 ) ; pub const FACILITY_SPP : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_RESTORE : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DMSERVER : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_SERVER : FACILITY_CODE = FACILITY_CODE ( 257u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING : FACILITY_CODE = FACILITY_CODE ( 258u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 259u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_UTIL : FACILITY_CODE = FACILITY_CODE ( 260u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC : FACILITY_CODE = FACILITY_CODE ( 261u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_PXE : FACILITY_CODE = FACILITY_CODE ( 263u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TFTP : FACILITY_CODE = FACILITY_CODE ( 264u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 272u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING : FACILITY_CODE = FACILITY_CODE ( 278u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER : FACILITY_CODE = FACILITY_CODE ( 289u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT : FACILITY_CODE = FACILITY_CODE ( 290u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER : FACILITY_CODE = FACILITY_CODE ( 293u32 ) ; pub const FACILITY_LINGUISTIC_SERVICES : FACILITY_CODE = FACILITY_CODE ( 305u32 ) ; pub const FACILITY_AUDIOSTREAMING : FACILITY_CODE = FACILITY_CODE ( 1094u32 ) ; pub const FACILITY_TTD : FACILITY_CODE = FACILITY_CODE ( 1490u32 ) ; pub const FACILITY_ACCELERATOR : FACILITY_CODE = FACILITY_CODE ( 1536u32 ) ; pub const FACILITY_WMAAECMA : FACILITY_CODE = FACILITY_CODE ( 1996u32 ) ; pub const FACILITY_DIRECTMUSIC : FACILITY_CODE = FACILITY_CODE ( 2168u32 ) ; pub const FACILITY_DIRECT3D10 : FACILITY_CODE = FACILITY_CODE ( 2169u32 ) ; pub const FACILITY_DXGI : FACILITY_CODE = FACILITY_CODE ( 2170u32 ) ; pub const FACILITY_DXGI_DDI : FACILITY_CODE = FACILITY_CODE ( 2171u32 ) ; pub const FACILITY_DIRECT3D11 : FACILITY_CODE = FACILITY_CODE ( 2172u32 ) ; pub const FACILITY_DIRECT3D11_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2173u32 ) ; pub const FACILITY_DIRECT3D12 : FACILITY_CODE = FACILITY_CODE ( 2174u32 ) ; pub const FACILITY_DIRECT3D12_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2175u32 ) ; pub const FACILITY_DXCORE : FACILITY_CODE = FACILITY_CODE ( 2176u32 ) ; pub const FACILITY_LEAP : FACILITY_CODE = FACILITY_CODE ( 2184u32 ) ; pub const FACILITY_AUDCLNT : FACILITY_CODE = FACILITY_CODE ( 2185u32 ) ; pub const FACILITY_WINCODEC_DWRITE_DWM : FACILITY_CODE = FACILITY_CODE ( 2200u32 ) ; pub const FACILITY_WINML : FACILITY_CODE = FACILITY_CODE ( 2192u32 ) ; pub const FACILITY_DIRECT2D : FACILITY_CODE = FACILITY_CODE ( 2201u32 ) ; pub const FACILITY_DEFRAG : FACILITY_CODE = FACILITY_CODE ( 2304u32 ) ; pub const FACILITY_USERMODE_SDBUS : FACILITY_CODE = FACILITY_CODE ( 2305u32 ) ; pub const FACILITY_JSCRIPT : FACILITY_CODE = FACILITY_CODE ( 2306u32 ) ; pub const FACILITY_PIDGENX : FACILITY_CODE = FACILITY_CODE ( 2561u32 ) ; pub const FACILITY_EAS : FACILITY_CODE = FACILITY_CODE ( 85u32 ) ; pub const FACILITY_WEB : FACILITY_CODE = FACILITY_CODE ( 885u32 ) ; pub const FACILITY_WEB_SOCKET : FACILITY_CODE = FACILITY_CODE ( 886u32 ) ; pub const FACILITY_MOBILE : FACILITY_CODE = FACILITY_CODE ( 1793u32 ) ; pub const FACILITY_SQLITE : FACILITY_CODE = FACILITY_CODE ( 1967u32 ) ; pub const FACILITY_UTC : FACILITY_CODE = FACILITY_CODE ( 1989u32 ) ; pub const FACILITY_WEP : FACILITY_CODE = FACILITY_CODE ( 2049u32 ) ; pub const FACILITY_SYNCENGINE : FACILITY_CODE = FACILITY_CODE ( 2050u32 ) ; pub const FACILITY_XBOX : FACILITY_CODE = FACILITY_CODE ( 2339u32 ) ; pub const FACILITY_GAME : FACILITY_CODE = FACILITY_CODE ( 2340u32 ) ; pub const FACILITY_PIX : FACILITY_CODE = FACILITY_CODE ( 2748u32 ) ; pub const FACILITY_NT_BIT : FACILITY_CODE = FACILITY_CODE ( 268435456u32 ) ; impl :: std :: convert :: From < u32 > for FACILITY_CODE { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for FACILITY_CODE { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for FACILITY_CODE { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for FACILITY_CODE { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for FACILITY_CODE { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for FACILITY_CODE { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn GetLastError < > ( ) -> WIN32_ERROR { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetLastError ( ) -> WIN32_ERROR ; } GetLastError ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct WIN32_ERROR ( pub u32 ) ; impl :: std :: convert :: From < u32 > for WIN32_ERROR { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for WIN32_ERROR { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for WIN32_ERROR { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for WIN32_ERROR { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for WIN32_ERROR { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for WIN32_ERROR { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ToolHelp { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CREATE_TOOLHELP_SNAPSHOT_FLAGS ( pub u32 ) ; pub const TH32CS_INHERIT : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2147483648u32 ) ; pub const TH32CS_SNAPALL : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 15u32 ) ; pub const TH32CS_SNAPHEAPLIST : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 1u32 ) ; pub const TH32CS_SNAPMODULE : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 8u32 ) ; pub const TH32CS_SNAPMODULE32 : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 16u32 ) ; pub const TH32CS_SNAPPROCESS : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2u32 ) ; pub const TH32CS_SNAPTHREAD : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 4u32 ) ; impl :: std :: convert :: From < u32 > for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CreateToolhelp32Snapshot < > ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 , ) -> super::super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CreateToolhelp32Snapshot ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 ) -> super::super::super::Foundation:: HANDLE ; } CreateToolhelp32Snapshot ( :: std :: mem :: transmute ( dwflags ) , :: std :: mem :: transmute ( th32processid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESSENTRY32W { pub dwSize : u32 , pub cntUsage : u32 , pub th32ProcessID : u32 , pub th32DefaultHeapID : usize , pub th32ModuleID : u32 , pub cntThreads : u32 , pub th32ParentProcessID : u32 , pub pcPriClassBase : i32 , pub dwFlags : u32 , pub szExeFile : [ u16 ;260 ] } impl PROCESSENTRY32W { } impl :: std :: default :: Default for PROCESSENTRY32W { fn default ( ) -> Self { Self { dwSize : 0 , cntUsage : 0 , th32ProcessID : 0 , th32DefaultHeapID : 0 , th32ModuleID : 0 , cntThreads : 0 , th32ParentProcessID : 0 , pcPriClassBase : 0 , dwFlags : 0 , szExeFile : [ 0 ;260 ] } } } impl :: std :: fmt :: Debug for PROCESSENTRY32W { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESSENTRY32W" ) . field ( "dwSize" , & self . dwSize ) . field ( "cntUsage" , & self . cntUsage ) . field ( "th32ProcessID" , & self . th32ProcessID ) . field ( "th32DefaultHeapID" , & self . th32DefaultHeapID ) . field ( "th32ModuleID" , & self . th32ModuleID ) . field ( "cntThreads" , & self . cntThreads ) . field ( "th32ParentProcessID" , & self . th32ParentProcessID ) . field ( "pcPriClassBase" , & self . pcPriClassBase ) . field ( "dwFlags" , & self . dwFlags ) . field ( "szExeFile" , & self . szExeFile ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESSENTRY32W { fn eq ( & self , other : & Self ) -> bool { self . dwSize == other . dwSize && self . cntUsage == other . cntUsage && self . th32ProcessID == other . th32ProcessID && self . th32DefaultHeapID == other . th32DefaultHeapID && self . th32ModuleID == other . th32ModuleID && self . cntThreads == other . cntThreads && self . th32ParentProcessID == other . th32ParentProcessID && self . pcPriClassBase == other . pcPriClassBase && self . dwFlags == other . dwFlags && self . szExeFile == other . szExeFile } } impl :: std :: cmp :: Eq for PROCESSENTRY32W { } unsafe impl :: windows :: Abi for PROCESSENTRY32W { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn Process32FirstW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32FirstW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32FirstW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn Process32NextW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32NextW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32NextW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn GetModuleFileNameW < 'a , > ( hmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleFileNameW ( hmodule : super::super::Foundation:: HINSTANCE , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 ) -> u32 ; } GetModuleFileNameW ( hmodule . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpfilename ) , :: std :: mem :: transmute ( nsize ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod OleAutomation { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IDispatch ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IDispatch { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 132096 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAY { pub cDims : u16 , pub fFeatures : u16 , pub cbElements : u32 , pub cLocks : u32 , pub pvData : * mut :: std :: ffi :: c_void , pub rgsabound : [ SAFEARRAYBOUND ;1 ] } impl SAFEARRAY { } impl :: std :: default :: Default for SAFEARRAY { fn default ( ) -> Self { Self { cDims : 0 , fFeatures : 0 , cbElements : 0 , cLocks : 0 , pvData : :: std :: ptr :: null_mut ( ) , rgsabound : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for SAFEARRAY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAY" ) . field ( "cDims" , & self . cDims ) . field ( "fFeatures" , & self . fFeatures ) . field ( "cbElements" , & self . cbElements ) . field ( "cLocks" , & self . cLocks ) . field ( "pvData" , & self . pvData ) . field ( "rgsabound" , & self . rgsabound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAY { fn eq ( & self , other : & Self ) -> bool { self . cDims == other . cDims && self . fFeatures == other . fFeatures && self . cbElements == other . cbElements && self . cLocks == other . cLocks && self . pvData == other . pvData && self . rgsabound == other . rgsabound } } impl :: std :: cmp :: Eq for SAFEARRAY { } unsafe impl :: windows :: Abi for SAFEARRAY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAYBOUND { pub cElements : u32 , pub lLbound : i32 } impl SAFEARRAYBOUND { } impl :: std :: default :: Default for SAFEARRAYBOUND { fn default ( ) -> Self { Self { cElements : 0 , lLbound : 0 } } } impl :: std :: fmt :: Debug for SAFEARRAYBOUND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAYBOUND" ) . field ( "cElements" , & self . cElements ) . field ( "lLbound" , & self . lLbound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAYBOUND { fn eq ( & self , other : & Self ) -> bool { self . cElements == other . cElements && self . lLbound == other . lLbound } } impl :: std :: cmp :: Eq for SAFEARRAYBOUND { } unsafe impl :: windows :: Abi for SAFEARRAYBOUND { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VARENUM ( pub i32 ) ; pub const VT_EMPTY : VARENUM = VARENUM ( 0i32 ) ; pub const VT_NULL : VARENUM = VARENUM ( 1i32 ) ; pub const VT_I2 : VARENUM = VARENUM ( 2i32 ) ; pub const VT_I4 : VARENUM = VARENUM ( 3i32 ) ; pub const VT_R4 : VARENUM = VARENUM ( 4i32 ) ; pub const VT_R8 : VARENUM = VARENUM ( 5i32 ) ; pub const VT_CY : VARENUM = VARENUM ( 6i32 ) ; pub const VT_DATE : VARENUM = VARENUM ( 7i32 ) ; pub const VT_BSTR : VARENUM = VARENUM ( 8i32 ) ; pub const VT_DISPATCH : VARENUM = VARENUM ( 9i32 ) ; pub const VT_ERROR : VARENUM = VARENUM ( 10i32 ) ; pub const VT_BOOL : VARENUM = VARENUM ( 11i32 ) ; pub const VT_VARIANT : VARENUM = VARENUM ( 12i32 ) ; pub const VT_UNKNOWN : VARENUM = VARENUM ( 13i32 ) ; pub const VT_DECIMAL : VARENUM = VARENUM ( 14i32 ) ; pub const VT_I1 : VARENUM = VARENUM ( 16i32 ) ; pub const VT_UI1 : VARENUM = VARENUM ( 17i32 ) ; pub const VT_UI2 : VARENUM = VARENUM ( 18i32 ) ; pub const VT_UI4 : VARENUM = VARENUM ( 19i32 ) ; pub const VT_I8 : VARENUM = VARENUM ( 20i32 ) ; pub const VT_UI8 : VARENUM = VARENUM ( 21i32 ) ; pub const VT_INT : VARENUM = VARENUM ( 22i32 ) ; pub const VT_UINT : VARENUM = VARENUM ( 23i32 ) ; pub const VT_VOID : VARENUM = VARENUM ( 24i32 ) ; pub const VT_HRESULT : VARENUM = VARENUM ( 25i32 ) ; pub const VT_PTR : VARENUM = VARENUM ( 26i32 ) ; pub const VT_SAFEARRAY : VARENUM = VARENUM ( 27i32 ) ; pub const VT_CARRAY : VARENUM = VARENUM ( 28i32 ) ; pub const VT_USERDEFINED : VARENUM = VARENUM ( 29i32 ) ; pub const VT_LPSTR : VARENUM = VARENUM ( 30i32 ) ; pub const VT_LPWSTR : VARENUM = VARENUM ( 31i32 ) ; pub const VT_RECORD : VARENUM = VARENUM ( 36i32 ) ; pub const VT_INT_PTR : VARENUM = VARENUM ( 37i32 ) ; pub const VT_UINT_PTR : VARENUM = VARENUM ( 38i32 ) ; pub const VT_FILETIME : VARENUM = VARENUM ( 64i32 ) ; pub const VT_BLOB : VARENUM = VARENUM ( 65i32 ) ; pub const VT_STREAM : VARENUM = VARENUM ( 66i32 ) ; pub const VT_STORAGE : VARENUM = VARENUM ( 67i32 ) ; pub const VT_STREAMED_OBJECT : VARENUM = VARENUM ( 68i32 ) ; pub const VT_STORED_OBJECT : VARENUM = VARENUM ( 69i32 ) ; pub const VT_BLOB_OBJECT : VARENUM = VARENUM ( 70i32 ) ; pub const VT_CF : VARENUM = VARENUM ( 71i32 ) ; pub const VT_CLSID : VARENUM = VARENUM ( 72i32 ) ; pub const VT_VERSIONED_STREAM : VARENUM = VARENUM ( 73i32 ) ; pub const VT_BSTR_BLOB : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_VECTOR : VARENUM = VARENUM ( 4096i32 ) ; pub const VT_ARRAY : VARENUM = VARENUM ( 8192i32 ) ; pub const VT_BYREF : VARENUM = VARENUM ( 16384i32 ) ; pub const VT_RESERVED : VARENUM = VARENUM ( 32768i32 ) ; pub const VT_ILLEGAL : VARENUM = VARENUM ( 65535i32 ) ; pub const VT_ILLEGALMASKED : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_TYPEMASK : VARENUM = VARENUM ( 4095i32 ) ; impl :: std :: convert :: From < i32 > for VARENUM { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VARENUM { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ProcessStatus { pub unsafe fn K32GetProcessMemoryInfo < 'a , > ( process : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn K32GetProcessMemoryInfo ( process : super::super::Foundation:: HANDLE , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 ) -> super::super::Foundation:: BOOL ; } K32GetProcessMemoryInfo ( process . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ppsmemcounters ) , :: std :: mem :: transmute ( cb ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESS_MEMORY_COUNTERS { pub cb : u32 , pub PageFaultCount : u32 , pub PeakWorkingSetSize : usize , pub WorkingSetSize : usize , pub QuotaPeakPagedPoolUsage : usize , pub QuotaPagedPoolUsage : usize , pub QuotaPeakNonPagedPoolUsage : usize , pub QuotaNonPagedPoolUsage : usize , pub PagefileUsage : usize , pub PeakPagefileUsage : usize } impl PROCESS_MEMORY_COUNTERS { } impl :: std :: default :: Default for PROCESS_MEMORY_COUNTERS { fn default ( ) -> Self { Self { cb : 0 , PageFaultCount : 0 , PeakWorkingSetSize : 0 , WorkingSetSize : 0 , QuotaPeakPagedPoolUsage : 0 , QuotaPagedPoolUsage : 0 , QuotaPeakNonPagedPoolUsage : 0 , QuotaNonPagedPoolUsage : 0 , PagefileUsage : 0 , PeakPagefileUsage : 0 } } } impl :: std :: fmt :: Debug for PROCESS_MEMORY_COUNTERS { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESS_MEMORY_COUNTERS" ) . field ( "cb" , & self . cb ) . field ( "PageFaultCount" , & self . PageFaultCount ) . field ( "PeakWorkingSetSize" , & self . PeakWorkingSetSize ) . field ( "WorkingSetSize" , & self . WorkingSetSize ) . field ( "QuotaPeakPagedPoolUsage" , & self . QuotaPeakPagedPoolUsage ) . field ( "QuotaPagedPoolUsage" , & self . QuotaPagedPoolUsage ) . field ( "QuotaPeakNonPagedPoolUsage" , & self . QuotaPeakNonPagedPoolUsage ) . field ( "QuotaNonPagedPoolUsage" , & self . QuotaNonPagedPoolUsage ) . field ( "PagefileUsage" , & self . PagefileUsage ) . field ( "PeakPagefileUsage" , & self . PeakPagefileUsage ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESS_MEMORY_COUNTERS { fn eq ( & self , other : & Self ) -> bool { self . cb == other . cb && self . PageFaultCount == other . PageFaultCount && self . PeakWorkingSetSize == other . PeakWorkingSetSize && self . WorkingSetSize == other . WorkingSetSize && self . QuotaPeakPagedPoolUsage == other . QuotaPeakPagedPoolUsage && self . QuotaPagedPoolUsage == other . QuotaPagedPoolUsage && self . QuotaPeakNonPagedPoolUsage == other . QuotaPeakNonPagedPoolUsage && self . QuotaNonPagedPoolUsage == other . QuotaNonPagedPoolUsage && self . PagefileUsage == other . PagefileUsage && self . PeakPagefileUsage == other . PeakPagefileUsage } } impl :: std :: cmp :: Eq for PROCESS_MEMORY_COUNTERS { } unsafe impl :: windows :: Abi for PROCESS_MEMORY_COUNTERS { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod PropertiesSystem { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPropertyStore ( :: windows :: IUnknown ) ; impl IPropertyStore { pub unsafe fn GetCount < > ( & self , ) -> :: windows :: Result < u32 > { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } pub unsafe fn GetAt < > ( & self , iprop : u32 , ) -> :: windows :: Result < PROPERTYKEY > { let mut result__ : < PROPERTYKEY as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( iprop ) , & mut result__ ) . from_abi :: < PROPERTYKEY > ( result__ ) } pub unsafe fn GetValue < > ( & self , key : * const PROPERTYKEY , ) -> :: windows :: Result < super::super::Storage::StructuredStorage:: PROPVARIANT > { let mut result__ : < super::super::Storage::StructuredStorage:: PROPVARIANT as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , & mut result__ ) . from_abi :: < super::super::Storage::StructuredStorage:: PROPVARIANT > ( result__ ) } pub unsafe fn SetValue < > ( & self , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , :: std :: mem :: transmute ( propvar ) , ) . ok ( ) } pub unsafe fn Commit < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IPropertyStore { type Vtable = IPropertyStore_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2288881387 ,36082 ,17478 , [ 141 ,2 ,205 ,186 ,29 ,189 ,207 ,153 ] , ) ; } impl :: std :: convert :: From < IPropertyStore > for :: windows :: IUnknown { fn from ( value : IPropertyStore ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPropertyStore > for :: windows :: IUnknown { fn from ( value : & IPropertyStore ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPropertyStore_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , cprops : * mut u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iprop : u32 , pkey : * mut PROPERTYKEY , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , pv : * mut super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROPERTYKEY { pub fmtid : :: windows :: Guid , pub pid : u32 } impl PROPERTYKEY { } impl :: std :: default :: Default for PROPERTYKEY { fn default ( ) -> Self { Self { fmtid : :: std :: default :: Default :: default ( ) , pid : 0 } } } impl :: std :: fmt :: Debug for PROPERTYKEY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROPERTYKEY" ) . field ( "fmtid" , & self . fmtid ) . field ( "pid" , & self . pid ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROPERTYKEY { fn eq ( & self , other : & Self ) -> bool { self . fmtid == other . fmtid && self . pid == other . pid } } impl :: std :: cmp :: Eq for PROPERTYKEY { } unsafe impl :: windows :: Abi for PROPERTYKEY { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BSTRBLOB { pub cbSize : u32 , pub pData : * mut u8 } impl BSTRBLOB { } impl :: std :: default :: Default for BSTRBLOB { fn default ( ) -> Self { Self { cbSize : 0 , pData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BSTRBLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pData" , & self . pData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pData == other . pData } } impl :: std :: cmp :: Eq for BSTRBLOB { } unsafe impl :: windows :: Abi for BSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct CHAR ( pub u8 ) ; impl CHAR { } impl :: std :: default :: Default for CHAR { fn default ( ) -> Self { Self ( 0 ) } } impl CHAR { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for CHAR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CHAR" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CHAR { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for CHAR { } unsafe impl :: windows :: Abi for CHAR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CLIPDATA { pub cbSize : u32 , pub ulClipFmt : i32 , pub pClipData : * mut u8 } impl CLIPDATA { } impl :: std :: default :: Default for CLIPDATA { fn default ( ) -> Self { Self { cbSize : 0 , ulClipFmt : 0 , pClipData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CLIPDATA" ) . field ( "cbSize" , & self . cbSize ) . field ( "ulClipFmt" , & self . ulClipFmt ) . field ( "pClipData" , & self . pClipData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . ulClipFmt == other . ulClipFmt && self . pClipData == other . pClipData } } impl :: std :: cmp :: Eq for CLIPDATA { } unsafe impl :: windows :: Abi for CLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union CY { pub Anonymous : CY_0 , pub int64 : i64 } impl CY { } impl :: std :: cmp :: PartialEq for CY { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for CY { } unsafe impl :: windows :: Abi for CY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CY_0 { pub Lo : u32 , pub Hi : i32 } impl CY_0 { } impl :: std :: default :: Default for CY_0 { fn default ( ) -> Self { Self { Lo : 0 , Hi : 0 } } } impl :: std :: fmt :: Debug for CY_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo" , & self . Lo ) . field ( "Hi" , & self . Hi ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CY_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo == other . Lo && self . Hi == other . Hi } } impl :: std :: cmp :: Eq for CY_0 { } unsafe impl :: windows :: Abi for CY_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL { pub wReserved : u16 , pub Anonymous1 : DECIMAL_0 , pub Hi32 : u32 , pub Anonymous2 : DECIMAL_1 } impl DECIMAL { } impl :: std :: cmp :: PartialEq for DECIMAL { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL { } unsafe impl :: windows :: Abi for DECIMAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_0 { pub Anonymous : DECIMAL_0_0 , pub signscale : u16 } impl DECIMAL_0 { } impl :: std :: cmp :: PartialEq for DECIMAL_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_0 { } unsafe impl :: windows :: Abi for DECIMAL_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_0_0 { pub scale : u8 , pub sign : u8 } impl DECIMAL_0_0 { } impl :: std :: default :: Default for DECIMAL_0_0 { fn default ( ) -> Self { Self { scale : 0 , sign : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_0_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "scale" , & self . scale ) . field ( "sign" , & self . sign ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_0_0 { fn eq ( & self , other : & Self ) -> bool { self . scale == other . scale && self . sign == other . sign } } impl :: std :: cmp :: Eq for DECIMAL_0_0 { } unsafe impl :: windows :: Abi for DECIMAL_0_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_1 { pub Anonymous : DECIMAL_1_0 , pub Lo64 : u64 } impl DECIMAL_1 { } impl :: std :: cmp :: PartialEq for DECIMAL_1 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_1 { } unsafe impl :: windows :: Abi for DECIMAL_1 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_1_0 { pub Lo32 : u32 , pub Mid32 : u32 } impl DECIMAL_1_0 { } impl :: std :: default :: Default for DECIMAL_1_0 { fn default ( ) -> Self { Self { Lo32 : 0 , Mid32 : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_1_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo32" , & self . Lo32 ) . field ( "Mid32" , & self . Mid32 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_1_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo32 == other . Lo32 && self . Mid32 == other . Mid32 } } impl :: std :: cmp :: Eq for DECIMAL_1_0 { } unsafe impl :: windows :: Abi for DECIMAL_1_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID { pub LowPart : u32 , pub HighPart : i32 } impl LUID { } impl :: std :: default :: Default for LUID { fn default ( ) -> Self { Self { LowPart : 0 , HighPart : 0 } } } impl :: std :: fmt :: Debug for LUID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID" ) . field ( "LowPart" , & self . LowPart ) . field ( "HighPart" , & self . HighPart ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID { fn eq ( & self , other : & Self ) -> bool { self . LowPart == other . LowPart && self . HighPart == other . HighPart } } impl :: std :: cmp :: Eq for LUID { } unsafe impl :: windows :: Abi for LUID { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Threading { pub unsafe fn GetCurrentProcess < > ( ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetCurrentProcess ( ) -> super::super::Foundation:: HANDLE ; } GetCurrentProcess ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcess < 'a , > ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , dwprocessid : u32 , ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn OpenProcess ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : super::super::Foundation:: BOOL , dwprocessid : u32 ) -> super::super::Foundation:: HANDLE ; } OpenProcess ( :: std :: mem :: transmute ( dwdesiredaccess ) , binherithandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwprocessid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcessToken < 'a , > ( processhandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn OpenProcessToken ( processhandle : super::super::Foundation:: HANDLE , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE ) -> super::super::Foundation:: BOOL ; } OpenProcessToken ( processhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( desiredaccess ) , :: std :: mem :: transmute ( tokenhandle ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct PROCESS_ACCESS_RIGHTS ( pub u32 ) ; pub const PROCESS_TERMINATE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1u32 ) ; pub const PROCESS_CREATE_THREAD : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2u32 ) ; pub const PROCESS_SET_SESSIONID : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4u32 ) ; pub const PROCESS_VM_OPERATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8u32 ) ; pub const PROCESS_VM_READ : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 16u32 ) ; pub const PROCESS_VM_WRITE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 32u32 ) ; pub const PROCESS_DUP_HANDLE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 64u32 ) ; pub const PROCESS_CREATE_PROCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 128u32 ) ; pub const PROCESS_SET_QUOTA : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 256u32 ) ; pub const PROCESS_SET_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 512u32 ) ; pub const PROCESS_QUERY_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1024u32 ) ; pub const PROCESS_SUSPEND_RESUME : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2048u32 ) ; pub const PROCESS_QUERY_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4096u32 ) ; pub const PROCESS_SET_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8192u32 ) ; pub const PROCESS_ALL_ACCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2097151u32 ) ; pub const PROCESS_DELETE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 65536u32 ) ; pub const PROCESS_READ_CONTROL : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 131072u32 ) ; pub const PROCESS_WRITE_DAC : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 262144u32 ) ; pub const PROCESS_WRITE_OWNER : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 524288u32 ) ; pub const PROCESS_SYNCHRONIZE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1048576u32 ) ; pub const PROCESS_STANDARD_RIGHTS_REQUIRED : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 983040u32 ) ; impl :: std :: convert :: From < u32 > for PROCESS_ACCESS_RIGHTS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for PROCESS_ACCESS_RIGHTS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for PROCESS_ACCESS_RIGHTS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for PROCESS_ACCESS_RIGHTS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn TerminateProcess < 'a , > ( hprocess : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , uexitcode : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn TerminateProcess ( hprocess : super::super::Foundation:: HANDLE , uexitcode : u32 ) -> super::super::Foundation:: BOOL ; } TerminateProcess ( hprocess . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( uexitcode ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod WinRT { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct RO_INIT_TYPE ( pub i32 ) ; pub const RO_INIT_SINGLETHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 0i32 ) ; pub const RO_INIT_MULTITHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 1i32 ) ; impl :: std :: convert :: From < i32 > for RO_INIT_TYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for RO_INIT_TYPE { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn RoInitialize < > ( inittype : RO_INIT_TYPE , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="onecoreuap" ) ] extern "system" { fn RoInitialize ( inittype : RO_INIT_TYPE ) -> :: windows :: HRESULT ; } RoInitialize ( :: std :: mem :: transmute ( inittype ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Shell { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IShellLinkW ( :: windows :: IUnknown ) ; impl IShellLinkW { pub unsafe fn GetPath < > ( & self , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszfile ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( pfd ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn GetIDList < > ( & self , ) -> :: windows :: Result < * mut ITEMIDLIST > { let mut result__ : < * mut ITEMIDLIST as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < * mut ITEMIDLIST > ( result__ ) } pub unsafe fn SetIDList < > ( & self , pidl : * mut ITEMIDLIST , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pidl ) , ) . ok ( ) } pub unsafe fn GetDescription < > ( & self , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszname ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetDescription < 'a , > ( & self , pszname : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszname . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetWorkingDirectory < > ( & self , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszdir ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetWorkingDirectory < 'a , > ( & self , pszdir : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .9 ) ( :: windows :: Abi :: abi ( self ) , pszdir . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetArguments < > ( & self , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .10 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszargs ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetArguments < 'a , > ( & self , pszargs : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .11 ) ( :: windows :: Abi :: abi ( self ) , pszargs . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetHotkey < > ( & self , ) -> :: windows :: Result < u16 > { let mut result__ : < u16 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .12 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u16 > ( result__ ) } pub unsafe fn SetHotkey < > ( & self , whotkey : u16 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .13 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( whotkey ) , ) . ok ( ) } pub unsafe fn GetShowCmd < > ( & self , ) -> :: windows :: Result < i32 > { let mut result__ : < i32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .14 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < i32 > ( result__ ) } pub unsafe fn SetShowCmd < > ( & self , ishowcmd : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .15 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( ishowcmd ) , ) . ok ( ) } pub unsafe fn GetIconLocation < > ( & self , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .16 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( psziconpath ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( piicon ) , ) . ok ( ) } pub unsafe fn SetIconLocation < 'a , > ( & self , psziconpath : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , iicon : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .17 ) ( :: windows :: Abi :: abi ( self ) , psziconpath . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( iicon ) , ) . ok ( ) } pub unsafe fn SetRelativePath < 'a , > ( & self , pszpathrel : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwreserved : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .18 ) ( :: windows :: Abi :: abi ( self ) , pszpathrel . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwreserved ) , ) . ok ( ) } pub unsafe fn Resolve < 'a , > ( & self , hwnd : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HWND > , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .19 ) ( :: windows :: Abi :: abi ( self ) , hwnd . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn SetPath < 'a , > ( & self , pszfile : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .20 ) ( :: windows :: Abi :: abi ( self ) , pszfile . into_param ( ) . abi ( ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IShellLinkW { type Vtable = IShellLinkW_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 136441 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IShellLinkW > for :: windows :: IUnknown { fn from ( value : IShellLinkW ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IShellLinkW > for :: windows :: IUnknown { fn from ( value : & IShellLinkW ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IShellLinkW_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppidl : * mut * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pidl : * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pwhotkey : * mut u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , whotkey : u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pishowcmd : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ishowcmd : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , iicon : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszpathrel : super::super::Foundation:: PWSTR , dwreserved : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , hwnd : super::super::Foundation:: HWND , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct ITEMIDLIST { pub mkid : SHITEMID } impl ITEMIDLIST { } impl :: std :: cmp :: PartialEq for ITEMIDLIST { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for ITEMIDLIST { } unsafe impl :: windows :: Abi for ITEMIDLIST { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 1 ) ) ] pub struct SHITEMID { pub cb : u16 , pub abID : [ u8 ;1 ] } impl SHITEMID { } impl :: std :: cmp :: PartialEq for SHITEMID { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for SHITEMID { } unsafe impl :: windows :: Abi for SHITEMID { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn SetCurrentProcessExplicitAppUserModelID < 'a , > ( appid : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="SHELL32" ) ] extern "system" { fn SetCurrentProcessExplicitAppUserModelID ( appid : super::super::Foundation:: PWSTR ) -> :: windows :: HRESULT ; } SetCurrentProcessExplicitAppUserModelID ( appid . into_param ( ) . abi ( ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub const ShellLink : :: windows :: Guid = :: windows :: Guid :: from_values ( 136193 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/bindings-35b662b5b61b68f1/out/windows.rs:1:261520 [INFO] [stdout] | [INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Data { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Xml { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Dom { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlAttribute ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{ac144aa4-b4f1-4db6-b206-8a22c308db0a}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlCDataSection ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{4d04b46f-c8bd-45b4-8899-0400d7c2c60f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlComment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{bca474d5-b61f-4611-9cac-2e92e3476d47}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocument ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocument_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , target : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , elementid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , node : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentFragment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO { type Vtable = IXmlDocumentIO_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1825630030 ,61029 ,17545 , [ 158 ,191 ,202 ,67 ,232 ,123 ,166 ,55 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO2 { type Vtable = IXmlDocumentIO2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1560495713 ,31704 ,19157 , [ 158 ,191 ,129 ,230 ,52 ,114 ,99 ,177 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentStatics { type Vtable = IXmlDocumentStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1430508116 ,55127 ,19321 , [ 149 ,57 ,35 ,43 ,24 ,245 ,11 ,241 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentType ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f7342425-9781-4964-8e94-9b1c6dfc9bc7}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDomImplementation ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6de58132-f11d-4fbb-8cc6-583cba93112f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlElement ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlEntityReference ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlLoadSettings ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNamedNodeMap ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNode ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNode { type Vtable = IXmlNode_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 477371737 ,8482 ,18389 , [ 168 ,86 ,131 ,243 ,212 ,33 ,72 ,117 ] , ) ; } impl < > IXmlNode { pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = self ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = self ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = self ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNode { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{1c741d59-2122-47d5-a856-83f3d4214875}" ) ; } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IUnknown { fn from ( value : IXmlNode ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IUnknown { fn from ( value : & IXmlNode ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IInspectable { fn from ( value : IXmlNode ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IInspectable { fn from ( value : & IXmlNode ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSelector { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSelector { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSerializer { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSerializer { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNode_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NodeType ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , childnode : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNodeList ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8c60ad77-83a4-4ec1-9c54-7ba429e13da6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSelector ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSelector { type Vtable = IXmlNodeSelector_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1675344523 ,53467 ,20449 , [ 183 ,69 ,249 ,67 ,58 ,253 ,194 ,91 ] , ) ; } impl < > IXmlNodeSelector { pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSelector { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{63dbba8b-d0db-4fe1-b745-f9433afdc25b}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : IXmlNodeSelector ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSelector ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : IXmlNodeSelector ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSelector ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSelector_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSerializer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSerializer { type Vtable = IXmlNodeSerializer_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1556460418 ,59101 ,18833 , [ 171 ,239 ,6 ,216 ,210 ,231 ,189 ,12 ] , ) ; } impl < > IXmlNodeSerializer { pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSerializer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5cc5b382-e6dd-4991-abef-06d8d2e7bd0c}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : IXmlNodeSerializer ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSerializer ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : IXmlNodeSerializer ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSerializer ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSerializer_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlProcessingInstruction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2707fd1e-1e92-4ece-b6f4-26f069078ddc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlText ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f931a4cb-308d-4760-a1d5-43b67450ac7e}" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NodeType ( pub i32 ) ; impl NodeType { pub const Invalid : NodeType = NodeType ( 0i32 ) ; pub const ElementNode : NodeType = NodeType ( 1i32 ) ; pub const AttributeNode : NodeType = NodeType ( 2i32 ) ; pub const TextNode : NodeType = NodeType ( 3i32 ) ; pub const DataSectionNode : NodeType = NodeType ( 4i32 ) ; pub const EntityReferenceNode : NodeType = NodeType ( 5i32 ) ; pub const EntityNode : NodeType = NodeType ( 6i32 ) ; pub const ProcessingInstructionNode : NodeType = NodeType ( 7i32 ) ; pub const CommentNode : NodeType = NodeType ( 8i32 ) ; pub const DocumentNode : NodeType = NodeType ( 9i32 ) ; pub const DocumentTypeNode : NodeType = NodeType ( 10i32 ) ; pub const DocumentFragmentNode : NodeType = NodeType ( 11i32 ) ; pub const NotationNode : NodeType = NodeType ( 12i32 ) ; } impl :: std :: convert :: From < i32 > for NodeType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NodeType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NodeType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Data.Xml.Dom.NodeType;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlAttribute ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlAttribute;{ac144aa4-b4f1-4db6-b206-8a22c308db0a})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlCDataSection ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlCDataSection;{4d04b46f-c8bd-45b4-8899-0400d7c2c60f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlComment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlComment;{bca474d5-b61f-4611-9cac-2e92e3476d47})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct XmlDocument ( :: windows :: IInspectable ) ; impl XmlDocument { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Doctype < > ( & self , ) -> :: windows :: Result < XmlDocumentType > { let this = self ; unsafe { let mut result__ : < XmlDocumentType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentType > ( result__ ) } } pub fn Implementation < > ( & self , ) -> :: windows :: Result < XmlDomImplementation > { let this = self ; unsafe { let mut result__ : < XmlDomImplementation as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDomImplementation > ( result__ ) } } pub fn DocumentElement < > ( & self , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateElement < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateDocumentFragment < > ( & self , ) -> :: windows :: Result < XmlDocumentFragment > { let this = self ; unsafe { let mut result__ : < XmlDocumentFragment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentFragment > ( result__ ) } } pub fn CreateTextNode < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlText > { let this = self ; unsafe { let mut result__ : < XmlText as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlText > ( result__ ) } } pub fn CreateComment < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlComment > { let this = self ; unsafe { let mut result__ : < XmlComment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlComment > ( result__ ) } } pub fn CreateProcessingInstruction < 'a , > ( & self , target : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlProcessingInstruction > { let this = self ; unsafe { let mut result__ : < XmlProcessingInstruction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , target . into_param ( ) . abi ( ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlProcessingInstruction > ( result__ ) } } pub fn CreateAttribute < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateEntityReference < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlEntityReference > { let this = self ; unsafe { let mut result__ : < XmlEntityReference as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlEntityReference > ( result__ ) } } pub fn GetElementsByTagName < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn CreateCDataSection < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlCDataSection > { let this = self ; unsafe { let mut result__ : < XmlCDataSection as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlCDataSection > ( result__ ) } } pub fn DocumentUri < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn CreateAttributeNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateElementNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn GetElementById < 'a , > ( & self , elementid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , elementid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn ImportNode < 'a , > ( & self , node : impl :: windows :: IntoParam < 'a , IXmlNode > , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , node . into_param ( ) . abi ( ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LoadXml < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlWithSettings < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SaveToFileAsync < 'a , > ( & self , file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncAction > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncAction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncAction > ( result__ ) } } pub fn LoadXmlFromBuffer < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlFromBufferWithSettings < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadFromUriAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromUriWithSettingsAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileWithSettingsAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn IXmlDocumentStatics < R , F : FnOnce ( & IXmlDocumentStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , IXmlDocumentStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for XmlDocument { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocument;{f7f3a506-1e87-42d6-bcfb-b8c809fa5494})" ) ; } unsafe impl :: windows :: Interface for XmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } impl :: windows :: RuntimeName for XmlDocument { const NAME : & 'static str ="Windows.Data.Xml.Dom.XmlDocument" ; } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IUnknown { fn from ( value : XmlDocument ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IUnknown { fn from ( value : & XmlDocument ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IInspectable { fn from ( value : XmlDocument ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IInspectable { fn from ( value : & XmlDocument ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNode { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNode { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSelector { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSelector { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSerializer { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSerializer { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } unsafe impl :: std :: marker :: Send for XmlDocument { } unsafe impl :: std :: marker :: Sync for XmlDocument { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentFragment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentFragment;{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentType ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentType;{f7342425-9781-4964-8e94-9b1c6dfc9bc7})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDomImplementation ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDomImplementation;{6de58132-f11d-4fbb-8cc6-583cba93112f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlElement ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlElement;{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlEntityReference ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlEntityReference;{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlLoadSettings ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlLoadSettings;{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNamedNodeMap ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNamedNodeMap;{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNodeList ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNodeList;{8c60ad77-83a4-4ec1-9c54-7ba429e13da6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlProcessingInstruction ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlProcessingInstruction;{2707fd1e-1e92-4ece-b6f4-26f069078ddc})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlText ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlText;{f931a4cb-308d-4760-a1d5-43b67450ac7e})" ) ; } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DateTime { pub UniversalTime : i64 } impl DateTime { } impl :: std :: default :: Default for DateTime { fn default ( ) -> Self { Self { UniversalTime : 0 } } } impl :: std :: fmt :: Debug for DateTime { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "DateTime" ) . field ( "UniversalTime" , & self . UniversalTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DateTime { fn eq ( & self , other : & Self ) -> bool { self . UniversalTime == other . UniversalTime } } impl :: std :: cmp :: Eq for DateTime { } unsafe impl :: windows :: Abi for DateTime { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for DateTime { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.DateTime;i8)" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct EventRegistrationToken { pub Value : i64 } impl EventRegistrationToken { } impl :: std :: default :: Default for EventRegistrationToken { fn default ( ) -> Self { Self { Value : 0 } } } impl :: std :: fmt :: Debug for EventRegistrationToken { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "EventRegistrationToken" ) . field ( "Value" , & self . Value ) . finish ( ) } } impl :: std :: cmp :: PartialEq for EventRegistrationToken { fn eq ( & self , other : & Self ) -> bool { self . Value == other . Value } } impl :: std :: cmp :: Eq for EventRegistrationToken { } unsafe impl :: windows :: Abi for EventRegistrationToken { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for EventRegistrationToken { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.EventRegistrationToken;i8)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncAction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IAsyncAction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1516535814 ,33850 ,19881 , [ 134 ,91 ,157 ,38 ,229 ,223 ,173 ,123 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IAsyncAction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5a648006-843a-4da9-865b-9d26e5dfad7b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncOperation < TResult > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < TResult > , ) where TResult : :: windows :: RuntimeType + 'static , ; unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IAsyncOperation < TResult > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IAsyncOperation < TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IAsyncOperation < TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9fc2b0bb-e446-44e2-aa61-9cab8f636af2}" ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IReference < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IReference < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IReference < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IReference < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{61c17706-2d65-11e0-9ae8-d48564015472}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUriRuntimeClass ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUriRuntimeClass { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUriRuntimeClass { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{9e365e57-48b2-4160-956f-c7385120bbfc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct TypedEventHandler < TSender , TResult > ( :: windows :: IUnknown , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > TypedEventHandler < TSender , TResult > { pub fn new < F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > ( invoke : F ) -> Self { let com = TypedEventHandler_box :: < TSender , TResult , F > { vtable : & TypedEventHandler_box :: < TSender , TResult , F > :: VTABLE , count : :: windows :: RefCount :: new ( 1 ) , invoke , } ; unsafe { std :: mem :: transmute ( :: std :: boxed :: Box :: new ( com ) ) } } pub fn Invoke < 'a , > ( & self , sender : impl :: windows :: IntoParam < 'a , TSender > , args : impl :: windows :: IntoParam < 'a , TResult > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .3 ) ( :: windows :: Abi :: abi ( this ) , sender . into_param ( ) . abi ( ) , args . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for TypedEventHandler < TSender , TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9de1c534-6ae1-11e0-84e1-18a905bcc53f}" ) . push_slice ( b";" ) . push_other ( < TSender as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for TypedEventHandler < TSender , TResult > { type Vtable = TypedEventHandler_abi < TSender , TResult > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < TypedEventHandler < TSender , TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct TypedEventHandler_abi < TSender , TResult > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < TSender > , pub :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; # [ repr ( C ) ] struct TypedEventHandler_box < TSender , TResult , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , { vtable : * const TypedEventHandler_abi < TSender , TResult > , invoke : F , count : :: windows :: RefCount , } impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > TypedEventHandler_box :: < TSender , TResult , F > { const VTABLE : TypedEventHandler_abi < TSender , TResult > = TypedEventHandler_abi :: < TSender , TResult > ( Self :: QueryInterface , Self :: AddRef , Self :: Release , Self :: Invoke , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) ; unsafe extern "system" fn QueryInterface ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; * interface = if iid == & < TypedEventHandler < TSender , TResult > as :: windows :: Interface > :: IID || iid == & < :: windows :: IUnknown as :: windows :: Interface > :: IID || iid == & < :: windows :: IAgileObject as :: windows :: Interface > :: IID { & mut ( * this ) . vtable as * mut _ as _ } else { :: std :: ptr :: null_mut ( ) } ; if ( * interface ) . is_null ( ) { :: windows :: HRESULT ( 0x8000_4002 ) } else { ( * this ) . count . add_ref ( ) ; :: windows :: HRESULT ( 0 ) } } unsafe extern "system" fn AddRef ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( * this ) . count . add_ref ( ) } unsafe extern "system" fn Release ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; let remaining = ( * this ) . count . release ( ) ; if remaining == 0 { Box :: from_raw ( this ) ; } remaining } unsafe extern "system" fn Invoke ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( ( * this ) . invoke ) ( & * ( & sender as * const < TSender as :: windows :: Abi > :: Abi as * const < TSender as :: windows :: Abi > :: DefaultType ) , & * ( & args as * const < TResult as :: windows :: Abi > :: Abi as * const < TResult as :: windows :: Abi > :: DefaultType ) , ) . into ( ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct Uri ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for Uri { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl :: windows :: RuntimeType for Uri { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Uri;{9e365e57-48b2-4160-956f-c7385120bbfc})" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Collections { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterable < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterable < T > { type Vtable = IIterable_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterable < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterable < T > { pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < T > > { let this = self ; unsafe { let mut result__ : < IIterator < T > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < T > > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterable < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{faa585ea-6214-4217-afda-7f46de5869b3}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IUnknown { fn from ( value : IIterable < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IUnknown { fn from ( value : & IIterable < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IInspectable { fn from ( value : IIterable < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IInspectable { fn from ( value : & IIterable < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for & 'a IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterable_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterator < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterator < T > { type Vtable = IIterator_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterator < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterator < T > { pub fn Current < > ( & self , ) -> :: windows :: Result < T > { let this = self ; unsafe { let mut result__ : < T as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < T > ( result__ ) } } pub fn HasCurrent < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn MoveNext < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetMany < > ( & self , items : & mut [ < T as :: windows :: Abi > :: DefaultType ] , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , items . len ( ) as u32 , :: std :: mem :: transmute_copy ( & items ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterator < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{6a79e863-4300-459a-9966-cbb660963ee1}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IUnknown { fn from ( value : IIterator < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IUnknown { fn from ( value : & IIterator < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IInspectable { fn from ( value : IIterator < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IInspectable { fn from ( value : & IIterator < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: Iterator for IIterator < T > { type Item = T ; fn next ( & mut self ) -> :: std :: option :: Option < Self :: Item > { let result = self . Current ( ) . ok ( ) ; if result . is_some ( ) { self . MoveNext ( ) . ok ( ) ? ; } result } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterator_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < T as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , items_array_size : u32 , items : * mut < T as :: windows :: Abi > :: Abi , result__ : * mut u32 ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IKeyValuePair < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IKeyValuePair < K , V > { type Vtable = IKeyValuePair_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IKeyValuePair < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IKeyValuePair < K , V > { pub fn Key < > ( & self , ) -> :: windows :: Result < K > { let this = self ; unsafe { let mut result__ : < K as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < K > ( result__ ) } } pub fn Value < > ( & self , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IKeyValuePair < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{02b51929-c1c4-4a7e-8940-0312b5c18500}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : IKeyValuePair < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : & IKeyValuePair < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : IKeyValuePair < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : & IKeyValuePair < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IKeyValuePair_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMap < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMap < K , V > { type Vtable = IMap_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMap < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMap < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetView < > ( & self , ) -> :: windows :: Result < IMapView < K , V > > { let this = self ; unsafe { let mut result__ : < IMapView < K , V > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IMapView < K , V > > ( result__ ) } } pub fn Insert < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , value : impl :: windows :: IntoParam < 'a , V > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , value . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Remove < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMap < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{3c2925fe-8519-45c1-aa79-197b6718c1c1}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IUnknown { fn from ( value : IMap < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IUnknown { fn from ( value : & IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IInspectable { fn from ( value : IMap < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IInspectable { fn from ( value : & IMap < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMap < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMap_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , value : < V as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMapView < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMapView < K , V > { type Vtable = IMapView_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMapView < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMapView < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Split < > ( & self , first : & mut :: std :: option :: Option < IMapView < K , V > > , second : & mut :: std :: option :: Option < IMapView < K , V > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , :: windows :: Abi :: set_abi ( first ) , :: windows :: Abi :: set_abi ( second ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMapView < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{e480ce40-a338-4ada-adcf-272272e48cb9}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : IMapView < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : & IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : IMapView < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : & IMapView < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMapView < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMapView_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , first : * mut :: windows :: RawPtr , second : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IPropertySet ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IPropertySet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IPropertySet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8a43ed9f-f4e6-4421-acf9-1dab2986820c}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IVectorView < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IVectorView < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IVectorView < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IVectorView < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{bbe1fa4c-b0e3-4583-baef-1f1b2e483e56}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ValueSet ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ValueSet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl :: windows :: RuntimeType for ValueSet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Collections.ValueSet;{8a43ed9f-f4e6-4421-acf9-1dab2986820c})" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorageFile ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IStorageFile { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4198457734 ,16916 ,17036 , [ 166 ,76 ,20 ,201 ,172 ,115 ,21 ,234 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IStorageFile { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{fa3f6186-4214-428c-a64c-14c9ac7315ea}" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Streams { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IBuffer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IBuffer { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2421821408 ,48211 ,4575 , [ 140 ,73 ,0 ,30 ,79 ,198 ,134 ,218 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IBuffer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{905a0fe0-bc53-11df-8c49-001e4fc686da}" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{df9a26c6-e746-4bcd-b5d4-120103c4209b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct User ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for User { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl :: windows :: RuntimeType for User { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.System.User;{df9a26c6-e746-4bcd-b5d4-120103c4209b})" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Notifications { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationData ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationData_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : u32 ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationDataFactory { type Vtable = INotificationDataFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 599909178 ,7184 ,18171 , [ 128 ,64 ,222 ,195 ,132 ,98 ,28 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , sequencenumber : u32 , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationVisual ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for INotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{68835b8e-aa56-4e11-86d3-5f9a6957bc5b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79f577f8-0de7-48cd-9740-9b370490c838}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6173f6b4-412a-5e2c-a6ed-a0209aef9a09}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastDismissalReason ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastFailedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{35176862-cfd4-44f8-ad64-f500fd896c3b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification2 { type Vtable = IToastNotification2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2650513361 ,5178 ,18702 , [ 144 ,191 ,185 ,251 ,167 ,19 ,45 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification3 { type Vtable = IToastNotification3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 837332696 ,33089 ,20377 , [ 188 ,10 ,196 ,237 ,33 ,41 ,125 ,119 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification4 { type Vtable = IToastNotification4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 353716533 ,10474 ,18215 , [ 136 ,233 ,197 ,134 ,128 ,226 ,209 ,24 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastNotificationPriority ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : ToastNotificationPriority ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification6 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification6 { type Vtable = IToastNotification6_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1139539539 ,35246 ,23582 , [ 162 ,121 ,58 ,236 ,254 ,155 ,111 ,84 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification6_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationFactory { type Vtable = IToastNotificationFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 68307744 ,33478 ,16937 , [ 177 ,9 ,253 ,158 ,212 ,102 ,43 ,83 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , content : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory2 { type Vtable = IToastNotificationHistory2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1002689107 ,12081 ,16530 , [ 145 ,41 ,138 ,213 ,171 ,240 ,103 ,218 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerForUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79ab57f6-43fe-487b-8a7f-99567200ae94}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics { type Vtable = IToastNotificationManagerStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1353453631 ,53813 ,17816 , [ 187 ,239 ,152 ,254 ,77 ,26 ,58 ,212 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , r#type : ToastTemplateType , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics2 { type Vtable = IToastNotificationManagerStatics2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2058959954 ,3656 ,18256 , [ 186 ,157 ,26 ,65 ,19 ,152 ,24 ,71 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics4 { type Vtable = IToastNotificationManagerStatics4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2409185235 ,58646 ,17915 , [ 129 ,48 ,57 ,142 ,147 ,250 ,82 ,195 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , user : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics5 { type Vtable = IToastNotificationManagerStatics5_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3606443369 ,54285 ,16508 , [ 137 ,137 ,136 ,202 ,180 ,44 ,253 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationSetting ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier2 { type Vtable = IToastNotifier2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 893618630 ,31745 ,19413 , [ 156 ,32 ,96 ,67 ,64 ,205 ,43 ,116 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier3 { type Vtable = IToastNotifier3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2926944330 ,15116 ,20909 , [ 183 ,232 ,176 ,138 ,182 ,5 ,37 ,73 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct Notification ( :: windows :: IInspectable ) ; impl Notification { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < Notification , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Visual < > ( & self , ) -> :: windows :: Result < NotificationVisual > { let this = self ; unsafe { let mut result__ : < NotificationVisual as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationVisual > ( result__ ) } } pub fn SetVisual < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationVisual > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for Notification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.Notification;{108037fe-eb76-4f82-97bc-da07530a2e20})" ) ; } unsafe impl :: windows :: Interface for Notification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } impl :: windows :: RuntimeName for Notification { const NAME : & 'static str ="Windows.UI.Notifications.Notification" ; } impl < > :: std :: convert :: From < Notification > for :: windows :: IUnknown { fn from ( value : Notification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IUnknown { fn from ( value : & Notification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < Notification > for :: windows :: IInspectable { fn from ( value : Notification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IInspectable { fn from ( value : & Notification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for Notification { } unsafe impl :: std :: marker :: Sync for Notification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct NotificationData ( :: windows :: IInspectable ) ; impl NotificationData { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Values < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > ( result__ ) } } pub fn SequenceNumber < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn SetSequenceNumber < > ( & self , value : u32 , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn CreateNotificationDataWithValuesAndSequenceNumber < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , sequencenumber : u32 , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , sequencenumber , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn CreateNotificationDataWithValues < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn INotificationDataFactory < R , F : FnOnce ( & INotificationDataFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , INotificationDataFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for NotificationData { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationData;{9ffd2312-9d6a-4aaf-b6ac-ff17f0c1f280})" ) ; } unsafe impl :: windows :: Interface for NotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } impl :: windows :: RuntimeName for NotificationData { const NAME : & 'static str ="Windows.UI.Notifications.NotificationData" ; } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IUnknown { fn from ( value : NotificationData ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IUnknown { fn from ( value : & NotificationData ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IInspectable { fn from ( value : NotificationData ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IInspectable { fn from ( value : & NotificationData ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for NotificationData { } unsafe impl :: std :: marker :: Sync for NotificationData { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationMirroring ( pub i32 ) ; impl NotificationMirroring { pub const Allowed : NotificationMirroring = NotificationMirroring ( 0i32 ) ; pub const Disabled : NotificationMirroring = NotificationMirroring ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationMirroring { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationMirroring { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationMirroring { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationMirroring;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationSetting ( pub i32 ) ; impl NotificationSetting { pub const Enabled : NotificationSetting = NotificationSetting ( 0i32 ) ; pub const DisabledForApplication : NotificationSetting = NotificationSetting ( 1i32 ) ; pub const DisabledForUser : NotificationSetting = NotificationSetting ( 2i32 ) ; pub const DisabledByGroupPolicy : NotificationSetting = NotificationSetting ( 3i32 ) ; pub const DisabledByManifest : NotificationSetting = NotificationSetting ( 4i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationSetting { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationSetting { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationSetting { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationSetting;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationUpdateResult ( pub i32 ) ; impl NotificationUpdateResult { pub const Succeeded : NotificationUpdateResult = NotificationUpdateResult ( 0i32 ) ; pub const Failed : NotificationUpdateResult = NotificationUpdateResult ( 1i32 ) ; pub const NotificationNotFound : NotificationUpdateResult = NotificationUpdateResult ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationUpdateResult { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationUpdateResult { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationUpdateResult { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationUpdateResult;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct NotificationVisual ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for NotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl :: windows :: RuntimeType for NotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationVisual;{68835b8e-aa56-4e11-86d3-5f9a6957bc5b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotification ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotification;{79f577f8-0de7-48cd-9740-9b370490c838})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs;{6173f6b4-412a-5e2c-a6ed-a0209aef9a09})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastDismissalReason ( pub i32 ) ; impl ToastDismissalReason { pub const UserCanceled : ToastDismissalReason = ToastDismissalReason ( 0i32 ) ; pub const ApplicationHidden : ToastDismissalReason = ToastDismissalReason ( 1i32 ) ; pub const TimedOut : ToastDismissalReason = ToastDismissalReason ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for ToastDismissalReason { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastDismissalReason { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastDismissalReason { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastDismissalReason;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastDismissedEventArgs ( :: windows :: IInspectable ) ; impl ToastDismissedEventArgs { pub fn Reason < > ( & self , ) -> :: windows :: Result < ToastDismissalReason > { let this = self ; unsafe { let mut result__ : < ToastDismissalReason as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastDismissalReason > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastDismissedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastDismissedEventArgs;{3f89d935-d9cb-4538-a0f0-ffe7659938f8})" ) ; } unsafe impl :: windows :: Interface for ToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } impl :: windows :: RuntimeName for ToastDismissedEventArgs { const NAME : & 'static str ="Windows.UI.Notifications.ToastDismissedEventArgs" ; } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : ToastDismissedEventArgs ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : & ToastDismissedEventArgs ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : ToastDismissedEventArgs ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : & ToastDismissedEventArgs ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastDismissedEventArgs { } unsafe impl :: std :: marker :: Sync for ToastDismissedEventArgs { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastFailedEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastFailedEventArgs;{35176862-cfd4-44f8-ad64-f500fd896c3b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotification ( :: windows :: IInspectable ) ; impl ToastNotification { pub fn Content < > ( & self , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { let this = self ; unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn Dismissed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastDismissedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveDismissed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Activated < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , :: windows :: IInspectable > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveActivated < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Failed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastFailedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveFailed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SetTag < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Tag < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetGroup < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Group < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetSuppressPopup < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn SuppressPopup < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn CreateToastNotification < 'a , > ( content : impl :: windows :: IntoParam < 'a , super::super::Data::Xml::Dom:: XmlDocument > , ) -> :: windows :: Result < ToastNotification > { Self :: IToastNotificationFactory ( | this | unsafe { let mut result__ : < ToastNotification as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , content . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotification > ( result__ ) } ) } pub fn NotificationMirroring < > ( & self , ) -> :: windows :: Result < NotificationMirroring > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationMirroring as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationMirroring > ( result__ ) } } pub fn SetNotificationMirroring < > ( & self , value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn RemoteId < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetRemoteId < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Data < > ( & self , ) -> :: windows :: Result < NotificationData > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } } pub fn SetData < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationData > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Priority < > ( & self , ) -> :: windows :: Result < ToastNotificationPriority > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < ToastNotificationPriority as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationPriority > ( result__ ) } } pub fn SetPriority < > ( & self , value : ToastNotificationPriority , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn ExpiresOnReboot < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn SetExpiresOnReboot < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn IToastNotificationFactory < R , F : FnOnce ( & IToastNotificationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotification , IToastNotificationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for ToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotification;{997e2675-059e-4e60-8b06-1760917c8b80})" ) ; } unsafe impl :: windows :: Interface for ToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } impl :: windows :: RuntimeName for ToastNotification { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotification" ; } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IUnknown { fn from ( value : ToastNotification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IUnknown { fn from ( value : & ToastNotification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IInspectable { fn from ( value : ToastNotification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IInspectable { fn from ( value : & ToastNotification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotification { } unsafe impl :: std :: marker :: Sync for ToastNotification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationActionTriggerDetail ( :: windows :: IInspectable ) ; impl ToastNotificationActionTriggerDetail { pub fn Argument < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn UserInput < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: ValueSet > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: ValueSet as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: ValueSet > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationActionTriggerDetail { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationActionTriggerDetail;{9445135a-38f3-42f6-96aa-7955b0f03da2})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationActionTriggerDetail { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationActionTriggerDetail" ; } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationHistory ( :: windows :: IInspectable ) ; impl ToastNotificationHistory { pub fn RemoveGroup < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupWithId < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTagWithId < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTag < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Remove < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn ClearWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetHistory < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } pub fn GetHistoryWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationHistory { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationHistory;{5caddc63-01d3-4c97-986f-0533483fee14})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationHistory { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationHistory" ; } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : ToastNotificationHistory ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : & ToastNotificationHistory ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : ToastNotificationHistory ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : & ToastNotificationHistory ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } pub struct ToastNotificationManager { } impl ToastNotificationManager { pub fn CreateToastNotifier < > ( ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn CreateToastNotifierWithId < 'a , > ( applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn GetTemplateContent < > ( r#type : ToastTemplateType , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , r#type , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } ) } pub fn History < > ( ) -> :: windows :: Result < ToastNotificationHistory > { Self :: IToastNotificationManagerStatics2 ( | this | unsafe { let mut result__ : < ToastNotificationHistory as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationHistory > ( result__ ) } ) } pub fn GetForUser < 'a , > ( user : impl :: windows :: IntoParam < 'a , super::super::System:: User > , ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , user . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn ConfigureNotificationMirroring < > ( value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } ) } pub fn GetDefault < > ( ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics5 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn IToastNotificationManagerStatics < R , F : FnOnce ( & IToastNotificationManagerStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics2 < R , F : FnOnce ( & IToastNotificationManagerStatics2 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics2 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics4 < R , F : FnOnce ( & IToastNotificationManagerStatics4 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics4 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics5 < R , F : FnOnce ( & IToastNotificationManagerStatics5 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics5 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } impl :: windows :: RuntimeName for ToastNotificationManager { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationManager" ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastNotificationManagerForUser ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationManagerForUser;{79ab57f6-43fe-487b-8a7f-99567200ae94})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastNotificationPriority ( pub i32 ) ; impl ToastNotificationPriority { pub const Default : ToastNotificationPriority = ToastNotificationPriority ( 0i32 ) ; pub const High : ToastNotificationPriority = ToastNotificationPriority ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for ToastNotificationPriority { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastNotificationPriority { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastNotificationPriority { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastNotificationPriority;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotifier ( :: windows :: IInspectable ) ; impl ToastNotifier { pub fn Show < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Hide < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Setting < > ( & self , ) -> :: windows :: Result < NotificationSetting > { let this = self ; unsafe { let mut result__ : < NotificationSetting as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationSetting > ( result__ ) } } pub fn AddToSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveFromSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetScheduledToastNotifications < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > ( result__ ) } } pub fn UpdateWithTagAndGroup < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn UpdateWithTag < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn ScheduledToastNotificationShowing < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotifier , ScheduledToastNotificationShowingEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveScheduledToastNotificationShowing < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for ToastNotifier { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotifier;{75927b93-03f3-41ec-91d3-6e5bac1b38e7})" ) ; } unsafe impl :: windows :: Interface for ToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } impl :: windows :: RuntimeName for ToastNotifier { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotifier" ; } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IUnknown { fn from ( value : ToastNotifier ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IUnknown { fn from ( value : & ToastNotifier ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IInspectable { fn from ( value : ToastNotifier ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IInspectable { fn from ( value : & ToastNotifier ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotifier { } unsafe impl :: std :: marker :: Sync for ToastNotifier { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastTemplateType ( pub i32 ) ; impl ToastTemplateType { pub const ToastImageAndText01 : ToastTemplateType = ToastTemplateType ( 0i32 ) ; pub const ToastImageAndText02 : ToastTemplateType = ToastTemplateType ( 1i32 ) ; pub const ToastImageAndText03 : ToastTemplateType = ToastTemplateType ( 2i32 ) ; pub const ToastImageAndText04 : ToastTemplateType = ToastTemplateType ( 3i32 ) ; pub const ToastText01 : ToastTemplateType = ToastTemplateType ( 4i32 ) ; pub const ToastText02 : ToastTemplateType = ToastTemplateType ( 5i32 ) ; pub const ToastText03 : ToastTemplateType = ToastTemplateType ( 6i32 ) ; pub const ToastText04 : ToastTemplateType = ToastTemplateType ( 7i32 ) ; } impl :: std :: convert :: From < i32 > for ToastTemplateType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastTemplateType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastTemplateType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastTemplateType;i4)" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: Eq ) ] pub struct BSTR ( * mut u16 ) ; impl BSTR { # [ doc = r" Create an empty `BSTR`." ] # [ doc = r"" ] # [ doc = r" This function does not allocate memory." ] pub fn new ( ) -> Self { Self ( std :: ptr :: null_mut ( ) ) } # [ doc = r" Returns `true` if the string is empty." ] pub fn is_empty ( & self ) -> bool { self . 0 . is_null ( ) } # [ doc = r" Returns the length of the string." ] pub fn len ( & self ) -> usize { if self . is_empty ( ) { return 0 ; } unsafe { SysStringLen ( self ) as usize } } # [ doc = r" Create a `BSTR` from a slice of 16-bit characters." ] pub fn from_wide ( value : & [ u16 ] ) -> Self { if value . len ( ) == 0 { return Self ( :: std :: ptr :: null_mut ( ) ) ; } unsafe { SysAllocStringLen ( PWSTR ( value . as_ptr ( ) as _ ) , value . len ( ) as u32 , ) } } # [ doc = r" Get the string as 16-bit characters." ] pub fn as_wide ( & self ) -> & [ u16 ] { if self . 0 . is_null ( ) { return & [ ] ; } unsafe { :: std :: slice :: from_raw_parts ( self . 0 as * const u16 , self . len ( ) ) } } } impl :: std :: clone :: Clone for BSTR { fn clone ( & self ) -> Self { Self :: from_wide ( self . as_wide ( ) ) } } impl :: std :: convert :: From < & str > for BSTR { fn from ( value : & str ) -> Self { let value : :: std :: vec :: Vec < u16 > = value . encode_utf16 ( ) . collect ( ) ; Self :: from_wide ( & value ) } } impl :: std :: convert :: From < :: std :: string :: String > for BSTR { fn from ( value : :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl :: std :: convert :: From < & :: std :: string :: String > for BSTR { fn from ( value : & :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl < 'a > :: std :: convert :: TryFrom < & 'a BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : & BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: from_utf16 ( value . as_wide ( ) ) } } impl :: std :: convert :: TryFrom < BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: try_from ( & value ) } } impl :: std :: default :: Default for BSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: fmt :: Display for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { use :: std :: fmt :: Write ; for c in :: std :: char :: decode_utf16 ( self . as_wide ( ) . iter ( ) . cloned ( ) ) { f . write_char ( c . map_err ( | _ | :: std :: fmt :: Error ) ? ) ? } Ok ( ( ) ) } } impl :: std :: fmt :: Debug for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { :: std :: write ! ( f , "{}" , self ) } } impl :: std :: cmp :: PartialEq for BSTR { fn eq ( & self , other : & Self ) -> bool { self . as_wide ( ) == other . as_wide ( ) } } impl :: std :: cmp :: PartialEq < :: std :: string :: String > for BSTR { fn eq ( & self , other : & :: std :: string :: String ) -> bool { self == other . as_str ( ) } } impl :: std :: cmp :: PartialEq < str > for BSTR { fn eq ( & self , other : & str ) -> bool { self == other } } impl :: std :: cmp :: PartialEq < & str > for BSTR { fn eq ( & self , other : && str ) -> bool { self . as_wide ( ) . iter ( ) . copied ( ) . eq ( other . encode_utf16 ( ) ) } } impl :: std :: cmp :: PartialEq < BSTR > for & str { fn eq ( & self , other : & BSTR ) -> bool { other == self } } impl :: std :: ops :: Drop for BSTR { fn drop ( & mut self ) { if ! self . 0 . is_null ( ) { unsafe { SysFreeString ( self as & Self ) } } } } unsafe impl :: windows :: Abi for BSTR { type Abi = * mut u16 ; type DefaultType = Self ; fn set_abi ( & mut self ) -> * mut * mut u16 { debug_assert ! ( self . 0 . is_null ( ) ) ; & mut self . 0 as * mut _ as _ } } pub type BSTR_abi = * mut u16 ; pub unsafe fn CloseHandle < 'a , > ( hobject : impl :: windows :: IntoParam < 'a , HANDLE > , ) -> BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CloseHandle ( hobject : HANDLE ) -> BOOL ; } CloseHandle ( hobject . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct FILETIME { pub dwLowDateTime : u32 , pub dwHighDateTime : u32 } impl FILETIME { } impl :: std :: default :: Default for FILETIME { fn default ( ) -> Self { Self { dwLowDateTime : 0 , dwHighDateTime : 0 } } } impl :: std :: fmt :: Debug for FILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "FILETIME" ) . field ( "dwLowDateTime" , & self . dwLowDateTime ) . field ( "dwHighDateTime" , & self . dwHighDateTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for FILETIME { fn eq ( & self , other : & Self ) -> bool { self . dwLowDateTime == other . dwLowDateTime && self . dwHighDateTime == other . dwHighDateTime } } impl :: std :: cmp :: Eq for FILETIME { } unsafe impl :: windows :: Abi for FILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HANDLE ( pub isize ) ; impl HANDLE { } impl :: std :: default :: Default for HANDLE { fn default ( ) -> Self { Self ( 0 ) } } impl HANDLE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HANDLE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HANDLE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HANDLE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HANDLE { } unsafe impl :: windows :: Abi for HANDLE { type Abi = Self ; type DefaultType = Self ; } impl HANDLE { pub const INVALID : Self = Self ( - 1 ) ; pub fn is_invalid ( & self ) -> bool { self . 0 == - 1 } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HWND ( pub isize ) ; impl HWND { } impl :: std :: default :: Default for HWND { fn default ( ) -> Self { Self ( 0 ) } } impl HWND { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HWND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HWND" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HWND { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HWND { } unsafe impl :: windows :: Abi for HWND { type Abi = Self ; type DefaultType = Self ; } pub const MAX_PATH : u32 = 260u32 ; # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PWSTR ( pub * mut u16 ) ; impl PWSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PWSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PWSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PWSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } pub unsafe fn SysAllocStringLen < 'a , > ( strin : impl :: windows :: IntoParam < 'a , PWSTR > , ui : u32 , ) -> BSTR { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysAllocStringLen ( strin : PWSTR , ui : u32 ) -> BSTR ; } SysAllocStringLen ( strin . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ui ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysFreeString < 'a , > ( bstrstring : impl :: windows :: IntoParam < 'a , BSTR > , ) { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysFreeString ( bstrstring : BSTR_abi ) ; } SysFreeString ( bstrstring . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysStringLen < 'a , > ( pbstr : impl :: windows :: IntoParam < 'a , BSTR > , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysStringLen ( pbstr : BSTR_abi ) -> u32 ; } SysStringLen ( pbstr . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Security { pub unsafe fn AdjustTokenPrivileges < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , disableallprivileges : impl :: windows :: IntoParam < 'a , super::Foundation:: BOOL > , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn AdjustTokenPrivileges ( tokenhandle : super::Foundation:: HANDLE , disableallprivileges : super::Foundation:: BOOL , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } AdjustTokenPrivileges ( tokenhandle . into_param ( ) . abi ( ) , disableallprivileges . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( newstate ) , :: std :: mem :: transmute ( bufferlength ) , :: std :: mem :: transmute ( previousstate ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetTokenInformation < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn GetTokenInformation ( tokenhandle : super::Foundation:: HANDLE , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } GetTokenInformation ( tokenhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( tokeninformationclass ) , :: std :: mem :: transmute ( tokeninformation ) , :: std :: mem :: transmute ( tokeninformationlength ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID_AND_ATTRIBUTES { pub Luid : super::System::SystemServices:: LUID , pub Attributes : TOKEN_PRIVILEGES_ATTRIBUTES } impl LUID_AND_ATTRIBUTES { } impl :: std :: default :: Default for LUID_AND_ATTRIBUTES { fn default ( ) -> Self { Self { Luid : :: std :: default :: Default :: default ( ) , Attributes : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for LUID_AND_ATTRIBUTES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID_AND_ATTRIBUTES" ) . field ( "Luid" , & self . Luid ) . field ( "Attributes" , & self . Attributes ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID_AND_ATTRIBUTES { fn eq ( & self , other : & Self ) -> bool { self . Luid == other . Luid && self . Attributes == other . Attributes } } impl :: std :: cmp :: Eq for LUID_AND_ATTRIBUTES { } unsafe impl :: windows :: Abi for LUID_AND_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn LookupPrivilegeValueW < 'a , > ( lpsystemname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpluid : * mut super::System::SystemServices:: LUID , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn LookupPrivilegeValueW ( lpsystemname : super::Foundation:: PWSTR , lpname : super::Foundation:: PWSTR , lpluid : * mut super::System::SystemServices:: LUID ) -> super::Foundation:: BOOL ; } LookupPrivilegeValueW ( lpsystemname . into_param ( ) . abi ( ) , lpname . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpluid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_ACCESS_MASK ( pub u32 ) ; pub const TOKEN_DELETE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 65536u32 ) ; pub const TOKEN_READ_CONTROL : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 131072u32 ) ; pub const TOKEN_WRITE_DAC : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 262144u32 ) ; pub const TOKEN_WRITE_OWNER : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 524288u32 ) ; pub const TOKEN_ACCESS_SYSTEM_SECURITY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16777216u32 ) ; pub const TOKEN_ASSIGN_PRIMARY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 1u32 ) ; pub const TOKEN_DUPLICATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 2u32 ) ; pub const TOKEN_IMPERSONATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 4u32 ) ; pub const TOKEN_QUERY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 8u32 ) ; pub const TOKEN_QUERY_SOURCE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16u32 ) ; pub const TOKEN_ADJUST_PRIVILEGES : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 32u32 ) ; pub const TOKEN_ADJUST_GROUPS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 64u32 ) ; pub const TOKEN_ADJUST_DEFAULT : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 128u32 ) ; pub const TOKEN_ADJUST_SESSIONID : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 256u32 ) ; pub const TOKEN_ALL_ACCESS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 983295u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_ACCESS_MASK { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_ACCESS_MASK { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_ACCESS_MASK { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_ACCESS_MASK { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_ACCESS_MASK { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_ACCESS_MASK { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_ELEVATION { pub TokenIsElevated : u32 } impl TOKEN_ELEVATION { } impl :: std :: default :: Default for TOKEN_ELEVATION { fn default ( ) -> Self { Self { TokenIsElevated : 0 } } } impl :: std :: fmt :: Debug for TOKEN_ELEVATION { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_ELEVATION" ) . field ( "TokenIsElevated" , & self . TokenIsElevated ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_ELEVATION { fn eq ( & self , other : & Self ) -> bool { self . TokenIsElevated == other . TokenIsElevated } } impl :: std :: cmp :: Eq for TOKEN_ELEVATION { } unsafe impl :: windows :: Abi for TOKEN_ELEVATION { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_INFORMATION_CLASS ( pub i32 ) ; pub const TokenUser : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 1i32 ) ; pub const TokenGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 2i32 ) ; pub const TokenPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 3i32 ) ; pub const TokenOwner : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 4i32 ) ; pub const TokenPrimaryGroup : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 5i32 ) ; pub const TokenDefaultDacl : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 6i32 ) ; pub const TokenSource : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 7i32 ) ; pub const TokenType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 8i32 ) ; pub const TokenImpersonationLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 9i32 ) ; pub const TokenStatistics : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 10i32 ) ; pub const TokenRestrictedSids : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 11i32 ) ; pub const TokenSessionId : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 12i32 ) ; pub const TokenGroupsAndPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 13i32 ) ; pub const TokenSessionReference : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 14i32 ) ; pub const TokenSandBoxInert : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 15i32 ) ; pub const TokenAuditPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 16i32 ) ; pub const TokenOrigin : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 17i32 ) ; pub const TokenElevationType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 18i32 ) ; pub const TokenLinkedToken : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 19i32 ) ; pub const TokenElevation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 20i32 ) ; pub const TokenHasRestrictions : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 21i32 ) ; pub const TokenAccessInformation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 22i32 ) ; pub const TokenVirtualizationAllowed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 23i32 ) ; pub const TokenVirtualizationEnabled : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 24i32 ) ; pub const TokenIntegrityLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 25i32 ) ; pub const TokenUIAccess : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 26i32 ) ; pub const TokenMandatoryPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 27i32 ) ; pub const TokenLogonSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 28i32 ) ; pub const TokenIsAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 29i32 ) ; pub const TokenCapabilities : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 30i32 ) ; pub const TokenAppContainerSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 31i32 ) ; pub const TokenAppContainerNumber : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 32i32 ) ; pub const TokenUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 33i32 ) ; pub const TokenDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 34i32 ) ; pub const TokenRestrictedUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 35i32 ) ; pub const TokenRestrictedDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 36i32 ) ; pub const TokenDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 37i32 ) ; pub const TokenRestrictedDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 38i32 ) ; pub const TokenSecurityAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 39i32 ) ; pub const TokenIsRestricted : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 40i32 ) ; pub const TokenProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 41i32 ) ; pub const TokenPrivateNameSpace : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 42i32 ) ; pub const TokenSingletonAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 43i32 ) ; pub const TokenBnoIsolation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 44i32 ) ; pub const TokenChildProcessFlags : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 45i32 ) ; pub const TokenIsLessPrivilegedAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 46i32 ) ; pub const TokenIsSandboxed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 47i32 ) ; pub const TokenOriginatingProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 48i32 ) ; pub const MaxTokenInfoClass : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 49i32 ) ; impl :: std :: convert :: From < i32 > for TOKEN_INFORMATION_CLASS { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_INFORMATION_CLASS { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_PRIVILEGES { pub PrivilegeCount : u32 , pub Privileges : [ LUID_AND_ATTRIBUTES ;1 ] } impl TOKEN_PRIVILEGES { } impl :: std :: default :: Default for TOKEN_PRIVILEGES { fn default ( ) -> Self { Self { PrivilegeCount : 0 , Privileges : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for TOKEN_PRIVILEGES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_PRIVILEGES" ) . field ( "PrivilegeCount" , & self . PrivilegeCount ) . field ( "Privileges" , & self . Privileges ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_PRIVILEGES { fn eq ( & self , other : & Self ) -> bool { self . PrivilegeCount == other . PrivilegeCount && self . Privileges == other . Privileges } } impl :: std :: cmp :: Eq for TOKEN_PRIVILEGES { } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_PRIVILEGES_ATTRIBUTES ( pub u32 ) ; pub const SE_PRIVILEGE_ENABLED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2u32 ) ; pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 1u32 ) ; pub const SE_PRIVILEGE_REMOVED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 4u32 ) ; pub const SE_PRIVILEGE_USED_FOR_ACCESS : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2147483648u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_PRIVILEGES_ATTRIBUTES { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod FileSystem { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct WIN32_FIND_DATAW { pub dwFileAttributes : u32 , pub ftCreationTime : super::super::Foundation:: FILETIME , pub ftLastAccessTime : super::super::Foundation:: FILETIME , pub ftLastWriteTime : super::super::Foundation:: FILETIME , pub nFileSizeHigh : u32 , pub nFileSizeLow : u32 , pub dwReserved0 : u32 , pub dwReserved1 : u32 , pub cFileName : [ u16 ;260 ] , pub cAlternateFileName : [ u16 ;14 ] } impl WIN32_FIND_DATAW { } impl :: std :: default :: Default for WIN32_FIND_DATAW { fn default ( ) -> Self { Self { dwFileAttributes : 0 , ftCreationTime : :: std :: default :: Default :: default ( ) , ftLastAccessTime : :: std :: default :: Default :: default ( ) , ftLastWriteTime : :: std :: default :: Default :: default ( ) , nFileSizeHigh : 0 , nFileSizeLow : 0 , dwReserved0 : 0 , dwReserved1 : 0 , cFileName : [ 0 ;260 ] , cAlternateFileName : [ 0 ;14 ] } } } impl :: std :: fmt :: Debug for WIN32_FIND_DATAW { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "WIN32_FIND_DATAW" ) . field ( "dwFileAttributes" , & self . dwFileAttributes ) . field ( "ftCreationTime" , & self . ftCreationTime ) . field ( "ftLastAccessTime" , & self . ftLastAccessTime ) . field ( "ftLastWriteTime" , & self . ftLastWriteTime ) . field ( "nFileSizeHigh" , & self . nFileSizeHigh ) . field ( "nFileSizeLow" , & self . nFileSizeLow ) . field ( "dwReserved0" , & self . dwReserved0 ) . field ( "dwReserved1" , & self . dwReserved1 ) . field ( "cFileName" , & self . cFileName ) . field ( "cAlternateFileName" , & self . cAlternateFileName ) . finish ( ) } } impl :: std :: cmp :: PartialEq for WIN32_FIND_DATAW { fn eq ( & self , other : & Self ) -> bool { self . dwFileAttributes == other . dwFileAttributes && self . ftCreationTime == other . ftCreationTime && self . ftLastAccessTime == other . ftLastAccessTime && self . ftLastWriteTime == other . ftLastWriteTime && self . nFileSizeHigh == other . nFileSizeHigh && self . nFileSizeLow == other . nFileSizeLow && self . dwReserved0 == other . dwReserved0 && self . dwReserved1 == other . dwReserved1 && self . cFileName == other . cFileName && self . cAlternateFileName == other . cAlternateFileName } } impl :: std :: cmp :: Eq for WIN32_FIND_DATAW { } unsafe impl :: windows :: Abi for WIN32_FIND_DATAW { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod StructuredStorage { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABOOL { pub cElems : u32 , pub pElems : * mut i16 } impl CABOOL { } impl :: std :: default :: Default for CABOOL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABOOL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABOOL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABOOL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABOOL { } unsafe impl :: windows :: Abi for CABOOL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: BSTR } impl CABSTR { } impl :: std :: default :: Default for CABSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTR { } unsafe impl :: windows :: Abi for CABSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTRBLOB { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: BSTRBLOB } impl CABSTRBLOB { } impl :: std :: default :: Default for CABSTRBLOB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTRBLOB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTRBLOB { } unsafe impl :: windows :: Abi for CABSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAC { pub cElems : u32 , pub pElems : super::super::Foundation:: PSTR } impl CAC { } impl :: std :: default :: Default for CAC { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for CAC { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAC" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAC { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAC { } unsafe impl :: windows :: Abi for CAC { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLIPDATA { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CLIPDATA } impl CACLIPDATA { } impl :: std :: default :: Default for CACLIPDATA { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLIPDATA" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLIPDATA { } unsafe impl :: windows :: Abi for CACLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLSID { pub cElems : u32 , pub pElems : * mut :: windows :: Guid } impl CACLSID { } impl :: std :: default :: Default for CACLSID { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLSID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLSID" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLSID { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLSID { } unsafe impl :: windows :: Abi for CACLSID { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACY { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CY } impl CACY { } impl :: std :: default :: Default for CACY { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACY" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACY { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACY { } unsafe impl :: windows :: Abi for CACY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADATE { pub cElems : u32 , pub pElems : * mut f64 } impl CADATE { } impl :: std :: default :: Default for CADATE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADATE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADATE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADATE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADATE { } unsafe impl :: windows :: Abi for CADATE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADBL { pub cElems : u32 , pub pElems : * mut f64 } impl CADBL { } impl :: std :: default :: Default for CADBL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADBL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADBL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADBL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADBL { } unsafe impl :: windows :: Abi for CADBL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFILETIME { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: FILETIME } impl CAFILETIME { } impl :: std :: default :: Default for CAFILETIME { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFILETIME" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFILETIME { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFILETIME { } unsafe impl :: windows :: Abi for CAFILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFLT { pub cElems : u32 , pub pElems : * mut f32 } impl CAFLT { } impl :: std :: default :: Default for CAFLT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFLT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFLT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFLT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFLT { } unsafe impl :: windows :: Abi for CAFLT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAH { pub cElems : u32 , pub pElems : * mut i64 } impl CAH { } impl :: std :: default :: Default for CAH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAH { } unsafe impl :: windows :: Abi for CAH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAI { pub cElems : u32 , pub pElems : * mut i16 } impl CAI { } impl :: std :: default :: Default for CAI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAI { } unsafe impl :: windows :: Abi for CAI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAL { pub cElems : u32 , pub pElems : * mut i32 } impl CAL { } impl :: std :: default :: Default for CAL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAL { } unsafe impl :: windows :: Abi for CAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PSTR } impl CALPSTR { } impl :: std :: default :: Default for CALPSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPSTR { } unsafe impl :: windows :: Abi for CALPSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPWSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PWSTR } impl CALPWSTR { } impl :: std :: default :: Default for CALPWSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPWSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPWSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPWSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPWSTR { } unsafe impl :: windows :: Abi for CALPWSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAPROPVARIANT { pub cElems : u32 , pub pElems : * mut PROPVARIANT } impl CAPROPVARIANT { } impl :: std :: default :: Default for CAPROPVARIANT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAPROPVARIANT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAPROPVARIANT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAPROPVARIANT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAPROPVARIANT { } unsafe impl :: windows :: Abi for CAPROPVARIANT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CASCODE { pub cElems : u32 , pub pElems : * mut i32 } impl CASCODE { } impl :: std :: default :: Default for CASCODE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CASCODE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CASCODE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CASCODE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CASCODE { } unsafe impl :: windows :: Abi for CASCODE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUB { pub cElems : u32 , pub pElems : * mut u8 } impl CAUB { } impl :: std :: default :: Default for CAUB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUB { } unsafe impl :: windows :: Abi for CAUB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUH { pub cElems : u32 , pub pElems : * mut u64 } impl CAUH { } impl :: std :: default :: Default for CAUH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUH { } unsafe impl :: windows :: Abi for CAUH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUI { pub cElems : u32 , pub pElems : * mut u16 } impl CAUI { } impl :: std :: default :: Default for CAUI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUI { } unsafe impl :: windows :: Abi for CAUI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUL { pub cElems : u32 , pub pElems : * mut u32 } impl CAUL { } impl :: std :: default :: Default for CAUL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUL { } unsafe impl :: windows :: Abi for CAUL { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorage ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStorage { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 11 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStream ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStream { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 12 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: clone :: Clone for PROPVARIANT { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT { pub Anonymous : PROPVARIANT_0 } impl PROPVARIANT { } impl :: std :: cmp :: PartialEq for PROPVARIANT { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_abi { pub Anonymous : PROPVARIANT_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT { type Abi = PROPVARIANT_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0 { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } impl PROPVARIANT_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_abi { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } unsafe impl :: windows :: Abi for PROPVARIANT_0 { type Abi = PROPVARIANT_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT_0_0 { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0 } impl PROPVARIANT_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_0_0_abi { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0 { type Abi = PROPVARIANT_0_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0_0_0 { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } impl PROPVARIANT_0_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_0_0_abi { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0_0 { type Abi = PROPVARIANT_0_0_0_abi ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone ) ] # [ repr ( C ) ] pub struct VERSIONEDSTREAM { pub guidVersion : :: windows :: Guid , pub pStream : :: std :: option :: Option < IStream > } impl VERSIONEDSTREAM { } impl :: std :: default :: Default for VERSIONEDSTREAM { fn default ( ) -> Self { Self { guidVersion : :: std :: default :: Default :: default ( ) , pStream : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for VERSIONEDSTREAM { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "VERSIONEDSTREAM" ) . field ( "guidVersion" , & self . guidVersion ) . field ( "pStream" , & self . pStream ) . finish ( ) } } impl :: std :: cmp :: PartialEq for VERSIONEDSTREAM { fn eq ( & self , other : & Self ) -> bool { self . guidVersion == other . guidVersion && self . pStream == other . pStream } } impl :: std :: cmp :: Eq for VERSIONEDSTREAM { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct VERSIONEDSTREAM_abi { pub guidVersion : :: windows :: Guid , pub pStream : :: windows :: RawPtr } unsafe impl :: windows :: Abi for VERSIONEDSTREAM { type Abi = VERSIONEDSTREAM_abi ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Com { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BLOB { pub cbSize : u32 , pub pBlobData : * mut u8 } impl BLOB { } impl :: std :: default :: Default for BLOB { fn default ( ) -> Self { Self { cbSize : 0 , pBlobData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pBlobData" , & self . pBlobData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pBlobData == other . pBlobData } } impl :: std :: cmp :: Eq for BLOB { } unsafe impl :: windows :: Abi for BLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CLSCTX ( pub u32 ) ; pub const CLSCTX_INPROC_SERVER : CLSCTX = CLSCTX ( 1u32 ) ; pub const CLSCTX_INPROC_HANDLER : CLSCTX = CLSCTX ( 2u32 ) ; pub const CLSCTX_LOCAL_SERVER : CLSCTX = CLSCTX ( 4u32 ) ; pub const CLSCTX_INPROC_SERVER16 : CLSCTX = CLSCTX ( 8u32 ) ; pub const CLSCTX_REMOTE_SERVER : CLSCTX = CLSCTX ( 16u32 ) ; pub const CLSCTX_INPROC_HANDLER16 : CLSCTX = CLSCTX ( 32u32 ) ; pub const CLSCTX_RESERVED1 : CLSCTX = CLSCTX ( 64u32 ) ; pub const CLSCTX_RESERVED2 : CLSCTX = CLSCTX ( 128u32 ) ; pub const CLSCTX_RESERVED3 : CLSCTX = CLSCTX ( 256u32 ) ; pub const CLSCTX_RESERVED4 : CLSCTX = CLSCTX ( 512u32 ) ; pub const CLSCTX_NO_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 1024u32 ) ; pub const CLSCTX_RESERVED5 : CLSCTX = CLSCTX ( 2048u32 ) ; pub const CLSCTX_NO_CUSTOM_MARSHAL : CLSCTX = CLSCTX ( 4096u32 ) ; pub const CLSCTX_ENABLE_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 8192u32 ) ; pub const CLSCTX_NO_FAILURE_LOG : CLSCTX = CLSCTX ( 16384u32 ) ; pub const CLSCTX_DISABLE_AAA : CLSCTX = CLSCTX ( 32768u32 ) ; pub const CLSCTX_ENABLE_AAA : CLSCTX = CLSCTX ( 65536u32 ) ; pub const CLSCTX_FROM_DEFAULT_CONTEXT : CLSCTX = CLSCTX ( 131072u32 ) ; pub const CLSCTX_ACTIVATE_X86_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_32_BIT_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_64_BIT_SERVER : CLSCTX = CLSCTX ( 524288u32 ) ; pub const CLSCTX_ENABLE_CLOAKING : CLSCTX = CLSCTX ( 1048576u32 ) ; pub const CLSCTX_APPCONTAINER : CLSCTX = CLSCTX ( 4194304u32 ) ; pub const CLSCTX_ACTIVATE_AAA_AS_IU : CLSCTX = CLSCTX ( 8388608u32 ) ; pub const CLSCTX_RESERVED6 : CLSCTX = CLSCTX ( 16777216u32 ) ; pub const CLSCTX_ACTIVATE_ARM32_SERVER : CLSCTX = CLSCTX ( 33554432u32 ) ; pub const CLSCTX_PS_DLL : CLSCTX = CLSCTX ( 2147483648u32 ) ; pub const CLSCTX_ALL : CLSCTX = CLSCTX ( 23u32 ) ; pub const CLSCTX_SERVER : CLSCTX = CLSCTX ( 21u32 ) ; impl :: std :: convert :: From < u32 > for CLSCTX { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CLSCTX { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CLSCTX { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CLSCTX { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CLSCTX { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CLSCTX { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CoCreateInstance < 'a , T : :: windows :: Interface > ( rclsid : * const :: windows :: Guid , punkouter : impl :: windows :: IntoParam < 'a , :: windows :: IUnknown > , dwclscontext : CLSCTX , ) -> :: windows :: Result < T > { # [ cfg ( windows ) ] { # [ link ( name ="OLE32" ) ] extern "system" { fn CoCreateInstance ( rclsid : * const :: windows :: Guid , punkouter : :: windows :: RawPtr , dwclscontext : CLSCTX , riid : * const :: windows :: Guid , ppv : * mut * mut :: std :: ffi :: c_void ) -> :: windows :: HRESULT ; } let mut result__ = :: std :: option :: Option :: None ; CoCreateInstance ( :: std :: mem :: transmute ( rclsid ) , punkouter . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwclscontext ) , & < T as :: windows :: Interface > :: IID , :: windows :: Abi :: set_abi ( & mut result__ ) ) . and_some ( result__ ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersist ( :: windows :: IUnknown ) ; impl IPersist { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } } unsafe impl :: windows :: Interface for IPersist { type Vtable = IPersist_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 268 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersist > for :: windows :: IUnknown { fn from ( value : IPersist ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersist > for :: windows :: IUnknown { fn from ( value : & IPersist ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersist_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , ) ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersistFile ( :: windows :: IUnknown ) ; impl IPersistFile { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } pub unsafe fn IsDirty < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } pub unsafe fn Load < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwmode : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwmode ) , ) . ok ( ) } pub unsafe fn Save < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , fremember : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , fremember . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn SaveCompleted < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetCurFile < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: PWSTR > { let mut result__ : < super::super::Foundation:: PWSTR as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < super::super::Foundation:: PWSTR > ( result__ ) } } unsafe impl :: windows :: Interface for IPersistFile { type Vtable = IPersistFile_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 267 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersistFile > for :: windows :: IUnknown { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for :: windows :: IUnknown { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl :: std :: convert :: From < IPersistFile > for IPersist { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for IPersist { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersistFile_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , dwmode : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , fremember : super::super::Foundation:: BOOL , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppszfilename : * mut super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct FACILITY_CODE ( pub u32 ) ; pub const FACILITY_NULL : FACILITY_CODE = FACILITY_CODE ( 0u32 ) ; pub const FACILITY_RPC : FACILITY_CODE = FACILITY_CODE ( 1u32 ) ; pub const FACILITY_DISPATCH : FACILITY_CODE = FACILITY_CODE ( 2u32 ) ; pub const FACILITY_STORAGE : FACILITY_CODE = FACILITY_CODE ( 3u32 ) ; pub const FACILITY_ITF : FACILITY_CODE = FACILITY_CODE ( 4u32 ) ; pub const FACILITY_WIN32 : FACILITY_CODE = FACILITY_CODE ( 7u32 ) ; pub const FACILITY_WINDOWS : FACILITY_CODE = FACILITY_CODE ( 8u32 ) ; pub const FACILITY_SSPI : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_SECURITY : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_CONTROL : FACILITY_CODE = FACILITY_CODE ( 10u32 ) ; pub const FACILITY_CERT : FACILITY_CODE = FACILITY_CODE ( 11u32 ) ; pub const FACILITY_INTERNET : FACILITY_CODE = FACILITY_CODE ( 12u32 ) ; pub const FACILITY_MEDIASERVER : FACILITY_CODE = FACILITY_CODE ( 13u32 ) ; pub const FACILITY_MSMQ : FACILITY_CODE = FACILITY_CODE ( 14u32 ) ; pub const FACILITY_SETUPAPI : FACILITY_CODE = FACILITY_CODE ( 15u32 ) ; pub const FACILITY_SCARD : FACILITY_CODE = FACILITY_CODE ( 16u32 ) ; pub const FACILITY_COMPLUS : FACILITY_CODE = FACILITY_CODE ( 17u32 ) ; pub const FACILITY_AAF : FACILITY_CODE = FACILITY_CODE ( 18u32 ) ; pub const FACILITY_URT : FACILITY_CODE = FACILITY_CODE ( 19u32 ) ; pub const FACILITY_ACS : FACILITY_CODE = FACILITY_CODE ( 20u32 ) ; pub const FACILITY_DPLAY : FACILITY_CODE = FACILITY_CODE ( 21u32 ) ; pub const FACILITY_UMI : FACILITY_CODE = FACILITY_CODE ( 22u32 ) ; pub const FACILITY_SXS : FACILITY_CODE = FACILITY_CODE ( 23u32 ) ; pub const FACILITY_WINDOWS_CE : FACILITY_CODE = FACILITY_CODE ( 24u32 ) ; pub const FACILITY_HTTP : FACILITY_CODE = FACILITY_CODE ( 25u32 ) ; pub const FACILITY_USERMODE_COMMONLOG : FACILITY_CODE = FACILITY_CODE ( 26u32 ) ; pub const FACILITY_WER : FACILITY_CODE = FACILITY_CODE ( 27u32 ) ; pub const FACILITY_USERMODE_FILTER_MANAGER : FACILITY_CODE = FACILITY_CODE ( 31u32 ) ; pub const FACILITY_BACKGROUNDCOPY : FACILITY_CODE = FACILITY_CODE ( 32u32 ) ; pub const FACILITY_CONFIGURATION : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_WIA : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_STATE_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 34u32 ) ; pub const FACILITY_METADIRECTORY : FACILITY_CODE = FACILITY_CODE ( 35u32 ) ; pub const FACILITY_WINDOWSUPDATE : FACILITY_CODE = FACILITY_CODE ( 36u32 ) ; pub const FACILITY_DIRECTORYSERVICE : FACILITY_CODE = FACILITY_CODE ( 37u32 ) ; pub const FACILITY_GRAPHICS : FACILITY_CODE = FACILITY_CODE ( 38u32 ) ; pub const FACILITY_SHELL : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_NAP : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_TPM_SERVICES : FACILITY_CODE = FACILITY_CODE ( 40u32 ) ; pub const FACILITY_TPM_SOFTWARE : FACILITY_CODE = FACILITY_CODE ( 41u32 ) ; pub const FACILITY_UI : FACILITY_CODE = FACILITY_CODE ( 42u32 ) ; pub const FACILITY_XAML : FACILITY_CODE = FACILITY_CODE ( 43u32 ) ; pub const FACILITY_ACTION_QUEUE : FACILITY_CODE = FACILITY_CODE ( 44u32 ) ; pub const FACILITY_PLA : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_WINDOWS_SETUP : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_FVE : FACILITY_CODE = FACILITY_CODE ( 49u32 ) ; pub const FACILITY_FWP : FACILITY_CODE = FACILITY_CODE ( 50u32 ) ; pub const FACILITY_WINRM : FACILITY_CODE = FACILITY_CODE ( 51u32 ) ; pub const FACILITY_NDIS : FACILITY_CODE = FACILITY_CODE ( 52u32 ) ; pub const FACILITY_USERMODE_HYPERVISOR : FACILITY_CODE = FACILITY_CODE ( 53u32 ) ; pub const FACILITY_CMI : FACILITY_CODE = FACILITY_CODE ( 54u32 ) ; pub const FACILITY_USERMODE_VIRTUALIZATION : FACILITY_CODE = FACILITY_CODE ( 55u32 ) ; pub const FACILITY_USERMODE_VOLMGR : FACILITY_CODE = FACILITY_CODE ( 56u32 ) ; pub const FACILITY_BCD : FACILITY_CODE = FACILITY_CODE ( 57u32 ) ; pub const FACILITY_USERMODE_VHD : FACILITY_CODE = FACILITY_CODE ( 58u32 ) ; pub const FACILITY_USERMODE_HNS : FACILITY_CODE = FACILITY_CODE ( 59u32 ) ; pub const FACILITY_SDIAG : FACILITY_CODE = FACILITY_CODE ( 60u32 ) ; pub const FACILITY_WEBSERVICES : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WINPE : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WPN : FACILITY_CODE = FACILITY_CODE ( 62u32 ) ; pub const FACILITY_WINDOWS_STORE : FACILITY_CODE = FACILITY_CODE ( 63u32 ) ; pub const FACILITY_INPUT : FACILITY_CODE = FACILITY_CODE ( 64u32 ) ; pub const FACILITY_QUIC : FACILITY_CODE = FACILITY_CODE ( 65u32 ) ; pub const FACILITY_EAP : FACILITY_CODE = FACILITY_CODE ( 66u32 ) ; pub const FACILITY_WINDOWS_DEFENDER : FACILITY_CODE = FACILITY_CODE ( 80u32 ) ; pub const FACILITY_OPC : FACILITY_CODE = FACILITY_CODE ( 81u32 ) ; pub const FACILITY_XPS : FACILITY_CODE = FACILITY_CODE ( 82u32 ) ; pub const FACILITY_MBN : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_POWERSHELL : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_RAS : FACILITY_CODE = FACILITY_CODE ( 83u32 ) ; pub const FACILITY_P2P_INT : FACILITY_CODE = FACILITY_CODE ( 98u32 ) ; pub const FACILITY_P2P : FACILITY_CODE = FACILITY_CODE ( 99u32 ) ; pub const FACILITY_DAF : FACILITY_CODE = FACILITY_CODE ( 100u32 ) ; pub const FACILITY_BLUETOOTH_ATT : FACILITY_CODE = FACILITY_CODE ( 101u32 ) ; pub const FACILITY_AUDIO : FACILITY_CODE = FACILITY_CODE ( 102u32 ) ; pub const FACILITY_STATEREPOSITORY : FACILITY_CODE = FACILITY_CODE ( 103u32 ) ; pub const FACILITY_VISUALCPP : FACILITY_CODE = FACILITY_CODE ( 109u32 ) ; pub const FACILITY_SCRIPT : FACILITY_CODE = FACILITY_CODE ( 112u32 ) ; pub const FACILITY_PARSE : FACILITY_CODE = FACILITY_CODE ( 113u32 ) ; pub const FACILITY_BLB : FACILITY_CODE = FACILITY_CODE ( 120u32 ) ; pub const FACILITY_BLB_CLI : FACILITY_CODE = FACILITY_CODE ( 121u32 ) ; pub const FACILITY_WSBAPP : FACILITY_CODE = FACILITY_CODE ( 122u32 ) ; pub const FACILITY_BLBUI : FACILITY_CODE = FACILITY_CODE ( 128u32 ) ; pub const FACILITY_USN : FACILITY_CODE = FACILITY_CODE ( 129u32 ) ; pub const FACILITY_USERMODE_VOLSNAP : FACILITY_CODE = FACILITY_CODE ( 130u32 ) ; pub const FACILITY_TIERING : FACILITY_CODE = FACILITY_CODE ( 131u32 ) ; pub const FACILITY_WSB_ONLINE : FACILITY_CODE = FACILITY_CODE ( 133u32 ) ; pub const FACILITY_ONLINE_ID : FACILITY_CODE = FACILITY_CODE ( 134u32 ) ; pub const FACILITY_DEVICE_UPDATE_AGENT : FACILITY_CODE = FACILITY_CODE ( 135u32 ) ; pub const FACILITY_DRVSERVICING : FACILITY_CODE = FACILITY_CODE ( 136u32 ) ; pub const FACILITY_DLS : FACILITY_CODE = FACILITY_CODE ( 153u32 ) ; pub const FACILITY_DELIVERY_OPTIMIZATION : FACILITY_CODE = FACILITY_CODE ( 208u32 ) ; pub const FACILITY_USERMODE_SPACES : FACILITY_CODE = FACILITY_CODE ( 231u32 ) ; pub const FACILITY_USER_MODE_SECURITY_CORE : FACILITY_CODE = FACILITY_CODE ( 232u32 ) ; pub const FACILITY_USERMODE_LICENSING : FACILITY_CODE = FACILITY_CODE ( 234u32 ) ; pub const FACILITY_SOS : FACILITY_CODE = FACILITY_CODE ( 160u32 ) ; pub const FACILITY_DEBUGGERS : FACILITY_CODE = FACILITY_CODE ( 176u32 ) ; pub const FACILITY_SPP : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_RESTORE : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DMSERVER : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_SERVER : FACILITY_CODE = FACILITY_CODE ( 257u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING : FACILITY_CODE = FACILITY_CODE ( 258u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 259u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_UTIL : FACILITY_CODE = FACILITY_CODE ( 260u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC : FACILITY_CODE = FACILITY_CODE ( 261u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_PXE : FACILITY_CODE = FACILITY_CODE ( 263u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TFTP : FACILITY_CODE = FACILITY_CODE ( 264u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 272u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING : FACILITY_CODE = FACILITY_CODE ( 278u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER : FACILITY_CODE = FACILITY_CODE ( 289u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT : FACILITY_CODE = FACILITY_CODE ( 290u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER : FACILITY_CODE = FACILITY_CODE ( 293u32 ) ; pub const FACILITY_LINGUISTIC_SERVICES : FACILITY_CODE = FACILITY_CODE ( 305u32 ) ; pub const FACILITY_AUDIOSTREAMING : FACILITY_CODE = FACILITY_CODE ( 1094u32 ) ; pub const FACILITY_TTD : FACILITY_CODE = FACILITY_CODE ( 1490u32 ) ; pub const FACILITY_ACCELERATOR : FACILITY_CODE = FACILITY_CODE ( 1536u32 ) ; pub const FACILITY_WMAAECMA : FACILITY_CODE = FACILITY_CODE ( 1996u32 ) ; pub const FACILITY_DIRECTMUSIC : FACILITY_CODE = FACILITY_CODE ( 2168u32 ) ; pub const FACILITY_DIRECT3D10 : FACILITY_CODE = FACILITY_CODE ( 2169u32 ) ; pub const FACILITY_DXGI : FACILITY_CODE = FACILITY_CODE ( 2170u32 ) ; pub const FACILITY_DXGI_DDI : FACILITY_CODE = FACILITY_CODE ( 2171u32 ) ; pub const FACILITY_DIRECT3D11 : FACILITY_CODE = FACILITY_CODE ( 2172u32 ) ; pub const FACILITY_DIRECT3D11_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2173u32 ) ; pub const FACILITY_DIRECT3D12 : FACILITY_CODE = FACILITY_CODE ( 2174u32 ) ; pub const FACILITY_DIRECT3D12_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2175u32 ) ; pub const FACILITY_DXCORE : FACILITY_CODE = FACILITY_CODE ( 2176u32 ) ; pub const FACILITY_LEAP : FACILITY_CODE = FACILITY_CODE ( 2184u32 ) ; pub const FACILITY_AUDCLNT : FACILITY_CODE = FACILITY_CODE ( 2185u32 ) ; pub const FACILITY_WINCODEC_DWRITE_DWM : FACILITY_CODE = FACILITY_CODE ( 2200u32 ) ; pub const FACILITY_WINML : FACILITY_CODE = FACILITY_CODE ( 2192u32 ) ; pub const FACILITY_DIRECT2D : FACILITY_CODE = FACILITY_CODE ( 2201u32 ) ; pub const FACILITY_DEFRAG : FACILITY_CODE = FACILITY_CODE ( 2304u32 ) ; pub const FACILITY_USERMODE_SDBUS : FACILITY_CODE = FACILITY_CODE ( 2305u32 ) ; pub const FACILITY_JSCRIPT : FACILITY_CODE = FACILITY_CODE ( 2306u32 ) ; pub const FACILITY_PIDGENX : FACILITY_CODE = FACILITY_CODE ( 2561u32 ) ; pub const FACILITY_EAS : FACILITY_CODE = FACILITY_CODE ( 85u32 ) ; pub const FACILITY_WEB : FACILITY_CODE = FACILITY_CODE ( 885u32 ) ; pub const FACILITY_WEB_SOCKET : FACILITY_CODE = FACILITY_CODE ( 886u32 ) ; pub const FACILITY_MOBILE : FACILITY_CODE = FACILITY_CODE ( 1793u32 ) ; pub const FACILITY_SQLITE : FACILITY_CODE = FACILITY_CODE ( 1967u32 ) ; pub const FACILITY_UTC : FACILITY_CODE = FACILITY_CODE ( 1989u32 ) ; pub const FACILITY_WEP : FACILITY_CODE = FACILITY_CODE ( 2049u32 ) ; pub const FACILITY_SYNCENGINE : FACILITY_CODE = FACILITY_CODE ( 2050u32 ) ; pub const FACILITY_XBOX : FACILITY_CODE = FACILITY_CODE ( 2339u32 ) ; pub const FACILITY_GAME : FACILITY_CODE = FACILITY_CODE ( 2340u32 ) ; pub const FACILITY_PIX : FACILITY_CODE = FACILITY_CODE ( 2748u32 ) ; pub const FACILITY_NT_BIT : FACILITY_CODE = FACILITY_CODE ( 268435456u32 ) ; impl :: std :: convert :: From < u32 > for FACILITY_CODE { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for FACILITY_CODE { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for FACILITY_CODE { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for FACILITY_CODE { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for FACILITY_CODE { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for FACILITY_CODE { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn GetLastError < > ( ) -> WIN32_ERROR { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetLastError ( ) -> WIN32_ERROR ; } GetLastError ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct WIN32_ERROR ( pub u32 ) ; impl :: std :: convert :: From < u32 > for WIN32_ERROR { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for WIN32_ERROR { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for WIN32_ERROR { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for WIN32_ERROR { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for WIN32_ERROR { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for WIN32_ERROR { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ToolHelp { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CREATE_TOOLHELP_SNAPSHOT_FLAGS ( pub u32 ) ; pub const TH32CS_INHERIT : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2147483648u32 ) ; pub const TH32CS_SNAPALL : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 15u32 ) ; pub const TH32CS_SNAPHEAPLIST : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 1u32 ) ; pub const TH32CS_SNAPMODULE : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 8u32 ) ; pub const TH32CS_SNAPMODULE32 : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 16u32 ) ; pub const TH32CS_SNAPPROCESS : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2u32 ) ; pub const TH32CS_SNAPTHREAD : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 4u32 ) ; impl :: std :: convert :: From < u32 > for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CreateToolhelp32Snapshot < > ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 , ) -> super::super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CreateToolhelp32Snapshot ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 ) -> super::super::super::Foundation:: HANDLE ; } CreateToolhelp32Snapshot ( :: std :: mem :: transmute ( dwflags ) , :: std :: mem :: transmute ( th32processid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESSENTRY32W { pub dwSize : u32 , pub cntUsage : u32 , pub th32ProcessID : u32 , pub th32DefaultHeapID : usize , pub th32ModuleID : u32 , pub cntThreads : u32 , pub th32ParentProcessID : u32 , pub pcPriClassBase : i32 , pub dwFlags : u32 , pub szExeFile : [ u16 ;260 ] } impl PROCESSENTRY32W { } impl :: std :: default :: Default for PROCESSENTRY32W { fn default ( ) -> Self { Self { dwSize : 0 , cntUsage : 0 , th32ProcessID : 0 , th32DefaultHeapID : 0 , th32ModuleID : 0 , cntThreads : 0 , th32ParentProcessID : 0 , pcPriClassBase : 0 , dwFlags : 0 , szExeFile : [ 0 ;260 ] } } } impl :: std :: fmt :: Debug for PROCESSENTRY32W { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESSENTRY32W" ) . field ( "dwSize" , & self . dwSize ) . field ( "cntUsage" , & self . cntUsage ) . field ( "th32ProcessID" , & self . th32ProcessID ) . field ( "th32DefaultHeapID" , & self . th32DefaultHeapID ) . field ( "th32ModuleID" , & self . th32ModuleID ) . field ( "cntThreads" , & self . cntThreads ) . field ( "th32ParentProcessID" , & self . th32ParentProcessID ) . field ( "pcPriClassBase" , & self . pcPriClassBase ) . field ( "dwFlags" , & self . dwFlags ) . field ( "szExeFile" , & self . szExeFile ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESSENTRY32W { fn eq ( & self , other : & Self ) -> bool { self . dwSize == other . dwSize && self . cntUsage == other . cntUsage && self . th32ProcessID == other . th32ProcessID && self . th32DefaultHeapID == other . th32DefaultHeapID && self . th32ModuleID == other . th32ModuleID && self . cntThreads == other . cntThreads && self . th32ParentProcessID == other . th32ParentProcessID && self . pcPriClassBase == other . pcPriClassBase && self . dwFlags == other . dwFlags && self . szExeFile == other . szExeFile } } impl :: std :: cmp :: Eq for PROCESSENTRY32W { } unsafe impl :: windows :: Abi for PROCESSENTRY32W { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn Process32FirstW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32FirstW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32FirstW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn Process32NextW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32NextW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32NextW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn GetModuleFileNameW < 'a , > ( hmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleFileNameW ( hmodule : super::super::Foundation:: HINSTANCE , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 ) -> u32 ; } GetModuleFileNameW ( hmodule . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpfilename ) , :: std :: mem :: transmute ( nsize ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod OleAutomation { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IDispatch ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IDispatch { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 132096 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAY { pub cDims : u16 , pub fFeatures : u16 , pub cbElements : u32 , pub cLocks : u32 , pub pvData : * mut :: std :: ffi :: c_void , pub rgsabound : [ SAFEARRAYBOUND ;1 ] } impl SAFEARRAY { } impl :: std :: default :: Default for SAFEARRAY { fn default ( ) -> Self { Self { cDims : 0 , fFeatures : 0 , cbElements : 0 , cLocks : 0 , pvData : :: std :: ptr :: null_mut ( ) , rgsabound : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for SAFEARRAY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAY" ) . field ( "cDims" , & self . cDims ) . field ( "fFeatures" , & self . fFeatures ) . field ( "cbElements" , & self . cbElements ) . field ( "cLocks" , & self . cLocks ) . field ( "pvData" , & self . pvData ) . field ( "rgsabound" , & self . rgsabound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAY { fn eq ( & self , other : & Self ) -> bool { self . cDims == other . cDims && self . fFeatures == other . fFeatures && self . cbElements == other . cbElements && self . cLocks == other . cLocks && self . pvData == other . pvData && self . rgsabound == other . rgsabound } } impl :: std :: cmp :: Eq for SAFEARRAY { } unsafe impl :: windows :: Abi for SAFEARRAY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAYBOUND { pub cElements : u32 , pub lLbound : i32 } impl SAFEARRAYBOUND { } impl :: std :: default :: Default for SAFEARRAYBOUND { fn default ( ) -> Self { Self { cElements : 0 , lLbound : 0 } } } impl :: std :: fmt :: Debug for SAFEARRAYBOUND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAYBOUND" ) . field ( "cElements" , & self . cElements ) . field ( "lLbound" , & self . lLbound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAYBOUND { fn eq ( & self , other : & Self ) -> bool { self . cElements == other . cElements && self . lLbound == other . lLbound } } impl :: std :: cmp :: Eq for SAFEARRAYBOUND { } unsafe impl :: windows :: Abi for SAFEARRAYBOUND { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VARENUM ( pub i32 ) ; pub const VT_EMPTY : VARENUM = VARENUM ( 0i32 ) ; pub const VT_NULL : VARENUM = VARENUM ( 1i32 ) ; pub const VT_I2 : VARENUM = VARENUM ( 2i32 ) ; pub const VT_I4 : VARENUM = VARENUM ( 3i32 ) ; pub const VT_R4 : VARENUM = VARENUM ( 4i32 ) ; pub const VT_R8 : VARENUM = VARENUM ( 5i32 ) ; pub const VT_CY : VARENUM = VARENUM ( 6i32 ) ; pub const VT_DATE : VARENUM = VARENUM ( 7i32 ) ; pub const VT_BSTR : VARENUM = VARENUM ( 8i32 ) ; pub const VT_DISPATCH : VARENUM = VARENUM ( 9i32 ) ; pub const VT_ERROR : VARENUM = VARENUM ( 10i32 ) ; pub const VT_BOOL : VARENUM = VARENUM ( 11i32 ) ; pub const VT_VARIANT : VARENUM = VARENUM ( 12i32 ) ; pub const VT_UNKNOWN : VARENUM = VARENUM ( 13i32 ) ; pub const VT_DECIMAL : VARENUM = VARENUM ( 14i32 ) ; pub const VT_I1 : VARENUM = VARENUM ( 16i32 ) ; pub const VT_UI1 : VARENUM = VARENUM ( 17i32 ) ; pub const VT_UI2 : VARENUM = VARENUM ( 18i32 ) ; pub const VT_UI4 : VARENUM = VARENUM ( 19i32 ) ; pub const VT_I8 : VARENUM = VARENUM ( 20i32 ) ; pub const VT_UI8 : VARENUM = VARENUM ( 21i32 ) ; pub const VT_INT : VARENUM = VARENUM ( 22i32 ) ; pub const VT_UINT : VARENUM = VARENUM ( 23i32 ) ; pub const VT_VOID : VARENUM = VARENUM ( 24i32 ) ; pub const VT_HRESULT : VARENUM = VARENUM ( 25i32 ) ; pub const VT_PTR : VARENUM = VARENUM ( 26i32 ) ; pub const VT_SAFEARRAY : VARENUM = VARENUM ( 27i32 ) ; pub const VT_CARRAY : VARENUM = VARENUM ( 28i32 ) ; pub const VT_USERDEFINED : VARENUM = VARENUM ( 29i32 ) ; pub const VT_LPSTR : VARENUM = VARENUM ( 30i32 ) ; pub const VT_LPWSTR : VARENUM = VARENUM ( 31i32 ) ; pub const VT_RECORD : VARENUM = VARENUM ( 36i32 ) ; pub const VT_INT_PTR : VARENUM = VARENUM ( 37i32 ) ; pub const VT_UINT_PTR : VARENUM = VARENUM ( 38i32 ) ; pub const VT_FILETIME : VARENUM = VARENUM ( 64i32 ) ; pub const VT_BLOB : VARENUM = VARENUM ( 65i32 ) ; pub const VT_STREAM : VARENUM = VARENUM ( 66i32 ) ; pub const VT_STORAGE : VARENUM = VARENUM ( 67i32 ) ; pub const VT_STREAMED_OBJECT : VARENUM = VARENUM ( 68i32 ) ; pub const VT_STORED_OBJECT : VARENUM = VARENUM ( 69i32 ) ; pub const VT_BLOB_OBJECT : VARENUM = VARENUM ( 70i32 ) ; pub const VT_CF : VARENUM = VARENUM ( 71i32 ) ; pub const VT_CLSID : VARENUM = VARENUM ( 72i32 ) ; pub const VT_VERSIONED_STREAM : VARENUM = VARENUM ( 73i32 ) ; pub const VT_BSTR_BLOB : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_VECTOR : VARENUM = VARENUM ( 4096i32 ) ; pub const VT_ARRAY : VARENUM = VARENUM ( 8192i32 ) ; pub const VT_BYREF : VARENUM = VARENUM ( 16384i32 ) ; pub const VT_RESERVED : VARENUM = VARENUM ( 32768i32 ) ; pub const VT_ILLEGAL : VARENUM = VARENUM ( 65535i32 ) ; pub const VT_ILLEGALMASKED : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_TYPEMASK : VARENUM = VARENUM ( 4095i32 ) ; impl :: std :: convert :: From < i32 > for VARENUM { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VARENUM { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ProcessStatus { pub unsafe fn K32GetProcessMemoryInfo < 'a , > ( process : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn K32GetProcessMemoryInfo ( process : super::super::Foundation:: HANDLE , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 ) -> super::super::Foundation:: BOOL ; } K32GetProcessMemoryInfo ( process . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ppsmemcounters ) , :: std :: mem :: transmute ( cb ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESS_MEMORY_COUNTERS { pub cb : u32 , pub PageFaultCount : u32 , pub PeakWorkingSetSize : usize , pub WorkingSetSize : usize , pub QuotaPeakPagedPoolUsage : usize , pub QuotaPagedPoolUsage : usize , pub QuotaPeakNonPagedPoolUsage : usize , pub QuotaNonPagedPoolUsage : usize , pub PagefileUsage : usize , pub PeakPagefileUsage : usize } impl PROCESS_MEMORY_COUNTERS { } impl :: std :: default :: Default for PROCESS_MEMORY_COUNTERS { fn default ( ) -> Self { Self { cb : 0 , PageFaultCount : 0 , PeakWorkingSetSize : 0 , WorkingSetSize : 0 , QuotaPeakPagedPoolUsage : 0 , QuotaPagedPoolUsage : 0 , QuotaPeakNonPagedPoolUsage : 0 , QuotaNonPagedPoolUsage : 0 , PagefileUsage : 0 , PeakPagefileUsage : 0 } } } impl :: std :: fmt :: Debug for PROCESS_MEMORY_COUNTERS { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESS_MEMORY_COUNTERS" ) . field ( "cb" , & self . cb ) . field ( "PageFaultCount" , & self . PageFaultCount ) . field ( "PeakWorkingSetSize" , & self . PeakWorkingSetSize ) . field ( "WorkingSetSize" , & self . WorkingSetSize ) . field ( "QuotaPeakPagedPoolUsage" , & self . QuotaPeakPagedPoolUsage ) . field ( "QuotaPagedPoolUsage" , & self . QuotaPagedPoolUsage ) . field ( "QuotaPeakNonPagedPoolUsage" , & self . QuotaPeakNonPagedPoolUsage ) . field ( "QuotaNonPagedPoolUsage" , & self . QuotaNonPagedPoolUsage ) . field ( "PagefileUsage" , & self . PagefileUsage ) . field ( "PeakPagefileUsage" , & self . PeakPagefileUsage ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESS_MEMORY_COUNTERS { fn eq ( & self , other : & Self ) -> bool { self . cb == other . cb && self . PageFaultCount == other . PageFaultCount && self . PeakWorkingSetSize == other . PeakWorkingSetSize && self . WorkingSetSize == other . WorkingSetSize && self . QuotaPeakPagedPoolUsage == other . QuotaPeakPagedPoolUsage && self . QuotaPagedPoolUsage == other . QuotaPagedPoolUsage && self . QuotaPeakNonPagedPoolUsage == other . QuotaPeakNonPagedPoolUsage && self . QuotaNonPagedPoolUsage == other . QuotaNonPagedPoolUsage && self . PagefileUsage == other . PagefileUsage && self . PeakPagefileUsage == other . PeakPagefileUsage } } impl :: std :: cmp :: Eq for PROCESS_MEMORY_COUNTERS { } unsafe impl :: windows :: Abi for PROCESS_MEMORY_COUNTERS { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod PropertiesSystem { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPropertyStore ( :: windows :: IUnknown ) ; impl IPropertyStore { pub unsafe fn GetCount < > ( & self , ) -> :: windows :: Result < u32 > { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } pub unsafe fn GetAt < > ( & self , iprop : u32 , ) -> :: windows :: Result < PROPERTYKEY > { let mut result__ : < PROPERTYKEY as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( iprop ) , & mut result__ ) . from_abi :: < PROPERTYKEY > ( result__ ) } pub unsafe fn GetValue < > ( & self , key : * const PROPERTYKEY , ) -> :: windows :: Result < super::super::Storage::StructuredStorage:: PROPVARIANT > { let mut result__ : < super::super::Storage::StructuredStorage:: PROPVARIANT as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , & mut result__ ) . from_abi :: < super::super::Storage::StructuredStorage:: PROPVARIANT > ( result__ ) } pub unsafe fn SetValue < > ( & self , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , :: std :: mem :: transmute ( propvar ) , ) . ok ( ) } pub unsafe fn Commit < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IPropertyStore { type Vtable = IPropertyStore_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2288881387 ,36082 ,17478 , [ 141 ,2 ,205 ,186 ,29 ,189 ,207 ,153 ] , ) ; } impl :: std :: convert :: From < IPropertyStore > for :: windows :: IUnknown { fn from ( value : IPropertyStore ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPropertyStore > for :: windows :: IUnknown { fn from ( value : & IPropertyStore ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPropertyStore_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , cprops : * mut u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iprop : u32 , pkey : * mut PROPERTYKEY , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , pv : * mut super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROPERTYKEY { pub fmtid : :: windows :: Guid , pub pid : u32 } impl PROPERTYKEY { } impl :: std :: default :: Default for PROPERTYKEY { fn default ( ) -> Self { Self { fmtid : :: std :: default :: Default :: default ( ) , pid : 0 } } } impl :: std :: fmt :: Debug for PROPERTYKEY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROPERTYKEY" ) . field ( "fmtid" , & self . fmtid ) . field ( "pid" , & self . pid ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROPERTYKEY { fn eq ( & self , other : & Self ) -> bool { self . fmtid == other . fmtid && self . pid == other . pid } } impl :: std :: cmp :: Eq for PROPERTYKEY { } unsafe impl :: windows :: Abi for PROPERTYKEY { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BSTRBLOB { pub cbSize : u32 , pub pData : * mut u8 } impl BSTRBLOB { } impl :: std :: default :: Default for BSTRBLOB { fn default ( ) -> Self { Self { cbSize : 0 , pData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BSTRBLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pData" , & self . pData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pData == other . pData } } impl :: std :: cmp :: Eq for BSTRBLOB { } unsafe impl :: windows :: Abi for BSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct CHAR ( pub u8 ) ; impl CHAR { } impl :: std :: default :: Default for CHAR { fn default ( ) -> Self { Self ( 0 ) } } impl CHAR { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for CHAR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CHAR" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CHAR { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for CHAR { } unsafe impl :: windows :: Abi for CHAR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CLIPDATA { pub cbSize : u32 , pub ulClipFmt : i32 , pub pClipData : * mut u8 } impl CLIPDATA { } impl :: std :: default :: Default for CLIPDATA { fn default ( ) -> Self { Self { cbSize : 0 , ulClipFmt : 0 , pClipData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CLIPDATA" ) . field ( "cbSize" , & self . cbSize ) . field ( "ulClipFmt" , & self . ulClipFmt ) . field ( "pClipData" , & self . pClipData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . ulClipFmt == other . ulClipFmt && self . pClipData == other . pClipData } } impl :: std :: cmp :: Eq for CLIPDATA { } unsafe impl :: windows :: Abi for CLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union CY { pub Anonymous : CY_0 , pub int64 : i64 } impl CY { } impl :: std :: cmp :: PartialEq for CY { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for CY { } unsafe impl :: windows :: Abi for CY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CY_0 { pub Lo : u32 , pub Hi : i32 } impl CY_0 { } impl :: std :: default :: Default for CY_0 { fn default ( ) -> Self { Self { Lo : 0 , Hi : 0 } } } impl :: std :: fmt :: Debug for CY_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo" , & self . Lo ) . field ( "Hi" , & self . Hi ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CY_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo == other . Lo && self . Hi == other . Hi } } impl :: std :: cmp :: Eq for CY_0 { } unsafe impl :: windows :: Abi for CY_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL { pub wReserved : u16 , pub Anonymous1 : DECIMAL_0 , pub Hi32 : u32 , pub Anonymous2 : DECIMAL_1 } impl DECIMAL { } impl :: std :: cmp :: PartialEq for DECIMAL { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL { } unsafe impl :: windows :: Abi for DECIMAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_0 { pub Anonymous : DECIMAL_0_0 , pub signscale : u16 } impl DECIMAL_0 { } impl :: std :: cmp :: PartialEq for DECIMAL_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_0 { } unsafe impl :: windows :: Abi for DECIMAL_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_0_0 { pub scale : u8 , pub sign : u8 } impl DECIMAL_0_0 { } impl :: std :: default :: Default for DECIMAL_0_0 { fn default ( ) -> Self { Self { scale : 0 , sign : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_0_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "scale" , & self . scale ) . field ( "sign" , & self . sign ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_0_0 { fn eq ( & self , other : & Self ) -> bool { self . scale == other . scale && self . sign == other . sign } } impl :: std :: cmp :: Eq for DECIMAL_0_0 { } unsafe impl :: windows :: Abi for DECIMAL_0_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_1 { pub Anonymous : DECIMAL_1_0 , pub Lo64 : u64 } impl DECIMAL_1 { } impl :: std :: cmp :: PartialEq for DECIMAL_1 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_1 { } unsafe impl :: windows :: Abi for DECIMAL_1 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_1_0 { pub Lo32 : u32 , pub Mid32 : u32 } impl DECIMAL_1_0 { } impl :: std :: default :: Default for DECIMAL_1_0 { fn default ( ) -> Self { Self { Lo32 : 0 , Mid32 : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_1_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo32" , & self . Lo32 ) . field ( "Mid32" , & self . Mid32 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_1_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo32 == other . Lo32 && self . Mid32 == other . Mid32 } } impl :: std :: cmp :: Eq for DECIMAL_1_0 { } unsafe impl :: windows :: Abi for DECIMAL_1_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID { pub LowPart : u32 , pub HighPart : i32 } impl LUID { } impl :: std :: default :: Default for LUID { fn default ( ) -> Self { Self { LowPart : 0 , HighPart : 0 } } } impl :: std :: fmt :: Debug for LUID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID" ) . field ( "LowPart" , & self . LowPart ) . field ( "HighPart" , & self . HighPart ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID { fn eq ( & self , other : & Self ) -> bool { self . LowPart == other . LowPart && self . HighPart == other . HighPart } } impl :: std :: cmp :: Eq for LUID { } unsafe impl :: windows :: Abi for LUID { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Threading { pub unsafe fn GetCurrentProcess < > ( ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetCurrentProcess ( ) -> super::super::Foundation:: HANDLE ; } GetCurrentProcess ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcess < 'a , > ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , dwprocessid : u32 , ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn OpenProcess ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : super::super::Foundation:: BOOL , dwprocessid : u32 ) -> super::super::Foundation:: HANDLE ; } OpenProcess ( :: std :: mem :: transmute ( dwdesiredaccess ) , binherithandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwprocessid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcessToken < 'a , > ( processhandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn OpenProcessToken ( processhandle : super::super::Foundation:: HANDLE , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE ) -> super::super::Foundation:: BOOL ; } OpenProcessToken ( processhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( desiredaccess ) , :: std :: mem :: transmute ( tokenhandle ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct PROCESS_ACCESS_RIGHTS ( pub u32 ) ; pub const PROCESS_TERMINATE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1u32 ) ; pub const PROCESS_CREATE_THREAD : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2u32 ) ; pub const PROCESS_SET_SESSIONID : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4u32 ) ; pub const PROCESS_VM_OPERATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8u32 ) ; pub const PROCESS_VM_READ : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 16u32 ) ; pub const PROCESS_VM_WRITE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 32u32 ) ; pub const PROCESS_DUP_HANDLE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 64u32 ) ; pub const PROCESS_CREATE_PROCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 128u32 ) ; pub const PROCESS_SET_QUOTA : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 256u32 ) ; pub const PROCESS_SET_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 512u32 ) ; pub const PROCESS_QUERY_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1024u32 ) ; pub const PROCESS_SUSPEND_RESUME : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2048u32 ) ; pub const PROCESS_QUERY_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4096u32 ) ; pub const PROCESS_SET_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8192u32 ) ; pub const PROCESS_ALL_ACCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2097151u32 ) ; pub const PROCESS_DELETE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 65536u32 ) ; pub const PROCESS_READ_CONTROL : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 131072u32 ) ; pub const PROCESS_WRITE_DAC : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 262144u32 ) ; pub const PROCESS_WRITE_OWNER : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 524288u32 ) ; pub const PROCESS_SYNCHRONIZE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1048576u32 ) ; pub const PROCESS_STANDARD_RIGHTS_REQUIRED : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 983040u32 ) ; impl :: std :: convert :: From < u32 > for PROCESS_ACCESS_RIGHTS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for PROCESS_ACCESS_RIGHTS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for PROCESS_ACCESS_RIGHTS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for PROCESS_ACCESS_RIGHTS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn TerminateProcess < 'a , > ( hprocess : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , uexitcode : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn TerminateProcess ( hprocess : super::super::Foundation:: HANDLE , uexitcode : u32 ) -> super::super::Foundation:: BOOL ; } TerminateProcess ( hprocess . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( uexitcode ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod WinRT { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct RO_INIT_TYPE ( pub i32 ) ; pub const RO_INIT_SINGLETHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 0i32 ) ; pub const RO_INIT_MULTITHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 1i32 ) ; impl :: std :: convert :: From < i32 > for RO_INIT_TYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for RO_INIT_TYPE { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn RoInitialize < > ( inittype : RO_INIT_TYPE , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="onecoreuap" ) ] extern "system" { fn RoInitialize ( inittype : RO_INIT_TYPE ) -> :: windows :: HRESULT ; } RoInitialize ( :: std :: mem :: transmute ( inittype ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Shell { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IShellLinkW ( :: windows :: IUnknown ) ; impl IShellLinkW { pub unsafe fn GetPath < > ( & self , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszfile ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( pfd ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn GetIDList < > ( & self , ) -> :: windows :: Result < * mut ITEMIDLIST > { let mut result__ : < * mut ITEMIDLIST as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < * mut ITEMIDLIST > ( result__ ) } pub unsafe fn SetIDList < > ( & self , pidl : * mut ITEMIDLIST , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pidl ) , ) . ok ( ) } pub unsafe fn GetDescription < > ( & self , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszname ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetDescription < 'a , > ( & self , pszname : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszname . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetWorkingDirectory < > ( & self , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszdir ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetWorkingDirectory < 'a , > ( & self , pszdir : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .9 ) ( :: windows :: Abi :: abi ( self ) , pszdir . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetArguments < > ( & self , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .10 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszargs ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetArguments < 'a , > ( & self , pszargs : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .11 ) ( :: windows :: Abi :: abi ( self ) , pszargs . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetHotkey < > ( & self , ) -> :: windows :: Result < u16 > { let mut result__ : < u16 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .12 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u16 > ( result__ ) } pub unsafe fn SetHotkey < > ( & self , whotkey : u16 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .13 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( whotkey ) , ) . ok ( ) } pub unsafe fn GetShowCmd < > ( & self , ) -> :: windows :: Result < i32 > { let mut result__ : < i32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .14 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < i32 > ( result__ ) } pub unsafe fn SetShowCmd < > ( & self , ishowcmd : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .15 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( ishowcmd ) , ) . ok ( ) } pub unsafe fn GetIconLocation < > ( & self , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .16 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( psziconpath ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( piicon ) , ) . ok ( ) } pub unsafe fn SetIconLocation < 'a , > ( & self , psziconpath : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , iicon : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .17 ) ( :: windows :: Abi :: abi ( self ) , psziconpath . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( iicon ) , ) . ok ( ) } pub unsafe fn SetRelativePath < 'a , > ( & self , pszpathrel : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwreserved : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .18 ) ( :: windows :: Abi :: abi ( self ) , pszpathrel . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwreserved ) , ) . ok ( ) } pub unsafe fn Resolve < 'a , > ( & self , hwnd : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HWND > , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .19 ) ( :: windows :: Abi :: abi ( self ) , hwnd . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn SetPath < 'a , > ( & self , pszfile : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .20 ) ( :: windows :: Abi :: abi ( self ) , pszfile . into_param ( ) . abi ( ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IShellLinkW { type Vtable = IShellLinkW_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 136441 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IShellLinkW > for :: windows :: IUnknown { fn from ( value : IShellLinkW ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IShellLinkW > for :: windows :: IUnknown { fn from ( value : & IShellLinkW ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IShellLinkW_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppidl : * mut * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pidl : * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pwhotkey : * mut u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , whotkey : u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pishowcmd : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ishowcmd : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , iicon : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszpathrel : super::super::Foundation:: PWSTR , dwreserved : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , hwnd : super::super::Foundation:: HWND , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct ITEMIDLIST { pub mkid : SHITEMID } impl ITEMIDLIST { } impl :: std :: cmp :: PartialEq for ITEMIDLIST { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for ITEMIDLIST { } unsafe impl :: windows :: Abi for ITEMIDLIST { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 1 ) ) ] pub struct SHITEMID { pub cb : u16 , pub abID : [ u8 ;1 ] } impl SHITEMID { } impl :: std :: cmp :: PartialEq for SHITEMID { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for SHITEMID { } unsafe impl :: windows :: Abi for SHITEMID { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn SetCurrentProcessExplicitAppUserModelID < 'a , > ( appid : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="SHELL32" ) ] extern "system" { fn SetCurrentProcessExplicitAppUserModelID ( appid : super::super::Foundation:: PWSTR ) -> :: windows :: HRESULT ; } SetCurrentProcessExplicitAppUserModelID ( appid . into_param ( ) . abi ( ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub const ShellLink : :: windows :: Guid = :: windows :: Guid :: from_values ( 136193 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> /opt/rustwide/target/debug/build/bindings-35b662b5b61b68f1/out/windows.rs:1:263092 [INFO] [stdout] | [INFO] [stdout] 1 | ... { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: Into... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1 | # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Windows { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Data { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Xml { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Dom { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlAttribute ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{ac144aa4-b4f1-4db6-b206-8a22c308db0a}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlCDataSection ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{4d04b46f-c8bd-45b4-8899-0400d7c2c60f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlComment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{bca474d5-b61f-4611-9cac-2e92e3476d47}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocument ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocument_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , target : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , name : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tagname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , namespaceuri : :: windows :: RawPtr , qualifiedname : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , elementid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , node : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentFragment ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO { type Vtable = IXmlDocumentIO_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1825630030 ,61029 ,17545 , [ 158 ,191 ,202 ,67 ,232 ,123 ,166 ,55 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xml : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentIO2 { type Vtable = IXmlDocumentIO2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1560495713 ,31704 ,19157 , [ 158 ,191 ,129 ,230 ,52 ,114 ,99 ,177 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentIO2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , buffer : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentStatics { type Vtable = IXmlDocumentStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1430508116 ,55127 ,19321 , [ 149 ,57 ,35 ,43 ,24 ,245 ,11 ,241 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , uri : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , file : :: windows :: RawPtr , loadsettings : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDocumentType ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f7342425-9781-4964-8e94-9b1c6dfc9bc7}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlDomImplementation ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6de58132-f11d-4fbb-8cc6-583cba93112f}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlElement ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlEntityReference ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlLoadSettings ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNamedNodeMap ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNode ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNode { type Vtable = IXmlNode_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 477371737 ,8482 ,18389 , [ 168 ,86 ,131 ,243 ,212 ,33 ,72 ,117 ] , ) ; } impl < > IXmlNode { pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = self ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = self ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = self ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = self ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNode { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{1c741d59-2122-47d5-a856-83f3d4214875}" ) ; } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IUnknown { fn from ( value : IXmlNode ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IUnknown { fn from ( value : & IXmlNode ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for :: windows :: IInspectable { fn from ( value : IXmlNode ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNode > for :: windows :: IInspectable { fn from ( value : & IXmlNode ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSelector { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSelector { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNode > for IXmlNodeSerializer { fn from ( value : IXmlNode ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & IXmlNode > for IXmlNodeSerializer { fn from ( value : & IXmlNode ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a IXmlNode { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNode_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NodeType ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , referencechild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , childnode : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , newchild : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , deep : bool , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlNodeList ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8c60ad77-83a4-4ec1-9c54-7ba429e13da6}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSelector ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSelector { type Vtable = IXmlNodeSelector_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1675344523 ,53467 ,20449 , [ 183 ,69 ,249 ,67 ,58 ,253 ,194 ,91 ] , ) ; } impl < > IXmlNodeSelector { pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSelector { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{63dbba8b-d0db-4fe1-b745-f9433afdc25b}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : IXmlNodeSelector ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSelector ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : IXmlNodeSelector ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSelector > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSelector ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSelector { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSelector_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , xpath : :: windows :: RawPtr , namespaces : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IXmlNodeSerializer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlNodeSerializer { type Vtable = IXmlNodeSerializer_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1556460418 ,59101 ,18833 , [ 171 ,239 ,6 ,216 ,210 ,231 ,189 ,12 ] , ) ; } impl < > IXmlNodeSerializer { pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < > :: windows :: RuntimeType for IXmlNodeSerializer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5cc5b382-e6dd-4991-abef-06d8d2e7bd0c}" ) ; } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : IXmlNodeSerializer ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IUnknown { fn from ( value : & IXmlNodeSerializer ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : IXmlNodeSerializer ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & IXmlNodeSerializer > for :: windows :: IInspectable { fn from ( value : & IXmlNodeSerializer ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IXmlNodeSerializer { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IXmlNodeSerializer_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlProcessingInstruction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{2707fd1e-1e92-4ece-b6f4-26f069078ddc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IXmlText ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IXmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IXmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{f931a4cb-308d-4760-a1d5-43b67450ac7e}" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NodeType ( pub i32 ) ; impl NodeType { pub const Invalid : NodeType = NodeType ( 0i32 ) ; pub const ElementNode : NodeType = NodeType ( 1i32 ) ; pub const AttributeNode : NodeType = NodeType ( 2i32 ) ; pub const TextNode : NodeType = NodeType ( 3i32 ) ; pub const DataSectionNode : NodeType = NodeType ( 4i32 ) ; pub const EntityReferenceNode : NodeType = NodeType ( 5i32 ) ; pub const EntityNode : NodeType = NodeType ( 6i32 ) ; pub const ProcessingInstructionNode : NodeType = NodeType ( 7i32 ) ; pub const CommentNode : NodeType = NodeType ( 8i32 ) ; pub const DocumentNode : NodeType = NodeType ( 9i32 ) ; pub const DocumentTypeNode : NodeType = NodeType ( 10i32 ) ; pub const DocumentFragmentNode : NodeType = NodeType ( 11i32 ) ; pub const NotationNode : NodeType = NodeType ( 12i32 ) ; } impl :: std :: convert :: From < i32 > for NodeType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NodeType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NodeType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Data.Xml.Dom.NodeType;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlAttribute ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlAttribute { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2887010980 ,46321 ,19894 , [ 178 ,6 ,138 ,34 ,195 ,8 ,219 ,10 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlAttribute { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlAttribute;{ac144aa4-b4f1-4db6-b206-8a22c308db0a})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlCDataSection ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlCDataSection { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1292153967 ,51389 ,17844 , [ 136 ,153 ,4 ,0 ,215 ,194 ,198 ,15 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlCDataSection { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlCDataSection;{4d04b46f-c8bd-45b4-8899-0400d7c2c60f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlComment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlComment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3164894421 ,46623 ,17937 , [ 156 ,172 ,46 ,146 ,227 ,71 ,109 ,71 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlComment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlComment;{bca474d5-b61f-4611-9cac-2e92e3476d47})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct XmlDocument ( :: windows :: IInspectable ) ; impl XmlDocument { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Doctype < > ( & self , ) -> :: windows :: Result < XmlDocumentType > { let this = self ; unsafe { let mut result__ : < XmlDocumentType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentType > ( result__ ) } } pub fn Implementation < > ( & self , ) -> :: windows :: Result < XmlDomImplementation > { let this = self ; unsafe { let mut result__ : < XmlDomImplementation as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDomImplementation > ( result__ ) } } pub fn DocumentElement < > ( & self , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateElement < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn CreateDocumentFragment < > ( & self , ) -> :: windows :: Result < XmlDocumentFragment > { let this = self ; unsafe { let mut result__ : < XmlDocumentFragment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocumentFragment > ( result__ ) } } pub fn CreateTextNode < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlText > { let this = self ; unsafe { let mut result__ : < XmlText as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlText > ( result__ ) } } pub fn CreateComment < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlComment > { let this = self ; unsafe { let mut result__ : < XmlComment as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlComment > ( result__ ) } } pub fn CreateProcessingInstruction < 'a , > ( & self , target : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlProcessingInstruction > { let this = self ; unsafe { let mut result__ : < XmlProcessingInstruction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , target . into_param ( ) . abi ( ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlProcessingInstruction > ( result__ ) } } pub fn CreateAttribute < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateEntityReference < 'a , > ( & self , name : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlEntityReference > { let this = self ; unsafe { let mut result__ : < XmlEntityReference as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , name . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlEntityReference > ( result__ ) } } pub fn GetElementsByTagName < 'a , > ( & self , tagname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = self ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , tagname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn CreateCDataSection < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlCDataSection > { let this = self ; unsafe { let mut result__ : < XmlCDataSection as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlCDataSection > ( result__ ) } } pub fn DocumentUri < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn CreateAttributeNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlAttribute > { let this = self ; unsafe { let mut result__ : < XmlAttribute as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlAttribute > ( result__ ) } } pub fn CreateElementNS < 'a , > ( & self , namespaceuri : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , qualifiedname : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , namespaceuri . into_param ( ) . abi ( ) , qualifiedname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn GetElementById < 'a , > ( & self , elementid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlElement > { let this = self ; unsafe { let mut result__ : < XmlElement as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , elementid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlElement > ( result__ ) } } pub fn ImportNode < 'a , > ( & self , node : impl :: windows :: IntoParam < 'a , IXmlNode > , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = self ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , node . into_param ( ) . abi ( ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LoadXml < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlWithSettings < 'a , > ( & self , xml : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xml . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SaveToFileAsync < 'a , > ( & self , file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncAction > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncAction as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncAction > ( result__ ) } } pub fn LoadXmlFromBuffer < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadXmlFromBufferWithSettings < 'a , > ( & self , buffer : impl :: windows :: IntoParam < 'a , super::super::super::Storage::Streams:: IBuffer > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlDocumentIO2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , buffer . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeValue < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn SetNodeValue < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn NodeType < > ( & self , ) -> :: windows :: Result < NodeType > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NodeType as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NodeType > ( result__ ) } } pub fn NodeName < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn ParentNode < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ChildNodes < > ( & self , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn FirstChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn LastChild < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn PreviousSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NextSibling < > ( & self , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .15 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn Attributes < > ( & self , ) -> :: windows :: Result < XmlNamedNodeMap > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNamedNodeMap as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .16 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlNamedNodeMap > ( result__ ) } } pub fn HasChildNodes < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .17 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn OwnerDocument < > ( & self , ) -> :: windows :: Result < XmlDocument > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .18 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < XmlDocument > ( result__ ) } } pub fn InsertBefore < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .19 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn ReplaceChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , referencechild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .20 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , referencechild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn RemoveChild < 'a , > ( & self , childnode : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .21 ) ( :: windows :: Abi :: abi ( this ) , childnode . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn AppendChild < 'a , > ( & self , newchild : impl :: windows :: IntoParam < 'a , IXmlNode > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .22 ) ( :: windows :: Abi :: abi ( this ) , newchild . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn CloneNode < > ( & self , deep : bool , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .23 ) ( :: windows :: Abi :: abi ( this ) , deep , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn NamespaceUri < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .24 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn LocalName < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .25 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Prefix < > ( & self , ) -> :: windows :: Result < :: windows :: IInspectable > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: IInspectable as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .26 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: IInspectable > ( result__ ) } } pub fn Normalize < > ( & self , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .27 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn SetPrefix < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNode > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .28 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SelectSingleNode < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodes < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn SelectSingleNodeNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < IXmlNode > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IXmlNode as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < IXmlNode > ( result__ ) } } pub fn SelectNodesNS < 'a , > ( & self , xpath : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , namespaces : impl :: windows :: IntoParam < 'a , :: windows :: IInspectable > , ) -> :: windows :: Result < XmlNodeList > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSelector > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < XmlNodeList as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , xpath . into_param ( ) . abi ( ) , namespaces . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < XmlNodeList > ( result__ ) } } pub fn GetXml < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn InnerText < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetInnerText < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IXmlNodeSerializer > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn LoadFromUriAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromUriWithSettingsAsync < 'a , > ( uri : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: Uri > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , uri . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn LoadFromFileWithSettingsAsync < 'a , > ( file : impl :: windows :: IntoParam < 'a , super::super::super::Storage:: IStorageFile > , loadsettings : impl :: windows :: IntoParam < 'a , XmlLoadSettings > , ) -> :: windows :: Result < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > { Self :: IXmlDocumentStatics ( | this | unsafe { let mut result__ : < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , file . into_param ( ) . abi ( ) , loadsettings . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::super::Foundation:: IAsyncOperation :: < XmlDocument > > ( result__ ) } ) } pub fn IXmlDocumentStatics < R , F : FnOnce ( & IXmlDocumentStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < XmlDocument , IXmlDocumentStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for XmlDocument { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocument;{f7f3a506-1e87-42d6-bcfb-b8c809fa5494})" ) ; } unsafe impl :: windows :: Interface for XmlDocument { type Vtable = IXmlDocument_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4159939846 ,7815 ,17110 , [ 188 ,251 ,184 ,200 ,9 ,250 ,84 ,148 ] , ) ; } impl :: windows :: RuntimeName for XmlDocument { const NAME : & 'static str ="Windows.Data.Xml.Dom.XmlDocument" ; } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IUnknown { fn from ( value : XmlDocument ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IUnknown { fn from ( value : & XmlDocument ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for :: windows :: IInspectable { fn from ( value : XmlDocument ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & XmlDocument > for :: windows :: IInspectable { fn from ( value : & XmlDocument ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNode { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNode { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNode > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNode > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNode > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSelector { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSelector { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSelector > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSelector > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSelector > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < XmlDocument > for IXmlNodeSerializer { fn from ( value : XmlDocument ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < > :: std :: convert :: From < & XmlDocument > for IXmlNodeSerializer { fn from ( value : & XmlDocument ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , IXmlNodeSerializer > for & 'a XmlDocument { fn into_param ( self ) -> :: windows :: Param < 'a , IXmlNodeSerializer > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IXmlNodeSerializer > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } unsafe impl :: std :: marker :: Send for XmlDocument { } unsafe impl :: std :: marker :: Sync for XmlDocument { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentFragment ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentFragment { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3807013526 ,3105 ,17573 , [ 139 ,201 ,158 ,74 ,38 ,39 ,8 ,236 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentFragment { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentFragment;{e2ea6a96-0c21-44a5-8bc9-9e4a262708ec})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDocumentType ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDocumentType { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4147389477 ,38785 ,18788 , [ 142 ,148 ,155 ,28 ,109 ,252 ,155 ,199 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDocumentType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDocumentType;{f7342425-9781-4964-8e94-9b1c6dfc9bc7})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlDomImplementation ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlDomImplementation { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1843757362 ,61725 ,20411 , [ 140 ,198 ,88 ,60 ,186 ,147 ,17 ,47 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlDomImplementation { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlDomImplementation;{6de58132-f11d-4fbb-8cc6-583cba93112f})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlElement ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlElement { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 771459615 ,27408 ,20216 , [ 159 ,131 ,239 ,204 ,232 ,250 ,236 ,55 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlElement { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlElement;{2dfb8a1f-6b10-4ef8-9f83-efcce8faec37})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlEntityReference ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlEntityReference { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 774850492 ,50128 ,19663 , [ 187 ,134 ,10 ,184 ,195 ,106 ,97 ,207 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlEntityReference { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlEntityReference;{2e2f47bc-c3d0-4ccf-bb86-0ab8c36a61cf})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlLoadSettings ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlLoadSettings { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1487538088 ,65238 ,18167 , [ 180 ,197 ,251 ,27 ,167 ,33 ,8 ,214 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlLoadSettings { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlLoadSettings;{58aa07a8-fed6-46f7-b4c5-fb1ba72108d6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNamedNodeMap ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNamedNodeMap { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3014041264 ,43696 ,19330 , [ 166 ,250 ,177 ,69 ,63 ,124 ,2 ,27 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNamedNodeMap { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNamedNodeMap;{b3a69eb0-aab0-4b82-a6fa-b1453f7c021b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlNodeList ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlNodeList { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2355146103 ,33700 ,20161 , [ 156 ,84 ,123 ,164 ,41 ,225 ,61 ,166 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlNodeList { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlNodeList;{8c60ad77-83a4-4ec1-9c54-7ba429e13da6})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlProcessingInstruction ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlProcessingInstruction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 654834974 ,7826 ,20174 , [ 182 ,244 ,38 ,240 ,105 ,7 ,141 ,220 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlProcessingInstruction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlProcessingInstruction;{2707fd1e-1e92-4ece-b6f4-26f069078ddc})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct XmlText ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for XmlText { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4180780235 ,12429 ,18272 , [ 161 ,213 ,67 ,182 ,116 ,80 ,172 ,126 ] , ) ; } unsafe impl :: windows :: RuntimeType for XmlText { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Data.Xml.Dom.XmlText;{f931a4cb-308d-4760-a1d5-43b67450ac7e})" ) ; } } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DateTime { pub UniversalTime : i64 } impl DateTime { } impl :: std :: default :: Default for DateTime { fn default ( ) -> Self { Self { UniversalTime : 0 } } } impl :: std :: fmt :: Debug for DateTime { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "DateTime" ) . field ( "UniversalTime" , & self . UniversalTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DateTime { fn eq ( & self , other : & Self ) -> bool { self . UniversalTime == other . UniversalTime } } impl :: std :: cmp :: Eq for DateTime { } unsafe impl :: windows :: Abi for DateTime { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for DateTime { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.DateTime;i8)" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct EventRegistrationToken { pub Value : i64 } impl EventRegistrationToken { } impl :: std :: default :: Default for EventRegistrationToken { fn default ( ) -> Self { Self { Value : 0 } } } impl :: std :: fmt :: Debug for EventRegistrationToken { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "EventRegistrationToken" ) . field ( "Value" , & self . Value ) . finish ( ) } } impl :: std :: cmp :: PartialEq for EventRegistrationToken { fn eq ( & self , other : & Self ) -> bool { self . Value == other . Value } } impl :: std :: cmp :: Eq for EventRegistrationToken { } unsafe impl :: windows :: Abi for EventRegistrationToken { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for EventRegistrationToken { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Foundation.EventRegistrationToken;i8)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncAction ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IAsyncAction { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1516535814 ,33850 ,19881 , [ 134 ,91 ,157 ,38 ,229 ,223 ,173 ,123 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IAsyncAction { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{5a648006-843a-4da9-865b-9d26e5dfad7b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IAsyncOperation < TResult > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < TResult > , ) where TResult : :: windows :: RuntimeType + 'static , ; unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IAsyncOperation < TResult > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IAsyncOperation < TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IAsyncOperation < TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9fc2b0bb-e446-44e2-aa61-9cab8f636af2}" ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IReference < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IReference < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IReference < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IReference < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{61c17706-2d65-11e0-9ae8-d48564015472}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUriRuntimeClass ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUriRuntimeClass { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUriRuntimeClass { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{9e365e57-48b2-4160-956f-c7385120bbfc}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct TypedEventHandler < TSender , TResult > ( :: windows :: IUnknown , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > TypedEventHandler < TSender , TResult > { pub fn new < F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > ( invoke : F ) -> Self { let com = TypedEventHandler_box :: < TSender , TResult , F > { vtable : & TypedEventHandler_box :: < TSender , TResult , F > :: VTABLE , count : :: windows :: RefCount :: new ( 1 ) , invoke , } ; unsafe { std :: mem :: transmute ( :: std :: boxed :: Box :: new ( com ) ) } } pub fn Invoke < 'a , > ( & self , sender : impl :: windows :: IntoParam < 'a , TSender > , args : impl :: windows :: IntoParam < 'a , TResult > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .3 ) ( :: windows :: Abi :: abi ( this ) , sender . into_param ( ) . abi ( ) , args . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for TypedEventHandler < TSender , TResult > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{9de1c534-6ae1-11e0-84e1-18a905bcc53f}" ) . push_slice ( b";" ) . push_other ( < TSender as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < TResult as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } unsafe impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , > :: windows :: Interface for TypedEventHandler < TSender , TResult > { type Vtable = TypedEventHandler_abi < TSender , TResult > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < TypedEventHandler < TSender , TResult > as :: windows :: RuntimeType > :: SIGNATURE ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct TypedEventHandler_abi < TSender , TResult > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < TSender > , pub :: std :: marker :: PhantomData :: < TResult > , ) where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , ; # [ repr ( C ) ] struct TypedEventHandler_box < TSender , TResult , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > where TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , { vtable : * const TypedEventHandler_abi < TSender , TResult > , invoke : F , count : :: windows :: RefCount , } impl < TSender : :: windows :: RuntimeType + 'static , TResult : :: windows :: RuntimeType + 'static , F : FnMut ( & < TSender as :: windows :: Abi > :: DefaultType , & < TResult as :: windows :: Abi > :: DefaultType ) -> :: windows :: Result < ( ) > + 'static > TypedEventHandler_box :: < TSender , TResult , F > { const VTABLE : TypedEventHandler_abi < TSender , TResult > = TypedEventHandler_abi :: < TSender , TResult > ( Self :: QueryInterface , Self :: AddRef , Self :: Release , Self :: Invoke , :: std :: marker :: PhantomData :: < TSender > , :: std :: marker :: PhantomData :: < TResult > , ) ; unsafe extern "system" fn QueryInterface ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; * interface = if iid == & < TypedEventHandler < TSender , TResult > as :: windows :: Interface > :: IID || iid == & < :: windows :: IUnknown as :: windows :: Interface > :: IID || iid == & < :: windows :: IAgileObject as :: windows :: Interface > :: IID { & mut ( * this ) . vtable as * mut _ as _ } else { :: std :: ptr :: null_mut ( ) } ; if ( * interface ) . is_null ( ) { :: windows :: HRESULT ( 0x8000_4002 ) } else { ( * this ) . count . add_ref ( ) ; :: windows :: HRESULT ( 0 ) } } unsafe extern "system" fn AddRef ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( * this ) . count . add_ref ( ) } unsafe extern "system" fn Release ( this : :: windows :: RawPtr ) -> u32 { let this = this as * mut :: windows :: RawPtr as * mut Self ; let remaining = ( * this ) . count . release ( ) ; if remaining == 0 { Box :: from_raw ( this ) ; } remaining } unsafe extern "system" fn Invoke ( this : :: windows :: RawPtr , sender : < TSender as :: windows :: Abi > :: Abi , args : < TResult as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT { let this = this as * mut :: windows :: RawPtr as * mut Self ; ( ( * this ) . invoke ) ( & * ( & sender as * const < TSender as :: windows :: Abi > :: Abi as * const < TSender as :: windows :: Abi > :: DefaultType ) , & * ( & args as * const < TResult as :: windows :: Abi > :: Abi as * const < TResult as :: windows :: Abi > :: DefaultType ) , ) . into ( ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct Uri ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for Uri { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2654363223 ,18610 ,16736 , [ 149 ,111 ,199 ,56 ,81 ,32 ,187 ,252 ] , ) ; } unsafe impl :: windows :: RuntimeType for Uri { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Uri;{9e365e57-48b2-4160-956f-c7385120bbfc})" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Collections { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterable < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterable < T > { type Vtable = IIterable_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterable < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterable < T > { pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < T > > { let this = self ; unsafe { let mut result__ : < IIterator < T > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < T > > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterable < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{faa585ea-6214-4217-afda-7f46de5869b3}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IUnknown { fn from ( value : IIterable < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IUnknown { fn from ( value : & IIterable < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterable < T > > for :: windows :: IInspectable { fn from ( value : IIterable < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterable < T > > for :: windows :: IInspectable { fn from ( value : & IIterable < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterable < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , T : :: windows :: RuntimeType > :: std :: iter :: IntoIterator for & 'a IIterable < T > { type Item = T ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterable_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IIterator < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IIterator < T > { type Vtable = IIterator_abi < T > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IIterator < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < T : :: windows :: RuntimeType + 'static , > IIterator < T > { pub fn Current < > ( & self , ) -> :: windows :: Result < T > { let this = self ; unsafe { let mut result__ : < T as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < T > ( result__ ) } } pub fn HasCurrent < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn MoveNext < > ( & self , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetMany < > ( & self , items : & mut [ < T as :: windows :: Abi > :: DefaultType ] , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , items . len ( ) as u32 , :: std :: mem :: transmute_copy ( & items ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IIterator < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{6a79e863-4300-459a-9966-cbb660963ee1}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IUnknown { fn from ( value : IIterator < T > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IUnknown { fn from ( value : & IIterator < T > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IIterator < T > > for :: windows :: IInspectable { fn from ( value : IIterator < T > ) -> Self { value . 0 } } impl < T : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IIterator < T > > for :: windows :: IInspectable { fn from ( value : & IIterator < T > ) -> Self { value . 0 . clone ( ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , T : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IIterator < T > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < T : :: windows :: RuntimeType > :: std :: iter :: Iterator for IIterator < T > { type Item = T ; fn next ( & mut self ) -> :: std :: option :: Option < Self :: Item > { let result = self . Current ( ) . ok ( ) ; if result . is_some ( ) { self . MoveNext ( ) . ok ( ) ? ; } result } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IIterator_abi < T > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < T as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , items_array_size : u32 , items : * mut < T as :: windows :: Abi > :: Abi , result__ : * mut u32 ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IKeyValuePair < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IKeyValuePair < K , V > { type Vtable = IKeyValuePair_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IKeyValuePair < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IKeyValuePair < K , V > { pub fn Key < > ( & self , ) -> :: windows :: Result < K > { let this = self ; unsafe { let mut result__ : < K as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < K > ( result__ ) } } pub fn Value < > ( & self , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IKeyValuePair < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{02b51929-c1c4-4a7e-8940-0312b5c18500}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : IKeyValuePair < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IUnknown { fn from ( value : & IKeyValuePair < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : IKeyValuePair < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IKeyValuePair < K , V > > for :: windows :: IInspectable { fn from ( value : & IKeyValuePair < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IKeyValuePair < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IKeyValuePair_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMap < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMap < K , V > { type Vtable = IMap_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMap < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMap < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn GetView < > ( & self , ) -> :: windows :: Result < IMapView < K , V > > { let this = self ; unsafe { let mut result__ : < IMapView < K , V > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IMapView < K , V > > ( result__ ) } } pub fn Insert < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , value : impl :: windows :: IntoParam < 'a , V > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , value . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Remove < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMap < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{3c2925fe-8519-45c1-aa79-197b6718c1c1}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IUnknown { fn from ( value : IMap < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IUnknown { fn from ( value : & IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for :: windows :: IInspectable { fn from ( value : IMap < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for :: windows :: IInspectable { fn from ( value : & IMap < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMap < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMap < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMap < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMap < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMap < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMap_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , value : < V as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IMapView < K , V > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < K > , :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IMapView < K , V > { type Vtable = IMapView_abi < K , V > ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IMapView < K , V > as :: windows :: RuntimeType > :: SIGNATURE ) ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > IMapView < K , V > { pub fn Lookup < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < V > { let this = self ; unsafe { let mut result__ : < V as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < V > ( result__ ) } } pub fn Size < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn HasKey < 'a , > ( & self , key : impl :: windows :: IntoParam < 'a , K > , ) -> :: windows :: Result < bool > { let this = self ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , key . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn Split < > ( & self , first : & mut :: std :: option :: Option < IMapView < K , V > > , second : & mut :: std :: option :: Option < IMapView < K , V > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , :: windows :: Abi :: set_abi ( first ) , :: windows :: Abi :: set_abi ( second ) , ) . ok ( ) } } pub fn First < > ( & self , ) -> :: windows :: Result < IIterator < IKeyValuePair < K , V > > > { let this = & :: windows :: Interface :: cast :: < IIterable < IKeyValuePair < K , V > > > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < IIterator < IKeyValuePair < K , V > > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < IIterator < IKeyValuePair < K , V > > > ( result__ ) } } } unsafe impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IMapView < K , V > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{e480ce40-a338-4ada-adcf-272272e48cb9}" ) . push_slice ( b";" ) . push_other ( < K as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b";" ) . push_other ( < V as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : IMapView < K , V > ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IUnknown { fn from ( value : & IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : IMapView < K , V > ) -> Self { value . 0 } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for :: windows :: IInspectable { fn from ( value : & IMapView < K , V > ) -> Self { value . 0 . clone ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : IMapView < K , V > ) -> Self { :: std :: convert :: From :: from ( & value ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: convert :: From < & IMapView < K , V > > for IIterable < IKeyValuePair < K , V > > { fn from ( value : & IMapView < K , V > ) -> Self { :: windows :: Interface :: cast ( value ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( self ) ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: windows :: IntoParam < 'a , IIterable < IKeyValuePair < K , V > > > for & 'a IMapView < K , V > { fn into_param ( self ) -> :: windows :: Param < 'a , IIterable < IKeyValuePair < K , V > > > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IIterable < IKeyValuePair < K , V > > > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } impl < 'a , K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , > :: std :: iter :: IntoIterator for & 'a IMapView < K , V > { type Item = IKeyValuePair < K , V > ; type IntoIter = IIterator < Self :: Item > ; fn into_iter ( self ) -> Self :: IntoIter { self . First ( ) . unwrap ( ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IMapView_abi < K , V > ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut < V as :: windows :: Abi > :: Abi ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : < K as :: windows :: Abi > :: Abi , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , first : * mut :: windows :: RawPtr , second : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub :: std :: marker :: PhantomData :: < K > , pub :: std :: marker :: PhantomData :: < V > , ) where K : :: windows :: RuntimeType + 'static , V : :: windows :: RuntimeType + 'static , ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IPropertySet ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IPropertySet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IPropertySet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{8a43ed9f-f4e6-4421-acf9-1dab2986820c}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IVectorView < T > ( :: windows :: IInspectable , :: std :: marker :: PhantomData :: < T > , ) where T : :: windows :: RuntimeType + 'static , ; unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: Interface for IVectorView < T > { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_signature ( < IVectorView < T > as :: windows :: RuntimeType > :: SIGNATURE ) ; } unsafe impl < T : :: windows :: RuntimeType + 'static , > :: windows :: RuntimeType for IVectorView < T > { const SIGNATURE : :: windows :: ConstBuffer = { :: windows :: ConstBuffer :: new ( ) . push_slice ( b"pinterface(" ) . push_slice ( b"{bbe1fa4c-b0e3-4583-baef-1f1b2e483e56}" ) . push_slice ( b";" ) . push_other ( < T as :: windows :: RuntimeType > :: SIGNATURE ) . push_slice ( b")" ) } ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ValueSet ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ValueSet { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2319707551 ,62694 ,17441 , [ 172 ,249 ,29 ,171 ,41 ,134 ,130 ,12 ] , ) ; } unsafe impl :: windows :: RuntimeType for ValueSet { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Foundation.Collections.ValueSet;{8a43ed9f-f4e6-4421-acf9-1dab2986820c})" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorageFile ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IStorageFile { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 4198457734 ,16916 ,17036 , [ 166 ,76 ,20 ,201 ,172 ,115 ,21 ,234 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IStorageFile { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{fa3f6186-4214-428c-a64c-14c9ac7315ea}" ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Streams { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IBuffer ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IBuffer { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2421821408 ,48211 ,4575 , [ 140 ,73 ,0 ,30 ,79 ,198 ,134 ,218 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IBuffer { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{905a0fe0-bc53-11df-8c49-001e4fc686da}" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{df9a26c6-e746-4bcd-b5d4-120103c4209b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct User ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for User { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3751421638 ,59206 ,19405 , [ 181 ,212 ,18 ,1 ,3 ,196 ,32 ,155 ] , ) ; } unsafe impl :: windows :: RuntimeType for User { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.System.User;{df9a26c6-e746-4bcd-b5d4-120103c4209b})" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Notifications { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationData ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationData_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut u32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : u32 ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationDataFactory { type Vtable = INotificationDataFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 599909178 ,7184 ,18171 , [ 128 ,64 ,222 ,195 ,132 ,98 ,28 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct INotificationDataFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , sequencenumber : u32 , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , initialvalues : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct INotificationVisual ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for INotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for INotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{68835b8e-aa56-4e11-86d3-5f9a6957bc5b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79f577f8-0de7-48cd-9740-9b370490c838}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{6173f6b4-412a-5e2c-a6ed-a0209aef9a09}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastDismissedEventArgs_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastDismissalReason ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastFailedEventArgs ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{35176862-cfd4-44f8-ad64-f500fd896c3b}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification2 { type Vtable = IToastNotification2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2650513361 ,5178 ,18702 , [ 144 ,191 ,185 ,251 ,167 ,19 ,45 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification3 { type Vtable = IToastNotification3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 837332696 ,33089 ,20377 , [ 188 ,10 ,196 ,237 ,33 ,41 ,125 ,119 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification4 { type Vtable = IToastNotification4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 353716533 ,10474 ,18215 , [ 136 ,233 ,197 ,134 ,128 ,226 ,209 ,24 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut ToastNotificationPriority ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : ToastNotificationPriority ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotification6 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotification6 { type Vtable = IToastNotification6_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1139539539 ,35246 ,23582 , [ 162 ,121 ,58 ,236 ,254 ,155 ,111 ,84 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotification6_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut bool ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : bool ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationActionTriggerDetail_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationFactory { type Vtable = IToastNotificationFactory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 68307744 ,33478 ,16937 , [ 177 ,9 ,253 ,158 ,212 ,102 ,43 ,83 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationFactory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , content : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , tag : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationHistory2 { type Vtable = IToastNotificationHistory2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1002689107 ,12081 ,16530 , [ 145 ,41 ,138 ,213 ,171 ,240 ,103 ,218 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationHistory2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerForUser ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl < > :: windows :: RuntimeType for IToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"{79ab57f6-43fe-487b-8a7f-99567200ae94}" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics { type Vtable = IToastNotificationManagerStatics_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1353453631 ,53813 ,17816 , [ 187 ,239 ,152 ,254 ,77 ,26 ,58 ,212 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , applicationid : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , r#type : ToastTemplateType , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics2 { type Vtable = IToastNotificationManagerStatics2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2058959954 ,3656 ,18256 , [ 186 ,157 ,26 ,65 ,19 ,152 ,24 ,71 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics4 { type Vtable = IToastNotificationManagerStatics4_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2409185235 ,58646 ,17915 , [ 129 ,48 ,57 ,142 ,147 ,250 ,82 ,195 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics4_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , user : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : NotificationMirroring ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotificationManagerStatics5 { type Vtable = IToastNotificationManagerStatics5_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 3606443369 ,54285 ,16508 , [ 137 ,137 ,136 ,202 ,180 ,44 ,253 ,20 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotificationManagerStatics5_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , notification : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut NotificationSetting ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , scheduledtoast : :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , result__ : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier2 { type Vtable = IToastNotifier2_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 893618630 ,31745 ,19413 , [ 156 ,32 ,96 ,67 ,64 ,205 ,43 ,116 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier2_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , group : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , data : :: windows :: RawPtr , tag : :: windows :: RawPtr , result__ : * mut NotificationUpdateResult ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3 ( :: windows :: IInspectable , ) where ; unsafe impl < > :: windows :: Interface for IToastNotifier3 { type Vtable = IToastNotifier3_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2926944330 ,15116 ,20909 , [ 183 ,232 ,176 ,138 ,182 ,5 ,37 ,73 ] , ) ; } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IToastNotifier3_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , count : * mut u32 , values : * mut * mut :: windows :: Guid ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , value : * mut i32 ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , handler : :: windows :: RawPtr , result__ : * mut super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , token : super::super::Foundation:: EventRegistrationToken ) -> :: windows :: HRESULT , ) where ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct Notification ( :: windows :: IInspectable ) ; impl Notification { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < Notification , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Visual < > ( & self , ) -> :: windows :: Result < NotificationVisual > { let this = self ; unsafe { let mut result__ : < NotificationVisual as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationVisual > ( result__ ) } } pub fn SetVisual < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationVisual > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for Notification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.Notification;{108037fe-eb76-4f82-97bc-da07530a2e20})" ) ; } unsafe impl :: windows :: Interface for Notification { type Vtable = INotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 276838398 ,60278 ,20354 , [ 151 ,188 ,218 ,7 ,83 ,10 ,46 ,32 ] , ) ; } impl :: windows :: RuntimeName for Notification { const NAME : & 'static str ="Windows.UI.Notifications.Notification" ; } impl < > :: std :: convert :: From < Notification > for :: windows :: IUnknown { fn from ( value : Notification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IUnknown { fn from ( value : & Notification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < Notification > for :: windows :: IInspectable { fn from ( value : Notification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & Notification > for :: windows :: IInspectable { fn from ( value : & Notification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a Notification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for Notification { } unsafe impl :: std :: marker :: Sync for Notification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct NotificationData ( :: windows :: IInspectable ) ; impl NotificationData { pub fn new ( ) -> :: windows :: Result < Self > { Self :: IActivationFactory ( | f | f . activate_instance :: < Self > ( ) ) } fn IActivationFactory < R , F : FnOnce ( & :: windows :: IActivationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , :: windows :: IActivationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn Values < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IMap :: < :: windows :: HSTRING , :: windows :: HSTRING > > ( result__ ) } } pub fn SequenceNumber < > ( & self , ) -> :: windows :: Result < u32 > { let this = self ; unsafe { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } } pub fn SetSequenceNumber < > ( & self , value : u32 , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn CreateNotificationDataWithValuesAndSequenceNumber < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , sequencenumber : u32 , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , sequencenumber , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn CreateNotificationDataWithValues < 'a , > ( initialvalues : impl :: windows :: IntoParam < 'a , super::super::Foundation::Collections:: IIterable :: < super::super::Foundation::Collections:: IKeyValuePair :: < :: windows :: HSTRING , :: windows :: HSTRING > > > , ) -> :: windows :: Result < NotificationData > { Self :: INotificationDataFactory ( | this | unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , initialvalues . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } ) } pub fn INotificationDataFactory < R , F : FnOnce ( & INotificationDataFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < NotificationData , INotificationDataFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for NotificationData { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationData;{9ffd2312-9d6a-4aaf-b6ac-ff17f0c1f280})" ) ; } unsafe impl :: windows :: Interface for NotificationData { type Vtable = INotificationData_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2684166930 ,40298 ,19119 , [ 182 ,172 ,255 ,23 ,240 ,193 ,242 ,128 ] , ) ; } impl :: windows :: RuntimeName for NotificationData { const NAME : & 'static str ="Windows.UI.Notifications.NotificationData" ; } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IUnknown { fn from ( value : NotificationData ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IUnknown { fn from ( value : & NotificationData ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < NotificationData > for :: windows :: IInspectable { fn from ( value : NotificationData ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & NotificationData > for :: windows :: IInspectable { fn from ( value : & NotificationData ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a NotificationData { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for NotificationData { } unsafe impl :: std :: marker :: Sync for NotificationData { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationMirroring ( pub i32 ) ; impl NotificationMirroring { pub const Allowed : NotificationMirroring = NotificationMirroring ( 0i32 ) ; pub const Disabled : NotificationMirroring = NotificationMirroring ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationMirroring { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationMirroring { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationMirroring { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationMirroring;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationSetting ( pub i32 ) ; impl NotificationSetting { pub const Enabled : NotificationSetting = NotificationSetting ( 0i32 ) ; pub const DisabledForApplication : NotificationSetting = NotificationSetting ( 1i32 ) ; pub const DisabledForUser : NotificationSetting = NotificationSetting ( 2i32 ) ; pub const DisabledByGroupPolicy : NotificationSetting = NotificationSetting ( 3i32 ) ; pub const DisabledByManifest : NotificationSetting = NotificationSetting ( 4i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationSetting { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationSetting { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationSetting { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationSetting;i4)" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct NotificationUpdateResult ( pub i32 ) ; impl NotificationUpdateResult { pub const Succeeded : NotificationUpdateResult = NotificationUpdateResult ( 0i32 ) ; pub const Failed : NotificationUpdateResult = NotificationUpdateResult ( 1i32 ) ; pub const NotificationNotFound : NotificationUpdateResult = NotificationUpdateResult ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for NotificationUpdateResult { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for NotificationUpdateResult { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for NotificationUpdateResult { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.NotificationUpdateResult;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct NotificationVisual ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for NotificationVisual { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1753439118 ,43606 ,19985 , [ 134 ,211 ,95 ,154 ,105 ,87 ,188 ,91 ] , ) ; } unsafe impl :: windows :: RuntimeType for NotificationVisual { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.NotificationVisual;{68835b8e-aa56-4e11-86d3-5f9a6957bc5b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotification ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotification { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2046130168 ,3559 ,18637 , [ 151 ,64 ,155 ,55 ,4 ,144 ,200 ,56 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotification;{79f577f8-0de7-48cd-9740-9b370490c838})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ScheduledToastNotificationShowingEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ScheduledToastNotificationShowingEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1634989748 ,16682 ,24108 , [ 166 ,237 ,160 ,32 ,154 ,239 ,154 ,9 ] , ) ; } unsafe impl :: windows :: RuntimeType for ScheduledToastNotificationShowingEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs;{6173f6b4-412a-5e2c-a6ed-a0209aef9a09})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastDismissalReason ( pub i32 ) ; impl ToastDismissalReason { pub const UserCanceled : ToastDismissalReason = ToastDismissalReason ( 0i32 ) ; pub const ApplicationHidden : ToastDismissalReason = ToastDismissalReason ( 1i32 ) ; pub const TimedOut : ToastDismissalReason = ToastDismissalReason ( 2i32 ) ; } impl :: std :: convert :: From < i32 > for ToastDismissalReason { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastDismissalReason { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastDismissalReason { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastDismissalReason;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastDismissedEventArgs ( :: windows :: IInspectable ) ; impl ToastDismissedEventArgs { pub fn Reason < > ( & self , ) -> :: windows :: Result < ToastDismissalReason > { let this = self ; unsafe { let mut result__ : < ToastDismissalReason as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastDismissalReason > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastDismissedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastDismissedEventArgs;{3f89d935-d9cb-4538-a0f0-ffe7659938f8})" ) ; } unsafe impl :: windows :: Interface for ToastDismissedEventArgs { type Vtable = IToastDismissedEventArgs_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1065998645 ,55755 ,17720 , [ 160 ,240 ,255 ,231 ,101 ,153 ,56 ,248 ] , ) ; } impl :: windows :: RuntimeName for ToastDismissedEventArgs { const NAME : & 'static str ="Windows.UI.Notifications.ToastDismissedEventArgs" ; } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : ToastDismissedEventArgs ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IUnknown { fn from ( value : & ToastDismissedEventArgs ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : ToastDismissedEventArgs ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastDismissedEventArgs > for :: windows :: IInspectable { fn from ( value : & ToastDismissedEventArgs ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastDismissedEventArgs { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastDismissedEventArgs { } unsafe impl :: std :: marker :: Sync for ToastDismissedEventArgs { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastFailedEventArgs ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastFailedEventArgs { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 890726498 ,53204 ,17656 , [ 173 ,100 ,245 ,0 ,253 ,137 ,108 ,59 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastFailedEventArgs { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastFailedEventArgs;{35176862-cfd4-44f8-ad64-f500fd896c3b})" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotification ( :: windows :: IInspectable ) ; impl ToastNotification { pub fn Content < > ( & self , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { let this = self ; unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } } pub fn SetExpirationTime < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn ExpirationTime < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation:: IReference :: < super::super::Foundation:: DateTime > > ( result__ ) } } pub fn Dismissed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastDismissedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveDismissed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Activated < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , :: windows :: IInspectable > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveActivated < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Failed < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotification , ToastFailedEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = self ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .13 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveFailed < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .14 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn SetTag < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Tag < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetGroup < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Group < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetSuppressPopup < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn SuppressPopup < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn CreateToastNotification < 'a , > ( content : impl :: windows :: IntoParam < 'a , super::super::Data::Xml::Dom:: XmlDocument > , ) -> :: windows :: Result < ToastNotification > { Self :: IToastNotificationFactory ( | this | unsafe { let mut result__ : < ToastNotification as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , content . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotification > ( result__ ) } ) } pub fn NotificationMirroring < > ( & self , ) -> :: windows :: Result < NotificationMirroring > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationMirroring as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationMirroring > ( result__ ) } } pub fn SetNotificationMirroring < > ( & self , value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn RemoteId < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn SetRemoteId < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Data < > ( & self , ) -> :: windows :: Result < NotificationData > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationData as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationData > ( result__ ) } } pub fn SetData < 'a , > ( & self , value : impl :: windows :: IntoParam < 'a , NotificationData > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Priority < > ( & self , ) -> :: windows :: Result < ToastNotificationPriority > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < ToastNotificationPriority as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationPriority > ( result__ ) } } pub fn SetPriority < > ( & self , value : ToastNotificationPriority , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification4 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn ExpiresOnReboot < > ( & self , ) -> :: windows :: Result < bool > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < bool as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < bool > ( result__ ) } } pub fn SetExpiresOnReboot < > ( & self , value : bool , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotification6 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } } pub fn IToastNotificationFactory < R , F : FnOnce ( & IToastNotificationFactory ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotification , IToastNotificationFactory > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } unsafe impl :: windows :: RuntimeType for ToastNotification { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotification;{997e2675-059e-4e60-8b06-1760917c8b80})" ) ; } unsafe impl :: windows :: Interface for ToastNotification { type Vtable = IToastNotification_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2575181429 ,1438 ,20064 , [ 139 ,6 ,23 ,96 ,145 ,124 ,139 ,128 ] , ) ; } impl :: windows :: RuntimeName for ToastNotification { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotification" ; } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IUnknown { fn from ( value : ToastNotification ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IUnknown { fn from ( value : & ToastNotification ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotification > for :: windows :: IInspectable { fn from ( value : ToastNotification ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotification > for :: windows :: IInspectable { fn from ( value : & ToastNotification ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotification { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotification { } unsafe impl :: std :: marker :: Sync for ToastNotification { } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationActionTriggerDetail ( :: windows :: IInspectable ) ; impl ToastNotificationActionTriggerDetail { pub fn Argument < > ( & self , ) -> :: windows :: Result < :: windows :: HSTRING > { let this = self ; unsafe { let mut result__ : < :: windows :: HSTRING as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < :: windows :: HSTRING > ( result__ ) } } pub fn UserInput < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: ValueSet > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: ValueSet as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: ValueSet > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationActionTriggerDetail { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationActionTriggerDetail;{9445135a-38f3-42f6-96aa-7955b0f03da2})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationActionTriggerDetail { type Vtable = IToastNotificationActionTriggerDetail_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2487554906 ,14579 ,17142 , [ 150 ,170 ,121 ,85 ,176 ,240 ,61 ,162 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationActionTriggerDetail { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationActionTriggerDetail" ; } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IUnknown { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : ToastNotificationActionTriggerDetail ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationActionTriggerDetail > for :: windows :: IInspectable { fn from ( value : & ToastNotificationActionTriggerDetail ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationActionTriggerDetail { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotificationHistory ( :: windows :: IInspectable ) ; impl ToastNotificationHistory { pub fn RemoveGroup < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupWithId < 'a , > ( & self , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTagWithId < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveGroupedTag < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Remove < 'a , > ( & self , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , tag . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Clear < > ( & self , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , ) . ok ( ) } } pub fn ClearWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .12 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetHistory < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } pub fn GetHistoryWithId < 'a , > ( & self , applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > { let this = & :: windows :: Interface :: cast :: < IToastNotificationHistory2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ToastNotification > > ( result__ ) } } } unsafe impl :: windows :: RuntimeType for ToastNotificationHistory { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationHistory;{5caddc63-01d3-4c97-986f-0533483fee14})" ) ; } unsafe impl :: windows :: Interface for ToastNotificationHistory { type Vtable = IToastNotificationHistory_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1554898019 ,467 ,19607 , [ 152 ,111 ,5 ,51 ,72 ,63 ,238 ,20 ] , ) ; } impl :: windows :: RuntimeName for ToastNotificationHistory { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationHistory" ; } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : ToastNotificationHistory ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IUnknown { fn from ( value : & ToastNotificationHistory ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : ToastNotificationHistory ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotificationHistory > for :: windows :: IInspectable { fn from ( value : & ToastNotificationHistory ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotificationHistory { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } pub struct ToastNotificationManager { } impl ToastNotificationManager { pub fn CreateToastNotifier < > ( ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn CreateToastNotifierWithId < 'a , > ( applicationid : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < ToastNotifier > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < ToastNotifier as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , applicationid . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotifier > ( result__ ) } ) } pub fn GetTemplateContent < > ( r#type : ToastTemplateType , ) -> :: windows :: Result < super::super::Data::Xml::Dom:: XmlDocument > { Self :: IToastNotificationManagerStatics ( | this | unsafe { let mut result__ : < super::super::Data::Xml::Dom:: XmlDocument as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , r#type , & mut result__ ) . from_abi :: < super::super::Data::Xml::Dom:: XmlDocument > ( result__ ) } ) } pub fn History < > ( ) -> :: windows :: Result < ToastNotificationHistory > { Self :: IToastNotificationManagerStatics2 ( | this | unsafe { let mut result__ : < ToastNotificationHistory as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationHistory > ( result__ ) } ) } pub fn GetForUser < 'a , > ( user : impl :: windows :: IntoParam < 'a , super::super::System:: User > , ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , user . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn ConfigureNotificationMirroring < > ( value : NotificationMirroring , ) -> :: windows :: Result < ( ) > { Self :: IToastNotificationManagerStatics4 ( | this | unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , value , ) . ok ( ) } ) } pub fn GetDefault < > ( ) -> :: windows :: Result < ToastNotificationManagerForUser > { Self :: IToastNotificationManagerStatics5 ( | this | unsafe { let mut result__ : < ToastNotificationManagerForUser as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < ToastNotificationManagerForUser > ( result__ ) } ) } pub fn IToastNotificationManagerStatics < R , F : FnOnce ( & IToastNotificationManagerStatics ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics2 < R , F : FnOnce ( & IToastNotificationManagerStatics2 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics2 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics4 < R , F : FnOnce ( & IToastNotificationManagerStatics4 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics4 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } pub fn IToastNotificationManagerStatics5 < R , F : FnOnce ( & IToastNotificationManagerStatics5 ) -> :: windows :: Result < R >> ( callback : F , ) -> :: windows :: Result < R > { static mut SHARED : :: windows :: FactoryCache < ToastNotificationManager , IToastNotificationManagerStatics5 > = :: windows :: FactoryCache :: new ( ) ; unsafe { SHARED . call ( callback ) } } } impl :: windows :: RuntimeName for ToastNotificationManager { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotificationManager" ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct ToastNotificationManagerForUser ( :: windows :: IInspectable ) ; unsafe impl :: windows :: Interface for ToastNotificationManagerForUser { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2041272310 ,17406 ,18555 , [ 138 ,127 ,153 ,86 ,114 ,0 ,174 ,148 ] , ) ; } unsafe impl :: windows :: RuntimeType for ToastNotificationManagerForUser { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotificationManagerForUser;{79ab57f6-43fe-487b-8a7f-99567200ae94})" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastNotificationPriority ( pub i32 ) ; impl ToastNotificationPriority { pub const Default : ToastNotificationPriority = ToastNotificationPriority ( 0i32 ) ; pub const High : ToastNotificationPriority = ToastNotificationPriority ( 1i32 ) ; } impl :: std :: convert :: From < i32 > for ToastNotificationPriority { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastNotificationPriority { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastNotificationPriority { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastNotificationPriority;i4)" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct ToastNotifier ( :: windows :: IInspectable ) ; impl ToastNotifier { pub fn Show < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Hide < 'a , > ( & self , notification : impl :: windows :: IntoParam < 'a , ToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , notification . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn Setting < > ( & self , ) -> :: windows :: Result < NotificationSetting > { let this = self ; unsafe { let mut result__ : < NotificationSetting as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .8 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < NotificationSetting > ( result__ ) } } pub fn AddToSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .9 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn RemoveFromSchedule < 'a , > ( & self , scheduledtoast : impl :: windows :: IntoParam < 'a , ScheduledToastNotification > , ) -> :: windows :: Result < ( ) > { let this = self ; unsafe { ( :: windows :: Interface :: vtable ( this ) .10 ) ( :: windows :: Abi :: abi ( this ) , scheduledtoast . into_param ( ) . abi ( ) , ) . ok ( ) } } pub fn GetScheduledToastNotifications < > ( & self , ) -> :: windows :: Result < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > { let this = self ; unsafe { let mut result__ : < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .11 ) ( :: windows :: Abi :: abi ( this ) , & mut result__ ) . from_abi :: < super::super::Foundation::Collections:: IVectorView :: < ScheduledToastNotification > > ( result__ ) } } pub fn UpdateWithTagAndGroup < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , group : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , group . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn UpdateWithTag < 'a , > ( & self , data : impl :: windows :: IntoParam < 'a , NotificationData > , tag : impl :: windows :: IntoParam < 'a , :: windows :: HSTRING > , ) -> :: windows :: Result < NotificationUpdateResult > { let this = & :: windows :: Interface :: cast :: < IToastNotifier2 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < NotificationUpdateResult as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , data . into_param ( ) . abi ( ) , tag . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < NotificationUpdateResult > ( result__ ) } } pub fn ScheduledToastNotificationShowing < 'a , > ( & self , handler : impl :: windows :: IntoParam < 'a , super::super::Foundation:: TypedEventHandler :: < ToastNotifier , ScheduledToastNotificationShowingEventArgs > > , ) -> :: windows :: Result < super::super::Foundation:: EventRegistrationToken > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { let mut result__ : < super::super::Foundation:: EventRegistrationToken as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( this ) .6 ) ( :: windows :: Abi :: abi ( this ) , handler . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < super::super::Foundation:: EventRegistrationToken > ( result__ ) } } pub fn RemoveScheduledToastNotificationShowing < 'a , > ( & self , token : impl :: windows :: IntoParam < 'a , super::super::Foundation:: EventRegistrationToken > , ) -> :: windows :: Result < ( ) > { let this = & :: windows :: Interface :: cast :: < IToastNotifier3 > ( self ) . unwrap ( ) ; unsafe { ( :: windows :: Interface :: vtable ( this ) .7 ) ( :: windows :: Abi :: abi ( this ) , token . into_param ( ) . abi ( ) , ) . ok ( ) } } } unsafe impl :: windows :: RuntimeType for ToastNotifier { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.UI.Notifications.ToastNotifier;{75927b93-03f3-41ec-91d3-6e5bac1b38e7})" ) ; } unsafe impl :: windows :: Interface for ToastNotifier { type Vtable = IToastNotifier_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 1972534163 ,1011 ,16876 , [ 145 ,211 ,110 ,91 ,172 ,27 ,56 ,231 ] , ) ; } impl :: windows :: RuntimeName for ToastNotifier { const NAME : & 'static str ="Windows.UI.Notifications.ToastNotifier" ; } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IUnknown { fn from ( value : ToastNotifier ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IUnknown { fn from ( value : & ToastNotifier ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl < > :: std :: convert :: From < ToastNotifier > for :: windows :: IInspectable { fn from ( value : ToastNotifier ) -> Self { value . 0 } } impl < > :: std :: convert :: From < & ToastNotifier > for :: windows :: IInspectable { fn from ( value : & ToastNotifier ) -> Self { value . 0 . clone ( ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Owned ( self . 0 ) } } impl < 'a , > :: windows :: IntoParam < 'a , :: windows :: IInspectable > for & 'a ToastNotifier { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IInspectable > { :: windows :: Param :: Borrowed ( & self . 0 ) } } unsafe impl :: std :: marker :: Send for ToastNotifier { } unsafe impl :: std :: marker :: Sync for ToastNotifier { } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct ToastTemplateType ( pub i32 ) ; impl ToastTemplateType { pub const ToastImageAndText01 : ToastTemplateType = ToastTemplateType ( 0i32 ) ; pub const ToastImageAndText02 : ToastTemplateType = ToastTemplateType ( 1i32 ) ; pub const ToastImageAndText03 : ToastTemplateType = ToastTemplateType ( 2i32 ) ; pub const ToastImageAndText04 : ToastTemplateType = ToastTemplateType ( 3i32 ) ; pub const ToastText01 : ToastTemplateType = ToastTemplateType ( 4i32 ) ; pub const ToastText02 : ToastTemplateType = ToastTemplateType ( 5i32 ) ; pub const ToastText03 : ToastTemplateType = ToastTemplateType ( 6i32 ) ; pub const ToastText04 : ToastTemplateType = ToastTemplateType ( 7i32 ) ; } impl :: std :: convert :: From < i32 > for ToastTemplateType { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for ToastTemplateType { type Abi = Self ; type DefaultType = Self ; } unsafe impl :: windows :: RuntimeType for ToastTemplateType { const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.UI.Notifications.ToastTemplateType;i4)" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Win32 { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Foundation { # [ repr ( transparent ) ] # [ derive ( :: std :: default :: Default , :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct BOOL ( pub i32 ) ; unsafe impl :: windows :: Abi for BOOL { type Abi = Self ; type DefaultType = Self ; } impl BOOL { # [ inline ] pub fn as_bool ( self ) -> bool { ! ( self . 0 == 0 ) } # [ inline ] pub fn ok ( self ) -> :: windows :: Result < ( ) > { if self . as_bool ( ) { Ok ( ( ) ) } else { Err ( :: windows :: HRESULT :: from_thread ( ) . into ( ) ) } } # [ inline ] # [ track_caller ] pub fn unwrap ( self ) { self . ok ( ) . unwrap ( ) ; } # [ inline ] # [ track_caller ] pub fn expect ( self , msg : & str ) { self . ok ( ) . expect ( msg ) ; } } impl :: std :: convert :: From < BOOL > for bool { fn from ( value : BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < & BOOL > for bool { fn from ( value : & BOOL ) -> Self { value . as_bool ( ) } } impl :: std :: convert :: From < bool > for BOOL { fn from ( value : bool ) -> Self { if value { BOOL ( 1 ) } else { BOOL ( 0 ) } } } impl :: std :: convert :: From < & bool > for BOOL { fn from ( value : & bool ) -> Self { ( * value ) . into ( ) } } impl :: std :: cmp :: PartialEq < bool > for BOOL { fn eq ( & self , other : & bool ) -> bool { self . as_bool ( ) == * other } } impl :: std :: cmp :: PartialEq < BOOL > for bool { fn eq ( & self , other : & BOOL ) -> bool { * self == other . as_bool ( ) } } impl std :: ops :: Not for BOOL { type Output = Self ; fn not ( self ) -> Self :: Output { if self . as_bool ( ) { BOOL ( 0 ) } else { BOOL ( 1 ) } } } impl < 'a > :: windows :: IntoParam < 'a , BOOL > for bool { fn into_param ( self ) -> :: windows :: Param < 'a , BOOL > { :: windows :: Param :: Owned ( self . into ( ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: Eq ) ] pub struct BSTR ( * mut u16 ) ; impl BSTR { # [ doc = r" Create an empty `BSTR`." ] # [ doc = r"" ] # [ doc = r" This function does not allocate memory." ] pub fn new ( ) -> Self { Self ( std :: ptr :: null_mut ( ) ) } # [ doc = r" Returns `true` if the string is empty." ] pub fn is_empty ( & self ) -> bool { self . 0 . is_null ( ) } # [ doc = r" Returns the length of the string." ] pub fn len ( & self ) -> usize { if self . is_empty ( ) { return 0 ; } unsafe { SysStringLen ( self ) as usize } } # [ doc = r" Create a `BSTR` from a slice of 16-bit characters." ] pub fn from_wide ( value : & [ u16 ] ) -> Self { if value . len ( ) == 0 { return Self ( :: std :: ptr :: null_mut ( ) ) ; } unsafe { SysAllocStringLen ( PWSTR ( value . as_ptr ( ) as _ ) , value . len ( ) as u32 , ) } } # [ doc = r" Get the string as 16-bit characters." ] pub fn as_wide ( & self ) -> & [ u16 ] { if self . 0 . is_null ( ) { return & [ ] ; } unsafe { :: std :: slice :: from_raw_parts ( self . 0 as * const u16 , self . len ( ) ) } } } impl :: std :: clone :: Clone for BSTR { fn clone ( & self ) -> Self { Self :: from_wide ( self . as_wide ( ) ) } } impl :: std :: convert :: From < & str > for BSTR { fn from ( value : & str ) -> Self { let value : :: std :: vec :: Vec < u16 > = value . encode_utf16 ( ) . collect ( ) ; Self :: from_wide ( & value ) } } impl :: std :: convert :: From < :: std :: string :: String > for BSTR { fn from ( value : :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl :: std :: convert :: From < & :: std :: string :: String > for BSTR { fn from ( value : & :: std :: string :: String ) -> Self { value . as_str ( ) . into ( ) } } impl < 'a > :: std :: convert :: TryFrom < & 'a BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : & BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: from_utf16 ( value . as_wide ( ) ) } } impl :: std :: convert :: TryFrom < BSTR > for :: std :: string :: String { type Error = :: std :: string :: FromUtf16Error ; fn try_from ( value : BSTR ) -> :: std :: result :: Result < Self , Self :: Error > { :: std :: string :: String :: try_from ( & value ) } } impl :: std :: default :: Default for BSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: fmt :: Display for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { use :: std :: fmt :: Write ; for c in :: std :: char :: decode_utf16 ( self . as_wide ( ) . iter ( ) . cloned ( ) ) { f . write_char ( c . map_err ( | _ | :: std :: fmt :: Error ) ? ) ? } Ok ( ( ) ) } } impl :: std :: fmt :: Debug for BSTR { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { :: std :: write ! ( f , "{}" , self ) } } impl :: std :: cmp :: PartialEq for BSTR { fn eq ( & self , other : & Self ) -> bool { self . as_wide ( ) == other . as_wide ( ) } } impl :: std :: cmp :: PartialEq < :: std :: string :: String > for BSTR { fn eq ( & self , other : & :: std :: string :: String ) -> bool { self == other . as_str ( ) } } impl :: std :: cmp :: PartialEq < str > for BSTR { fn eq ( & self , other : & str ) -> bool { self == other } } impl :: std :: cmp :: PartialEq < & str > for BSTR { fn eq ( & self , other : && str ) -> bool { self . as_wide ( ) . iter ( ) . copied ( ) . eq ( other . encode_utf16 ( ) ) } } impl :: std :: cmp :: PartialEq < BSTR > for & str { fn eq ( & self , other : & BSTR ) -> bool { other == self } } impl :: std :: ops :: Drop for BSTR { fn drop ( & mut self ) { if ! self . 0 . is_null ( ) { unsafe { SysFreeString ( self as & Self ) } } } } unsafe impl :: windows :: Abi for BSTR { type Abi = * mut u16 ; type DefaultType = Self ; fn set_abi ( & mut self ) -> * mut * mut u16 { debug_assert ! ( self . 0 . is_null ( ) ) ; & mut self . 0 as * mut _ as _ } } pub type BSTR_abi = * mut u16 ; pub unsafe fn CloseHandle < 'a , > ( hobject : impl :: windows :: IntoParam < 'a , HANDLE > , ) -> BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CloseHandle ( hobject : HANDLE ) -> BOOL ; } CloseHandle ( hobject . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct FILETIME { pub dwLowDateTime : u32 , pub dwHighDateTime : u32 } impl FILETIME { } impl :: std :: default :: Default for FILETIME { fn default ( ) -> Self { Self { dwLowDateTime : 0 , dwHighDateTime : 0 } } } impl :: std :: fmt :: Debug for FILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "FILETIME" ) . field ( "dwLowDateTime" , & self . dwLowDateTime ) . field ( "dwHighDateTime" , & self . dwHighDateTime ) . finish ( ) } } impl :: std :: cmp :: PartialEq for FILETIME { fn eq ( & self , other : & Self ) -> bool { self . dwLowDateTime == other . dwLowDateTime && self . dwHighDateTime == other . dwHighDateTime } } impl :: std :: cmp :: Eq for FILETIME { } unsafe impl :: windows :: Abi for FILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HANDLE ( pub isize ) ; impl HANDLE { } impl :: std :: default :: Default for HANDLE { fn default ( ) -> Self { Self ( 0 ) } } impl HANDLE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HANDLE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HANDLE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HANDLE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HANDLE { } unsafe impl :: windows :: Abi for HANDLE { type Abi = Self ; type DefaultType = Self ; } impl HANDLE { pub const INVALID : Self = Self ( - 1 ) ; pub fn is_invalid ( & self ) -> bool { self . 0 == - 1 } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HINSTANCE ( pub isize ) ; impl HINSTANCE { } impl :: std :: default :: Default for HINSTANCE { fn default ( ) -> Self { Self ( 0 ) } } impl HINSTANCE { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HINSTANCE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HINSTANCE" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HINSTANCE { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HINSTANCE { } unsafe impl :: windows :: Abi for HINSTANCE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct HWND ( pub isize ) ; impl HWND { } impl :: std :: default :: Default for HWND { fn default ( ) -> Self { Self ( 0 ) } } impl HWND { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for HWND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "HWND" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for HWND { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for HWND { } unsafe impl :: windows :: Abi for HWND { type Abi = Self ; type DefaultType = Self ; } pub const MAX_PATH : u32 = 260u32 ; # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PSTR ( pub * mut u8 ) ; impl PSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PSTR > { :: windows :: Param :: Boxed ( PSTR ( :: std :: boxed :: Box :: < [ u8 ] > :: into_raw ( self . bytes ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u8 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } # [ repr ( transparent ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy , :: std :: cmp :: Eq , :: std :: fmt :: Debug ) ] pub struct PWSTR ( pub * mut u16 ) ; impl PWSTR { pub const NULL : Self = Self ( :: std :: ptr :: null_mut ( ) ) ; pub fn is_null ( & self ) -> bool { self . 0 . is_null ( ) } } impl :: std :: default :: Default for PWSTR { fn default ( ) -> Self { Self ( :: std :: ptr :: null_mut ( ) ) } } impl :: std :: cmp :: PartialEq for PWSTR { fn eq ( & self , other : & Self ) -> bool { self . 0 == other . 0 } } unsafe impl :: windows :: Abi for PWSTR { type Abi = Self ; type DefaultType = Self ; fn drop_param ( param : & mut :: windows :: Param < '_ , Self > ) { if let :: windows :: Param :: Boxed ( value ) = param { if ! value . 0 . is_null ( ) { unsafe { let _ = :: std :: boxed :: Box :: from_raw ( value . 0 ) ; } } } } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for & 'a str { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } impl < 'a > :: windows :: IntoParam < 'a , PWSTR > for String { fn into_param ( self ) -> :: windows :: Param < 'a , PWSTR > { :: windows :: Param :: Boxed ( PWSTR ( :: std :: boxed :: Box :: < [ u16 ] > :: into_raw ( self . encode_utf16 ( ) . chain ( :: std :: iter :: once ( 0 ) ) . collect :: < std :: vec :: Vec < u16 >> ( ) . into_boxed_slice ( ) ) as _ ) ) } } pub unsafe fn SysAllocStringLen < 'a , > ( strin : impl :: windows :: IntoParam < 'a , PWSTR > , ui : u32 , ) -> BSTR { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysAllocStringLen ( strin : PWSTR , ui : u32 ) -> BSTR ; } SysAllocStringLen ( strin . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ui ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysFreeString < 'a , > ( bstrstring : impl :: windows :: IntoParam < 'a , BSTR > , ) { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysFreeString ( bstrstring : BSTR_abi ) ; } SysFreeString ( bstrstring . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn SysStringLen < 'a , > ( pbstr : impl :: windows :: IntoParam < 'a , BSTR > , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="OLEAUT32" ) ] extern "system" { fn SysStringLen ( pbstr : BSTR_abi ) -> u32 ; } SysStringLen ( pbstr . into_param ( ) . abi ( ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Security { pub unsafe fn AdjustTokenPrivileges < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , disableallprivileges : impl :: windows :: IntoParam < 'a , super::Foundation:: BOOL > , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn AdjustTokenPrivileges ( tokenhandle : super::Foundation:: HANDLE , disableallprivileges : super::Foundation:: BOOL , newstate : * mut TOKEN_PRIVILEGES , bufferlength : u32 , previousstate : * mut TOKEN_PRIVILEGES , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } AdjustTokenPrivileges ( tokenhandle . into_param ( ) . abi ( ) , disableallprivileges . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( newstate ) , :: std :: mem :: transmute ( bufferlength ) , :: std :: mem :: transmute ( previousstate ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn GetTokenInformation < 'a , > ( tokenhandle : impl :: windows :: IntoParam < 'a , super::Foundation:: HANDLE > , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn GetTokenInformation ( tokenhandle : super::Foundation:: HANDLE , tokeninformationclass : TOKEN_INFORMATION_CLASS , tokeninformation : * mut :: std :: ffi :: c_void , tokeninformationlength : u32 , returnlength : * mut u32 ) -> super::Foundation:: BOOL ; } GetTokenInformation ( tokenhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( tokeninformationclass ) , :: std :: mem :: transmute ( tokeninformation ) , :: std :: mem :: transmute ( tokeninformationlength ) , :: std :: mem :: transmute ( returnlength ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID_AND_ATTRIBUTES { pub Luid : super::System::SystemServices:: LUID , pub Attributes : TOKEN_PRIVILEGES_ATTRIBUTES } impl LUID_AND_ATTRIBUTES { } impl :: std :: default :: Default for LUID_AND_ATTRIBUTES { fn default ( ) -> Self { Self { Luid : :: std :: default :: Default :: default ( ) , Attributes : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for LUID_AND_ATTRIBUTES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID_AND_ATTRIBUTES" ) . field ( "Luid" , & self . Luid ) . field ( "Attributes" , & self . Attributes ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID_AND_ATTRIBUTES { fn eq ( & self , other : & Self ) -> bool { self . Luid == other . Luid && self . Attributes == other . Attributes } } impl :: std :: cmp :: Eq for LUID_AND_ATTRIBUTES { } unsafe impl :: windows :: Abi for LUID_AND_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn LookupPrivilegeValueW < 'a , > ( lpsystemname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpname : impl :: windows :: IntoParam < 'a , super::Foundation:: PWSTR > , lpluid : * mut super::System::SystemServices:: LUID , ) -> super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn LookupPrivilegeValueW ( lpsystemname : super::Foundation:: PWSTR , lpname : super::Foundation:: PWSTR , lpluid : * mut super::System::SystemServices:: LUID ) -> super::Foundation:: BOOL ; } LookupPrivilegeValueW ( lpsystemname . into_param ( ) . abi ( ) , lpname . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpluid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_ACCESS_MASK ( pub u32 ) ; pub const TOKEN_DELETE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 65536u32 ) ; pub const TOKEN_READ_CONTROL : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 131072u32 ) ; pub const TOKEN_WRITE_DAC : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 262144u32 ) ; pub const TOKEN_WRITE_OWNER : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 524288u32 ) ; pub const TOKEN_ACCESS_SYSTEM_SECURITY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16777216u32 ) ; pub const TOKEN_ASSIGN_PRIMARY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 1u32 ) ; pub const TOKEN_DUPLICATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 2u32 ) ; pub const TOKEN_IMPERSONATE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 4u32 ) ; pub const TOKEN_QUERY : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 8u32 ) ; pub const TOKEN_QUERY_SOURCE : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 16u32 ) ; pub const TOKEN_ADJUST_PRIVILEGES : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 32u32 ) ; pub const TOKEN_ADJUST_GROUPS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 64u32 ) ; pub const TOKEN_ADJUST_DEFAULT : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 128u32 ) ; pub const TOKEN_ADJUST_SESSIONID : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 256u32 ) ; pub const TOKEN_ALL_ACCESS : TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK ( 983295u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_ACCESS_MASK { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_ACCESS_MASK { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_ACCESS_MASK { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_ACCESS_MASK { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_ACCESS_MASK { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_ACCESS_MASK { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_ELEVATION { pub TokenIsElevated : u32 } impl TOKEN_ELEVATION { } impl :: std :: default :: Default for TOKEN_ELEVATION { fn default ( ) -> Self { Self { TokenIsElevated : 0 } } } impl :: std :: fmt :: Debug for TOKEN_ELEVATION { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_ELEVATION" ) . field ( "TokenIsElevated" , & self . TokenIsElevated ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_ELEVATION { fn eq ( & self , other : & Self ) -> bool { self . TokenIsElevated == other . TokenIsElevated } } impl :: std :: cmp :: Eq for TOKEN_ELEVATION { } unsafe impl :: windows :: Abi for TOKEN_ELEVATION { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_INFORMATION_CLASS ( pub i32 ) ; pub const TokenUser : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 1i32 ) ; pub const TokenGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 2i32 ) ; pub const TokenPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 3i32 ) ; pub const TokenOwner : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 4i32 ) ; pub const TokenPrimaryGroup : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 5i32 ) ; pub const TokenDefaultDacl : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 6i32 ) ; pub const TokenSource : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 7i32 ) ; pub const TokenType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 8i32 ) ; pub const TokenImpersonationLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 9i32 ) ; pub const TokenStatistics : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 10i32 ) ; pub const TokenRestrictedSids : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 11i32 ) ; pub const TokenSessionId : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 12i32 ) ; pub const TokenGroupsAndPrivileges : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 13i32 ) ; pub const TokenSessionReference : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 14i32 ) ; pub const TokenSandBoxInert : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 15i32 ) ; pub const TokenAuditPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 16i32 ) ; pub const TokenOrigin : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 17i32 ) ; pub const TokenElevationType : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 18i32 ) ; pub const TokenLinkedToken : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 19i32 ) ; pub const TokenElevation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 20i32 ) ; pub const TokenHasRestrictions : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 21i32 ) ; pub const TokenAccessInformation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 22i32 ) ; pub const TokenVirtualizationAllowed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 23i32 ) ; pub const TokenVirtualizationEnabled : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 24i32 ) ; pub const TokenIntegrityLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 25i32 ) ; pub const TokenUIAccess : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 26i32 ) ; pub const TokenMandatoryPolicy : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 27i32 ) ; pub const TokenLogonSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 28i32 ) ; pub const TokenIsAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 29i32 ) ; pub const TokenCapabilities : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 30i32 ) ; pub const TokenAppContainerSid : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 31i32 ) ; pub const TokenAppContainerNumber : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 32i32 ) ; pub const TokenUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 33i32 ) ; pub const TokenDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 34i32 ) ; pub const TokenRestrictedUserClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 35i32 ) ; pub const TokenRestrictedDeviceClaimAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 36i32 ) ; pub const TokenDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 37i32 ) ; pub const TokenRestrictedDeviceGroups : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 38i32 ) ; pub const TokenSecurityAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 39i32 ) ; pub const TokenIsRestricted : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 40i32 ) ; pub const TokenProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 41i32 ) ; pub const TokenPrivateNameSpace : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 42i32 ) ; pub const TokenSingletonAttributes : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 43i32 ) ; pub const TokenBnoIsolation : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 44i32 ) ; pub const TokenChildProcessFlags : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 45i32 ) ; pub const TokenIsLessPrivilegedAppContainer : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 46i32 ) ; pub const TokenIsSandboxed : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 47i32 ) ; pub const TokenOriginatingProcessTrustLevel : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 48i32 ) ; pub const MaxTokenInfoClass : TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS ( 49i32 ) ; impl :: std :: convert :: From < i32 > for TOKEN_INFORMATION_CLASS { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_INFORMATION_CLASS { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct TOKEN_PRIVILEGES { pub PrivilegeCount : u32 , pub Privileges : [ LUID_AND_ATTRIBUTES ;1 ] } impl TOKEN_PRIVILEGES { } impl :: std :: default :: Default for TOKEN_PRIVILEGES { fn default ( ) -> Self { Self { PrivilegeCount : 0 , Privileges : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for TOKEN_PRIVILEGES { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "TOKEN_PRIVILEGES" ) . field ( "PrivilegeCount" , & self . PrivilegeCount ) . field ( "Privileges" , & self . Privileges ) . finish ( ) } } impl :: std :: cmp :: PartialEq for TOKEN_PRIVILEGES { fn eq ( & self , other : & Self ) -> bool { self . PrivilegeCount == other . PrivilegeCount && self . Privileges == other . Privileges } } impl :: std :: cmp :: Eq for TOKEN_PRIVILEGES { } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct TOKEN_PRIVILEGES_ATTRIBUTES ( pub u32 ) ; pub const SE_PRIVILEGE_ENABLED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2u32 ) ; pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 1u32 ) ; pub const SE_PRIVILEGE_REMOVED : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 4u32 ) ; pub const SE_PRIVILEGE_USED_FOR_ACCESS : TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES ( 2147483648u32 ) ; impl :: std :: convert :: From < u32 > for TOKEN_PRIVILEGES_ATTRIBUTES { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for TOKEN_PRIVILEGES_ATTRIBUTES { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for TOKEN_PRIVILEGES_ATTRIBUTES { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for TOKEN_PRIVILEGES_ATTRIBUTES { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Storage { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod FileSystem { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct WIN32_FIND_DATAW { pub dwFileAttributes : u32 , pub ftCreationTime : super::super::Foundation:: FILETIME , pub ftLastAccessTime : super::super::Foundation:: FILETIME , pub ftLastWriteTime : super::super::Foundation:: FILETIME , pub nFileSizeHigh : u32 , pub nFileSizeLow : u32 , pub dwReserved0 : u32 , pub dwReserved1 : u32 , pub cFileName : [ u16 ;260 ] , pub cAlternateFileName : [ u16 ;14 ] } impl WIN32_FIND_DATAW { } impl :: std :: default :: Default for WIN32_FIND_DATAW { fn default ( ) -> Self { Self { dwFileAttributes : 0 , ftCreationTime : :: std :: default :: Default :: default ( ) , ftLastAccessTime : :: std :: default :: Default :: default ( ) , ftLastWriteTime : :: std :: default :: Default :: default ( ) , nFileSizeHigh : 0 , nFileSizeLow : 0 , dwReserved0 : 0 , dwReserved1 : 0 , cFileName : [ 0 ;260 ] , cAlternateFileName : [ 0 ;14 ] } } } impl :: std :: fmt :: Debug for WIN32_FIND_DATAW { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "WIN32_FIND_DATAW" ) . field ( "dwFileAttributes" , & self . dwFileAttributes ) . field ( "ftCreationTime" , & self . ftCreationTime ) . field ( "ftLastAccessTime" , & self . ftLastAccessTime ) . field ( "ftLastWriteTime" , & self . ftLastWriteTime ) . field ( "nFileSizeHigh" , & self . nFileSizeHigh ) . field ( "nFileSizeLow" , & self . nFileSizeLow ) . field ( "dwReserved0" , & self . dwReserved0 ) . field ( "dwReserved1" , & self . dwReserved1 ) . field ( "cFileName" , & self . cFileName ) . field ( "cAlternateFileName" , & self . cAlternateFileName ) . finish ( ) } } impl :: std :: cmp :: PartialEq for WIN32_FIND_DATAW { fn eq ( & self , other : & Self ) -> bool { self . dwFileAttributes == other . dwFileAttributes && self . ftCreationTime == other . ftCreationTime && self . ftLastAccessTime == other . ftLastAccessTime && self . ftLastWriteTime == other . ftLastWriteTime && self . nFileSizeHigh == other . nFileSizeHigh && self . nFileSizeLow == other . nFileSizeLow && self . dwReserved0 == other . dwReserved0 && self . dwReserved1 == other . dwReserved1 && self . cFileName == other . cFileName && self . cAlternateFileName == other . cAlternateFileName } } impl :: std :: cmp :: Eq for WIN32_FIND_DATAW { } unsafe impl :: windows :: Abi for WIN32_FIND_DATAW { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod StructuredStorage { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABOOL { pub cElems : u32 , pub pElems : * mut i16 } impl CABOOL { } impl :: std :: default :: Default for CABOOL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABOOL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABOOL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABOOL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABOOL { } unsafe impl :: windows :: Abi for CABOOL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: BSTR } impl CABSTR { } impl :: std :: default :: Default for CABSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTR { } unsafe impl :: windows :: Abi for CABSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CABSTRBLOB { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: BSTRBLOB } impl CABSTRBLOB { } impl :: std :: default :: Default for CABSTRBLOB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CABSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CABSTRBLOB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CABSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CABSTRBLOB { } unsafe impl :: windows :: Abi for CABSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAC { pub cElems : u32 , pub pElems : super::super::Foundation:: PSTR } impl CAC { } impl :: std :: default :: Default for CAC { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for CAC { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAC" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAC { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAC { } unsafe impl :: windows :: Abi for CAC { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLIPDATA { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CLIPDATA } impl CACLIPDATA { } impl :: std :: default :: Default for CACLIPDATA { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLIPDATA" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLIPDATA { } unsafe impl :: windows :: Abi for CACLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACLSID { pub cElems : u32 , pub pElems : * mut :: windows :: Guid } impl CACLSID { } impl :: std :: default :: Default for CACLSID { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACLSID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACLSID" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACLSID { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACLSID { } unsafe impl :: windows :: Abi for CACLSID { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CACY { pub cElems : u32 , pub pElems : * mut super::super::System::SystemServices:: CY } impl CACY { } impl :: std :: default :: Default for CACY { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CACY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CACY" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CACY { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CACY { } unsafe impl :: windows :: Abi for CACY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADATE { pub cElems : u32 , pub pElems : * mut f64 } impl CADATE { } impl :: std :: default :: Default for CADATE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADATE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADATE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADATE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADATE { } unsafe impl :: windows :: Abi for CADATE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CADBL { pub cElems : u32 , pub pElems : * mut f64 } impl CADBL { } impl :: std :: default :: Default for CADBL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CADBL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CADBL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CADBL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CADBL { } unsafe impl :: windows :: Abi for CADBL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFILETIME { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: FILETIME } impl CAFILETIME { } impl :: std :: default :: Default for CAFILETIME { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFILETIME { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFILETIME" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFILETIME { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFILETIME { } unsafe impl :: windows :: Abi for CAFILETIME { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAFLT { pub cElems : u32 , pub pElems : * mut f32 } impl CAFLT { } impl :: std :: default :: Default for CAFLT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAFLT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAFLT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAFLT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAFLT { } unsafe impl :: windows :: Abi for CAFLT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAH { pub cElems : u32 , pub pElems : * mut i64 } impl CAH { } impl :: std :: default :: Default for CAH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAH { } unsafe impl :: windows :: Abi for CAH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAI { pub cElems : u32 , pub pElems : * mut i16 } impl CAI { } impl :: std :: default :: Default for CAI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAI { } unsafe impl :: windows :: Abi for CAI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAL { pub cElems : u32 , pub pElems : * mut i32 } impl CAL { } impl :: std :: default :: Default for CAL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAL { } unsafe impl :: windows :: Abi for CAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PSTR } impl CALPSTR { } impl :: std :: default :: Default for CALPSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPSTR { } unsafe impl :: windows :: Abi for CALPSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CALPWSTR { pub cElems : u32 , pub pElems : * mut super::super::Foundation:: PWSTR } impl CALPWSTR { } impl :: std :: default :: Default for CALPWSTR { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CALPWSTR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CALPWSTR" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CALPWSTR { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CALPWSTR { } unsafe impl :: windows :: Abi for CALPWSTR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAPROPVARIANT { pub cElems : u32 , pub pElems : * mut PROPVARIANT } impl CAPROPVARIANT { } impl :: std :: default :: Default for CAPROPVARIANT { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAPROPVARIANT { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAPROPVARIANT" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAPROPVARIANT { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAPROPVARIANT { } unsafe impl :: windows :: Abi for CAPROPVARIANT { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CASCODE { pub cElems : u32 , pub pElems : * mut i32 } impl CASCODE { } impl :: std :: default :: Default for CASCODE { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CASCODE { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CASCODE" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CASCODE { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CASCODE { } unsafe impl :: windows :: Abi for CASCODE { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUB { pub cElems : u32 , pub pElems : * mut u8 } impl CAUB { } impl :: std :: default :: Default for CAUB { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUB" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUB { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUB { } unsafe impl :: windows :: Abi for CAUB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUH { pub cElems : u32 , pub pElems : * mut u64 } impl CAUH { } impl :: std :: default :: Default for CAUH { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUH { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUH" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUH { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUH { } unsafe impl :: windows :: Abi for CAUH { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUI { pub cElems : u32 , pub pElems : * mut u16 } impl CAUI { } impl :: std :: default :: Default for CAUI { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUI { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUI" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUI { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUI { } unsafe impl :: windows :: Abi for CAUI { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CAUL { pub cElems : u32 , pub pElems : * mut u32 } impl CAUL { } impl :: std :: default :: Default for CAUL { fn default ( ) -> Self { Self { cElems : 0 , pElems : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CAUL { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CAUL" ) . field ( "cElems" , & self . cElems ) . field ( "pElems" , & self . pElems ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CAUL { fn eq ( & self , other : & Self ) -> bool { self . cElems == other . cElems && self . pElems == other . pElems } } impl :: std :: cmp :: Eq for CAUL { } unsafe impl :: windows :: Abi for CAUL { type Abi = Self ; type DefaultType = Self ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStorage ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStorage { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 11 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IStream ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IStream { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 12 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: clone :: Clone for PROPVARIANT { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT { pub Anonymous : PROPVARIANT_0 } impl PROPVARIANT { } impl :: std :: cmp :: PartialEq for PROPVARIANT { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_abi { pub Anonymous : PROPVARIANT_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT { type Abi = PROPVARIANT_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0 { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } impl PROPVARIANT_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_abi { pub Anonymous : PROPVARIANT_0_0_abi , pub decVal : super::super::System::SystemServices:: DECIMAL } unsafe impl :: windows :: Abi for PROPVARIANT_0 { type Abi = PROPVARIANT_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub struct PROPVARIANT_0_0 { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0 } impl PROPVARIANT_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct PROPVARIANT_0_0_abi { pub vt : u16 , pub wReserved1 : u16 , pub wReserved2 : u16 , pub wReserved3 : u16 , pub Anonymous : PROPVARIANT_0_0_0_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0 { type Abi = PROPVARIANT_0_0_abi ; type DefaultType = Self ; } impl :: std :: clone :: Clone for PROPVARIANT_0_0_0 { fn clone ( & self ) -> Self { unimplemented ! ( ) } } # [ repr ( C ) ] pub union PROPVARIANT_0_0_0 { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } impl PROPVARIANT_0_0_0 { } impl :: std :: cmp :: PartialEq for PROPVARIANT_0_0_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for PROPVARIANT_0_0_0 { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub union PROPVARIANT_0_0_0_abi { pub cVal : super::super::System::SystemServices:: CHAR , pub bVal : u8 , pub iVal : i16 , pub uiVal : u16 , pub lVal : i32 , pub ulVal : u32 , pub intVal : i32 , pub uintVal : u32 , pub hVal : i64 , pub uhVal : u64 , pub fltVal : f32 , pub dblVal : f64 , pub boolVal : i16 , pub __OBSOLETE__VARIANT_BOOL : i16 , pub scode : i32 , pub cyVal : super::super::System::SystemServices:: CY , pub date : f64 , pub filetime : super::super::Foundation:: FILETIME , pub puuid : * mut :: windows :: Guid , pub pclipdata : * mut super::super::System::SystemServices:: CLIPDATA , pub bstrVal : super::super::Foundation:: BSTR_abi , pub bstrblobVal : super::super::System::SystemServices:: BSTRBLOB , pub blob : super::super::System::Com:: BLOB , pub pszVal : super::super::Foundation:: PSTR , pub pwszVal : super::super::Foundation:: PWSTR , pub punkVal : :: windows :: RawPtr , pub pdispVal : :: windows :: RawPtr , pub pStream : :: windows :: RawPtr , pub pStorage : :: windows :: RawPtr , pub pVersionedStream : * mut VERSIONEDSTREAM_abi , pub parray : * mut super::super::System::OleAutomation:: SAFEARRAY , pub cac : CAC , pub caub : CAUB , pub cai : CAI , pub caui : CAUI , pub cal : CAL , pub caul : CAUL , pub cah : CAH , pub cauh : CAUH , pub caflt : CAFLT , pub cadbl : CADBL , pub cabool : CABOOL , pub cascode : CASCODE , pub cacy : CACY , pub cadate : CADATE , pub cafiletime : CAFILETIME , pub cauuid : CACLSID , pub caclipdata : CACLIPDATA , pub cabstr : CABSTR , pub cabstrblob : CABSTRBLOB , pub calpstr : CALPSTR , pub calpwstr : CALPWSTR , pub capropvar : CAPROPVARIANT , pub pcVal : super::super::Foundation:: PSTR , pub pbVal : * mut u8 , pub piVal : * mut i16 , pub puiVal : * mut u16 , pub plVal : * mut i32 , pub pulVal : * mut u32 , pub pintVal : * mut i32 , pub puintVal : * mut u32 , pub pfltVal : * mut f32 , pub pdblVal : * mut f64 , pub pboolVal : * mut i16 , pub pdecVal : * mut super::super::System::SystemServices:: DECIMAL , pub pscode : * mut i32 , pub pcyVal : * mut super::super::System::SystemServices:: CY , pub pdate : * mut f64 , pub pbstrVal : * mut super::super::Foundation:: BSTR_abi , pub ppunkVal : * mut :: windows :: RawPtr , pub ppdispVal : * mut :: windows :: RawPtr , pub pparray : * mut * mut super::super::System::OleAutomation:: SAFEARRAY , pub pvarVal : * mut PROPVARIANT_abi } unsafe impl :: windows :: Abi for PROPVARIANT_0_0_0 { type Abi = PROPVARIANT_0_0_0_abi ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone ) ] # [ repr ( C ) ] pub struct VERSIONEDSTREAM { pub guidVersion : :: windows :: Guid , pub pStream : :: std :: option :: Option < IStream > } impl VERSIONEDSTREAM { } impl :: std :: default :: Default for VERSIONEDSTREAM { fn default ( ) -> Self { Self { guidVersion : :: std :: default :: Default :: default ( ) , pStream : :: std :: default :: Default :: default ( ) } } } impl :: std :: fmt :: Debug for VERSIONEDSTREAM { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "VERSIONEDSTREAM" ) . field ( "guidVersion" , & self . guidVersion ) . field ( "pStream" , & self . pStream ) . finish ( ) } } impl :: std :: cmp :: PartialEq for VERSIONEDSTREAM { fn eq ( & self , other : & Self ) -> bool { self . guidVersion == other . guidVersion && self . pStream == other . pStream } } impl :: std :: cmp :: Eq for VERSIONEDSTREAM { } # [ repr ( C ) ] # [ doc ( hidden ) ] # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] pub struct VERSIONEDSTREAM_abi { pub guidVersion : :: windows :: Guid , pub pStream : :: windows :: RawPtr } unsafe impl :: windows :: Abi for VERSIONEDSTREAM { type Abi = VERSIONEDSTREAM_abi ; type DefaultType = Self ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod System { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Com { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BLOB { pub cbSize : u32 , pub pBlobData : * mut u8 } impl BLOB { } impl :: std :: default :: Default for BLOB { fn default ( ) -> Self { Self { cbSize : 0 , pBlobData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pBlobData" , & self . pBlobData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pBlobData == other . pBlobData } } impl :: std :: cmp :: Eq for BLOB { } unsafe impl :: windows :: Abi for BLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CLSCTX ( pub u32 ) ; pub const CLSCTX_INPROC_SERVER : CLSCTX = CLSCTX ( 1u32 ) ; pub const CLSCTX_INPROC_HANDLER : CLSCTX = CLSCTX ( 2u32 ) ; pub const CLSCTX_LOCAL_SERVER : CLSCTX = CLSCTX ( 4u32 ) ; pub const CLSCTX_INPROC_SERVER16 : CLSCTX = CLSCTX ( 8u32 ) ; pub const CLSCTX_REMOTE_SERVER : CLSCTX = CLSCTX ( 16u32 ) ; pub const CLSCTX_INPROC_HANDLER16 : CLSCTX = CLSCTX ( 32u32 ) ; pub const CLSCTX_RESERVED1 : CLSCTX = CLSCTX ( 64u32 ) ; pub const CLSCTX_RESERVED2 : CLSCTX = CLSCTX ( 128u32 ) ; pub const CLSCTX_RESERVED3 : CLSCTX = CLSCTX ( 256u32 ) ; pub const CLSCTX_RESERVED4 : CLSCTX = CLSCTX ( 512u32 ) ; pub const CLSCTX_NO_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 1024u32 ) ; pub const CLSCTX_RESERVED5 : CLSCTX = CLSCTX ( 2048u32 ) ; pub const CLSCTX_NO_CUSTOM_MARSHAL : CLSCTX = CLSCTX ( 4096u32 ) ; pub const CLSCTX_ENABLE_CODE_DOWNLOAD : CLSCTX = CLSCTX ( 8192u32 ) ; pub const CLSCTX_NO_FAILURE_LOG : CLSCTX = CLSCTX ( 16384u32 ) ; pub const CLSCTX_DISABLE_AAA : CLSCTX = CLSCTX ( 32768u32 ) ; pub const CLSCTX_ENABLE_AAA : CLSCTX = CLSCTX ( 65536u32 ) ; pub const CLSCTX_FROM_DEFAULT_CONTEXT : CLSCTX = CLSCTX ( 131072u32 ) ; pub const CLSCTX_ACTIVATE_X86_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_32_BIT_SERVER : CLSCTX = CLSCTX ( 262144u32 ) ; pub const CLSCTX_ACTIVATE_64_BIT_SERVER : CLSCTX = CLSCTX ( 524288u32 ) ; pub const CLSCTX_ENABLE_CLOAKING : CLSCTX = CLSCTX ( 1048576u32 ) ; pub const CLSCTX_APPCONTAINER : CLSCTX = CLSCTX ( 4194304u32 ) ; pub const CLSCTX_ACTIVATE_AAA_AS_IU : CLSCTX = CLSCTX ( 8388608u32 ) ; pub const CLSCTX_RESERVED6 : CLSCTX = CLSCTX ( 16777216u32 ) ; pub const CLSCTX_ACTIVATE_ARM32_SERVER : CLSCTX = CLSCTX ( 33554432u32 ) ; pub const CLSCTX_PS_DLL : CLSCTX = CLSCTX ( 2147483648u32 ) ; pub const CLSCTX_ALL : CLSCTX = CLSCTX ( 23u32 ) ; pub const CLSCTX_SERVER : CLSCTX = CLSCTX ( 21u32 ) ; impl :: std :: convert :: From < u32 > for CLSCTX { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CLSCTX { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CLSCTX { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CLSCTX { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CLSCTX { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CLSCTX { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CoCreateInstance < 'a , T : :: windows :: Interface > ( rclsid : * const :: windows :: Guid , punkouter : impl :: windows :: IntoParam < 'a , :: windows :: IUnknown > , dwclscontext : CLSCTX , ) -> :: windows :: Result < T > { # [ cfg ( windows ) ] { # [ link ( name ="OLE32" ) ] extern "system" { fn CoCreateInstance ( rclsid : * const :: windows :: Guid , punkouter : :: windows :: RawPtr , dwclscontext : CLSCTX , riid : * const :: windows :: Guid , ppv : * mut * mut :: std :: ffi :: c_void ) -> :: windows :: HRESULT ; } let mut result__ = :: std :: option :: Option :: None ; CoCreateInstance ( :: std :: mem :: transmute ( rclsid ) , punkouter . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwclscontext ) , & < T as :: windows :: Interface > :: IID , :: windows :: Abi :: set_abi ( & mut result__ ) ) . and_some ( result__ ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersist ( :: windows :: IUnknown ) ; impl IPersist { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } } unsafe impl :: windows :: Interface for IPersist { type Vtable = IPersist_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 268 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersist > for :: windows :: IUnknown { fn from ( value : IPersist ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersist > for :: windows :: IUnknown { fn from ( value : & IPersist ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersist { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersist_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , ) ; # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPersistFile ( :: windows :: IUnknown ) ; impl IPersistFile { pub unsafe fn GetClassID < > ( & self , ) -> :: windows :: Result < :: windows :: Guid > { let mut result__ : < :: windows :: Guid as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < :: windows :: Guid > ( result__ ) } pub unsafe fn IsDirty < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } pub unsafe fn Load < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwmode : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwmode ) , ) . ok ( ) } pub unsafe fn Save < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , fremember : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , fremember . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn SaveCompleted < 'a , > ( & self , pszfilename : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszfilename . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetCurFile < > ( & self , ) -> :: windows :: Result < super::super::Foundation:: PWSTR > { let mut result__ : < super::super::Foundation:: PWSTR as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < super::super::Foundation:: PWSTR > ( result__ ) } } unsafe impl :: windows :: Interface for IPersistFile { type Vtable = IPersistFile_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 267 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IPersistFile > for :: windows :: IUnknown { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for :: windows :: IUnknown { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } impl :: std :: convert :: From < IPersistFile > for IPersist { fn from ( value : IPersistFile ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPersistFile > for IPersist { fn from ( value : & IPersistFile ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , IPersist > for & 'a IPersistFile { fn into_param ( self ) -> :: windows :: Param < 'a , IPersist > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < IPersist > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPersistFile_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pclassid : * mut :: windows :: Guid , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , dwmode : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , fremember : super::super::Foundation:: BOOL , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfilename : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppszfilename : * mut super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Diagnostics { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Debug { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct FACILITY_CODE ( pub u32 ) ; pub const FACILITY_NULL : FACILITY_CODE = FACILITY_CODE ( 0u32 ) ; pub const FACILITY_RPC : FACILITY_CODE = FACILITY_CODE ( 1u32 ) ; pub const FACILITY_DISPATCH : FACILITY_CODE = FACILITY_CODE ( 2u32 ) ; pub const FACILITY_STORAGE : FACILITY_CODE = FACILITY_CODE ( 3u32 ) ; pub const FACILITY_ITF : FACILITY_CODE = FACILITY_CODE ( 4u32 ) ; pub const FACILITY_WIN32 : FACILITY_CODE = FACILITY_CODE ( 7u32 ) ; pub const FACILITY_WINDOWS : FACILITY_CODE = FACILITY_CODE ( 8u32 ) ; pub const FACILITY_SSPI : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_SECURITY : FACILITY_CODE = FACILITY_CODE ( 9u32 ) ; pub const FACILITY_CONTROL : FACILITY_CODE = FACILITY_CODE ( 10u32 ) ; pub const FACILITY_CERT : FACILITY_CODE = FACILITY_CODE ( 11u32 ) ; pub const FACILITY_INTERNET : FACILITY_CODE = FACILITY_CODE ( 12u32 ) ; pub const FACILITY_MEDIASERVER : FACILITY_CODE = FACILITY_CODE ( 13u32 ) ; pub const FACILITY_MSMQ : FACILITY_CODE = FACILITY_CODE ( 14u32 ) ; pub const FACILITY_SETUPAPI : FACILITY_CODE = FACILITY_CODE ( 15u32 ) ; pub const FACILITY_SCARD : FACILITY_CODE = FACILITY_CODE ( 16u32 ) ; pub const FACILITY_COMPLUS : FACILITY_CODE = FACILITY_CODE ( 17u32 ) ; pub const FACILITY_AAF : FACILITY_CODE = FACILITY_CODE ( 18u32 ) ; pub const FACILITY_URT : FACILITY_CODE = FACILITY_CODE ( 19u32 ) ; pub const FACILITY_ACS : FACILITY_CODE = FACILITY_CODE ( 20u32 ) ; pub const FACILITY_DPLAY : FACILITY_CODE = FACILITY_CODE ( 21u32 ) ; pub const FACILITY_UMI : FACILITY_CODE = FACILITY_CODE ( 22u32 ) ; pub const FACILITY_SXS : FACILITY_CODE = FACILITY_CODE ( 23u32 ) ; pub const FACILITY_WINDOWS_CE : FACILITY_CODE = FACILITY_CODE ( 24u32 ) ; pub const FACILITY_HTTP : FACILITY_CODE = FACILITY_CODE ( 25u32 ) ; pub const FACILITY_USERMODE_COMMONLOG : FACILITY_CODE = FACILITY_CODE ( 26u32 ) ; pub const FACILITY_WER : FACILITY_CODE = FACILITY_CODE ( 27u32 ) ; pub const FACILITY_USERMODE_FILTER_MANAGER : FACILITY_CODE = FACILITY_CODE ( 31u32 ) ; pub const FACILITY_BACKGROUNDCOPY : FACILITY_CODE = FACILITY_CODE ( 32u32 ) ; pub const FACILITY_CONFIGURATION : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_WIA : FACILITY_CODE = FACILITY_CODE ( 33u32 ) ; pub const FACILITY_STATE_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 34u32 ) ; pub const FACILITY_METADIRECTORY : FACILITY_CODE = FACILITY_CODE ( 35u32 ) ; pub const FACILITY_WINDOWSUPDATE : FACILITY_CODE = FACILITY_CODE ( 36u32 ) ; pub const FACILITY_DIRECTORYSERVICE : FACILITY_CODE = FACILITY_CODE ( 37u32 ) ; pub const FACILITY_GRAPHICS : FACILITY_CODE = FACILITY_CODE ( 38u32 ) ; pub const FACILITY_SHELL : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_NAP : FACILITY_CODE = FACILITY_CODE ( 39u32 ) ; pub const FACILITY_TPM_SERVICES : FACILITY_CODE = FACILITY_CODE ( 40u32 ) ; pub const FACILITY_TPM_SOFTWARE : FACILITY_CODE = FACILITY_CODE ( 41u32 ) ; pub const FACILITY_UI : FACILITY_CODE = FACILITY_CODE ( 42u32 ) ; pub const FACILITY_XAML : FACILITY_CODE = FACILITY_CODE ( 43u32 ) ; pub const FACILITY_ACTION_QUEUE : FACILITY_CODE = FACILITY_CODE ( 44u32 ) ; pub const FACILITY_PLA : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_WINDOWS_SETUP : FACILITY_CODE = FACILITY_CODE ( 48u32 ) ; pub const FACILITY_FVE : FACILITY_CODE = FACILITY_CODE ( 49u32 ) ; pub const FACILITY_FWP : FACILITY_CODE = FACILITY_CODE ( 50u32 ) ; pub const FACILITY_WINRM : FACILITY_CODE = FACILITY_CODE ( 51u32 ) ; pub const FACILITY_NDIS : FACILITY_CODE = FACILITY_CODE ( 52u32 ) ; pub const FACILITY_USERMODE_HYPERVISOR : FACILITY_CODE = FACILITY_CODE ( 53u32 ) ; pub const FACILITY_CMI : FACILITY_CODE = FACILITY_CODE ( 54u32 ) ; pub const FACILITY_USERMODE_VIRTUALIZATION : FACILITY_CODE = FACILITY_CODE ( 55u32 ) ; pub const FACILITY_USERMODE_VOLMGR : FACILITY_CODE = FACILITY_CODE ( 56u32 ) ; pub const FACILITY_BCD : FACILITY_CODE = FACILITY_CODE ( 57u32 ) ; pub const FACILITY_USERMODE_VHD : FACILITY_CODE = FACILITY_CODE ( 58u32 ) ; pub const FACILITY_USERMODE_HNS : FACILITY_CODE = FACILITY_CODE ( 59u32 ) ; pub const FACILITY_SDIAG : FACILITY_CODE = FACILITY_CODE ( 60u32 ) ; pub const FACILITY_WEBSERVICES : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WINPE : FACILITY_CODE = FACILITY_CODE ( 61u32 ) ; pub const FACILITY_WPN : FACILITY_CODE = FACILITY_CODE ( 62u32 ) ; pub const FACILITY_WINDOWS_STORE : FACILITY_CODE = FACILITY_CODE ( 63u32 ) ; pub const FACILITY_INPUT : FACILITY_CODE = FACILITY_CODE ( 64u32 ) ; pub const FACILITY_QUIC : FACILITY_CODE = FACILITY_CODE ( 65u32 ) ; pub const FACILITY_EAP : FACILITY_CODE = FACILITY_CODE ( 66u32 ) ; pub const FACILITY_WINDOWS_DEFENDER : FACILITY_CODE = FACILITY_CODE ( 80u32 ) ; pub const FACILITY_OPC : FACILITY_CODE = FACILITY_CODE ( 81u32 ) ; pub const FACILITY_XPS : FACILITY_CODE = FACILITY_CODE ( 82u32 ) ; pub const FACILITY_MBN : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_POWERSHELL : FACILITY_CODE = FACILITY_CODE ( 84u32 ) ; pub const FACILITY_RAS : FACILITY_CODE = FACILITY_CODE ( 83u32 ) ; pub const FACILITY_P2P_INT : FACILITY_CODE = FACILITY_CODE ( 98u32 ) ; pub const FACILITY_P2P : FACILITY_CODE = FACILITY_CODE ( 99u32 ) ; pub const FACILITY_DAF : FACILITY_CODE = FACILITY_CODE ( 100u32 ) ; pub const FACILITY_BLUETOOTH_ATT : FACILITY_CODE = FACILITY_CODE ( 101u32 ) ; pub const FACILITY_AUDIO : FACILITY_CODE = FACILITY_CODE ( 102u32 ) ; pub const FACILITY_STATEREPOSITORY : FACILITY_CODE = FACILITY_CODE ( 103u32 ) ; pub const FACILITY_VISUALCPP : FACILITY_CODE = FACILITY_CODE ( 109u32 ) ; pub const FACILITY_SCRIPT : FACILITY_CODE = FACILITY_CODE ( 112u32 ) ; pub const FACILITY_PARSE : FACILITY_CODE = FACILITY_CODE ( 113u32 ) ; pub const FACILITY_BLB : FACILITY_CODE = FACILITY_CODE ( 120u32 ) ; pub const FACILITY_BLB_CLI : FACILITY_CODE = FACILITY_CODE ( 121u32 ) ; pub const FACILITY_WSBAPP : FACILITY_CODE = FACILITY_CODE ( 122u32 ) ; pub const FACILITY_BLBUI : FACILITY_CODE = FACILITY_CODE ( 128u32 ) ; pub const FACILITY_USN : FACILITY_CODE = FACILITY_CODE ( 129u32 ) ; pub const FACILITY_USERMODE_VOLSNAP : FACILITY_CODE = FACILITY_CODE ( 130u32 ) ; pub const FACILITY_TIERING : FACILITY_CODE = FACILITY_CODE ( 131u32 ) ; pub const FACILITY_WSB_ONLINE : FACILITY_CODE = FACILITY_CODE ( 133u32 ) ; pub const FACILITY_ONLINE_ID : FACILITY_CODE = FACILITY_CODE ( 134u32 ) ; pub const FACILITY_DEVICE_UPDATE_AGENT : FACILITY_CODE = FACILITY_CODE ( 135u32 ) ; pub const FACILITY_DRVSERVICING : FACILITY_CODE = FACILITY_CODE ( 136u32 ) ; pub const FACILITY_DLS : FACILITY_CODE = FACILITY_CODE ( 153u32 ) ; pub const FACILITY_DELIVERY_OPTIMIZATION : FACILITY_CODE = FACILITY_CODE ( 208u32 ) ; pub const FACILITY_USERMODE_SPACES : FACILITY_CODE = FACILITY_CODE ( 231u32 ) ; pub const FACILITY_USER_MODE_SECURITY_CORE : FACILITY_CODE = FACILITY_CODE ( 232u32 ) ; pub const FACILITY_USERMODE_LICENSING : FACILITY_CODE = FACILITY_CODE ( 234u32 ) ; pub const FACILITY_SOS : FACILITY_CODE = FACILITY_CODE ( 160u32 ) ; pub const FACILITY_DEBUGGERS : FACILITY_CODE = FACILITY_CODE ( 176u32 ) ; pub const FACILITY_SPP : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_RESTORE : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DMSERVER : FACILITY_CODE = FACILITY_CODE ( 256u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_SERVER : FACILITY_CODE = FACILITY_CODE ( 257u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING : FACILITY_CODE = FACILITY_CODE ( 258u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 259u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_UTIL : FACILITY_CODE = FACILITY_CODE ( 260u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC : FACILITY_CODE = FACILITY_CODE ( 261u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_PXE : FACILITY_CODE = FACILITY_CODE ( 263u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TFTP : FACILITY_CODE = FACILITY_CODE ( 264u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT : FACILITY_CODE = FACILITY_CODE ( 272u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING : FACILITY_CODE = FACILITY_CODE ( 278u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER : FACILITY_CODE = FACILITY_CODE ( 289u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT : FACILITY_CODE = FACILITY_CODE ( 290u32 ) ; pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER : FACILITY_CODE = FACILITY_CODE ( 293u32 ) ; pub const FACILITY_LINGUISTIC_SERVICES : FACILITY_CODE = FACILITY_CODE ( 305u32 ) ; pub const FACILITY_AUDIOSTREAMING : FACILITY_CODE = FACILITY_CODE ( 1094u32 ) ; pub const FACILITY_TTD : FACILITY_CODE = FACILITY_CODE ( 1490u32 ) ; pub const FACILITY_ACCELERATOR : FACILITY_CODE = FACILITY_CODE ( 1536u32 ) ; pub const FACILITY_WMAAECMA : FACILITY_CODE = FACILITY_CODE ( 1996u32 ) ; pub const FACILITY_DIRECTMUSIC : FACILITY_CODE = FACILITY_CODE ( 2168u32 ) ; pub const FACILITY_DIRECT3D10 : FACILITY_CODE = FACILITY_CODE ( 2169u32 ) ; pub const FACILITY_DXGI : FACILITY_CODE = FACILITY_CODE ( 2170u32 ) ; pub const FACILITY_DXGI_DDI : FACILITY_CODE = FACILITY_CODE ( 2171u32 ) ; pub const FACILITY_DIRECT3D11 : FACILITY_CODE = FACILITY_CODE ( 2172u32 ) ; pub const FACILITY_DIRECT3D11_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2173u32 ) ; pub const FACILITY_DIRECT3D12 : FACILITY_CODE = FACILITY_CODE ( 2174u32 ) ; pub const FACILITY_DIRECT3D12_DEBUG : FACILITY_CODE = FACILITY_CODE ( 2175u32 ) ; pub const FACILITY_DXCORE : FACILITY_CODE = FACILITY_CODE ( 2176u32 ) ; pub const FACILITY_LEAP : FACILITY_CODE = FACILITY_CODE ( 2184u32 ) ; pub const FACILITY_AUDCLNT : FACILITY_CODE = FACILITY_CODE ( 2185u32 ) ; pub const FACILITY_WINCODEC_DWRITE_DWM : FACILITY_CODE = FACILITY_CODE ( 2200u32 ) ; pub const FACILITY_WINML : FACILITY_CODE = FACILITY_CODE ( 2192u32 ) ; pub const FACILITY_DIRECT2D : FACILITY_CODE = FACILITY_CODE ( 2201u32 ) ; pub const FACILITY_DEFRAG : FACILITY_CODE = FACILITY_CODE ( 2304u32 ) ; pub const FACILITY_USERMODE_SDBUS : FACILITY_CODE = FACILITY_CODE ( 2305u32 ) ; pub const FACILITY_JSCRIPT : FACILITY_CODE = FACILITY_CODE ( 2306u32 ) ; pub const FACILITY_PIDGENX : FACILITY_CODE = FACILITY_CODE ( 2561u32 ) ; pub const FACILITY_EAS : FACILITY_CODE = FACILITY_CODE ( 85u32 ) ; pub const FACILITY_WEB : FACILITY_CODE = FACILITY_CODE ( 885u32 ) ; pub const FACILITY_WEB_SOCKET : FACILITY_CODE = FACILITY_CODE ( 886u32 ) ; pub const FACILITY_MOBILE : FACILITY_CODE = FACILITY_CODE ( 1793u32 ) ; pub const FACILITY_SQLITE : FACILITY_CODE = FACILITY_CODE ( 1967u32 ) ; pub const FACILITY_UTC : FACILITY_CODE = FACILITY_CODE ( 1989u32 ) ; pub const FACILITY_WEP : FACILITY_CODE = FACILITY_CODE ( 2049u32 ) ; pub const FACILITY_SYNCENGINE : FACILITY_CODE = FACILITY_CODE ( 2050u32 ) ; pub const FACILITY_XBOX : FACILITY_CODE = FACILITY_CODE ( 2339u32 ) ; pub const FACILITY_GAME : FACILITY_CODE = FACILITY_CODE ( 2340u32 ) ; pub const FACILITY_PIX : FACILITY_CODE = FACILITY_CODE ( 2748u32 ) ; pub const FACILITY_NT_BIT : FACILITY_CODE = FACILITY_CODE ( 268435456u32 ) ; impl :: std :: convert :: From < u32 > for FACILITY_CODE { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for FACILITY_CODE { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for FACILITY_CODE { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for FACILITY_CODE { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for FACILITY_CODE { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for FACILITY_CODE { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn GetLastError < > ( ) -> WIN32_ERROR { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetLastError ( ) -> WIN32_ERROR ; } GetLastError ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct WIN32_ERROR ( pub u32 ) ; impl :: std :: convert :: From < u32 > for WIN32_ERROR { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for WIN32_ERROR { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for WIN32_ERROR { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for WIN32_ERROR { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for WIN32_ERROR { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for WIN32_ERROR { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ToolHelp { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct CREATE_TOOLHELP_SNAPSHOT_FLAGS ( pub u32 ) ; pub const TH32CS_INHERIT : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2147483648u32 ) ; pub const TH32CS_SNAPALL : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 15u32 ) ; pub const TH32CS_SNAPHEAPLIST : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 1u32 ) ; pub const TH32CS_SNAPMODULE : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 8u32 ) ; pub const TH32CS_SNAPMODULE32 : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 16u32 ) ; pub const TH32CS_SNAPPROCESS : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 2u32 ) ; pub const TH32CS_SNAPTHREAD : CREATE_TOOLHELP_SNAPSHOT_FLAGS = CREATE_TOOLHELP_SNAPSHOT_FLAGS ( 4u32 ) ; impl :: std :: convert :: From < u32 > for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for CREATE_TOOLHELP_SNAPSHOT_FLAGS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for CREATE_TOOLHELP_SNAPSHOT_FLAGS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn CreateToolhelp32Snapshot < > ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 , ) -> super::super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn CreateToolhelp32Snapshot ( dwflags : CREATE_TOOLHELP_SNAPSHOT_FLAGS , th32processid : u32 ) -> super::super::super::Foundation:: HANDLE ; } CreateToolhelp32Snapshot ( :: std :: mem :: transmute ( dwflags ) , :: std :: mem :: transmute ( th32processid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESSENTRY32W { pub dwSize : u32 , pub cntUsage : u32 , pub th32ProcessID : u32 , pub th32DefaultHeapID : usize , pub th32ModuleID : u32 , pub cntThreads : u32 , pub th32ParentProcessID : u32 , pub pcPriClassBase : i32 , pub dwFlags : u32 , pub szExeFile : [ u16 ;260 ] } impl PROCESSENTRY32W { } impl :: std :: default :: Default for PROCESSENTRY32W { fn default ( ) -> Self { Self { dwSize : 0 , cntUsage : 0 , th32ProcessID : 0 , th32DefaultHeapID : 0 , th32ModuleID : 0 , cntThreads : 0 , th32ParentProcessID : 0 , pcPriClassBase : 0 , dwFlags : 0 , szExeFile : [ 0 ;260 ] } } } impl :: std :: fmt :: Debug for PROCESSENTRY32W { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESSENTRY32W" ) . field ( "dwSize" , & self . dwSize ) . field ( "cntUsage" , & self . cntUsage ) . field ( "th32ProcessID" , & self . th32ProcessID ) . field ( "th32DefaultHeapID" , & self . th32DefaultHeapID ) . field ( "th32ModuleID" , & self . th32ModuleID ) . field ( "cntThreads" , & self . cntThreads ) . field ( "th32ParentProcessID" , & self . th32ParentProcessID ) . field ( "pcPriClassBase" , & self . pcPriClassBase ) . field ( "dwFlags" , & self . dwFlags ) . field ( "szExeFile" , & self . szExeFile ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESSENTRY32W { fn eq ( & self , other : & Self ) -> bool { self . dwSize == other . dwSize && self . cntUsage == other . cntUsage && self . th32ProcessID == other . th32ProcessID && self . th32DefaultHeapID == other . th32DefaultHeapID && self . th32ModuleID == other . th32ModuleID && self . cntThreads == other . cntThreads && self . th32ParentProcessID == other . th32ParentProcessID && self . pcPriClassBase == other . pcPriClassBase && self . dwFlags == other . dwFlags && self . szExeFile == other . szExeFile } } impl :: std :: cmp :: Eq for PROCESSENTRY32W { } unsafe impl :: windows :: Abi for PROCESSENTRY32W { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn Process32FirstW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32FirstW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32FirstW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn Process32NextW < 'a , > ( hsnapshot : impl :: windows :: IntoParam < 'a , super::super::super::Foundation:: HANDLE > , lppe : * mut PROCESSENTRY32W , ) -> super::super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn Process32NextW ( hsnapshot : super::super::super::Foundation:: HANDLE , lppe : * mut PROCESSENTRY32W ) -> super::super::super::Foundation:: BOOL ; } Process32NextW ( hsnapshot . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lppe ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod LibraryLoader { pub unsafe fn GetModuleFileNameW < 'a , > ( hmodule : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HINSTANCE > , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 , ) -> u32 { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetModuleFileNameW ( hmodule : super::super::Foundation:: HINSTANCE , lpfilename : super::super::Foundation:: PWSTR , nsize : u32 ) -> u32 ; } GetModuleFileNameW ( hmodule . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( lpfilename ) , :: std :: mem :: transmute ( nsize ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod OleAutomation { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] # [ doc ( hidden ) ] pub struct IDispatch ( :: windows :: IUnknown ) ; unsafe impl :: windows :: Interface for IDispatch { type Vtable = < :: windows :: IUnknown as :: windows :: Interface > :: Vtable ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 132096 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAY { pub cDims : u16 , pub fFeatures : u16 , pub cbElements : u32 , pub cLocks : u32 , pub pvData : * mut :: std :: ffi :: c_void , pub rgsabound : [ SAFEARRAYBOUND ;1 ] } impl SAFEARRAY { } impl :: std :: default :: Default for SAFEARRAY { fn default ( ) -> Self { Self { cDims : 0 , fFeatures : 0 , cbElements : 0 , cLocks : 0 , pvData : :: std :: ptr :: null_mut ( ) , rgsabound : [ :: std :: default :: Default :: default ( ) ;1 ] } } } impl :: std :: fmt :: Debug for SAFEARRAY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAY" ) . field ( "cDims" , & self . cDims ) . field ( "fFeatures" , & self . fFeatures ) . field ( "cbElements" , & self . cbElements ) . field ( "cLocks" , & self . cLocks ) . field ( "pvData" , & self . pvData ) . field ( "rgsabound" , & self . rgsabound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAY { fn eq ( & self , other : & Self ) -> bool { self . cDims == other . cDims && self . fFeatures == other . fFeatures && self . cbElements == other . cbElements && self . cLocks == other . cLocks && self . pvData == other . pvData && self . rgsabound == other . rgsabound } } impl :: std :: cmp :: Eq for SAFEARRAY { } unsafe impl :: windows :: Abi for SAFEARRAY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct SAFEARRAYBOUND { pub cElements : u32 , pub lLbound : i32 } impl SAFEARRAYBOUND { } impl :: std :: default :: Default for SAFEARRAYBOUND { fn default ( ) -> Self { Self { cElements : 0 , lLbound : 0 } } } impl :: std :: fmt :: Debug for SAFEARRAYBOUND { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "SAFEARRAYBOUND" ) . field ( "cElements" , & self . cElements ) . field ( "lLbound" , & self . lLbound ) . finish ( ) } } impl :: std :: cmp :: PartialEq for SAFEARRAYBOUND { fn eq ( & self , other : & Self ) -> bool { self . cElements == other . cElements && self . lLbound == other . lLbound } } impl :: std :: cmp :: Eq for SAFEARRAYBOUND { } unsafe impl :: windows :: Abi for SAFEARRAYBOUND { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct VARENUM ( pub i32 ) ; pub const VT_EMPTY : VARENUM = VARENUM ( 0i32 ) ; pub const VT_NULL : VARENUM = VARENUM ( 1i32 ) ; pub const VT_I2 : VARENUM = VARENUM ( 2i32 ) ; pub const VT_I4 : VARENUM = VARENUM ( 3i32 ) ; pub const VT_R4 : VARENUM = VARENUM ( 4i32 ) ; pub const VT_R8 : VARENUM = VARENUM ( 5i32 ) ; pub const VT_CY : VARENUM = VARENUM ( 6i32 ) ; pub const VT_DATE : VARENUM = VARENUM ( 7i32 ) ; pub const VT_BSTR : VARENUM = VARENUM ( 8i32 ) ; pub const VT_DISPATCH : VARENUM = VARENUM ( 9i32 ) ; pub const VT_ERROR : VARENUM = VARENUM ( 10i32 ) ; pub const VT_BOOL : VARENUM = VARENUM ( 11i32 ) ; pub const VT_VARIANT : VARENUM = VARENUM ( 12i32 ) ; pub const VT_UNKNOWN : VARENUM = VARENUM ( 13i32 ) ; pub const VT_DECIMAL : VARENUM = VARENUM ( 14i32 ) ; pub const VT_I1 : VARENUM = VARENUM ( 16i32 ) ; pub const VT_UI1 : VARENUM = VARENUM ( 17i32 ) ; pub const VT_UI2 : VARENUM = VARENUM ( 18i32 ) ; pub const VT_UI4 : VARENUM = VARENUM ( 19i32 ) ; pub const VT_I8 : VARENUM = VARENUM ( 20i32 ) ; pub const VT_UI8 : VARENUM = VARENUM ( 21i32 ) ; pub const VT_INT : VARENUM = VARENUM ( 22i32 ) ; pub const VT_UINT : VARENUM = VARENUM ( 23i32 ) ; pub const VT_VOID : VARENUM = VARENUM ( 24i32 ) ; pub const VT_HRESULT : VARENUM = VARENUM ( 25i32 ) ; pub const VT_PTR : VARENUM = VARENUM ( 26i32 ) ; pub const VT_SAFEARRAY : VARENUM = VARENUM ( 27i32 ) ; pub const VT_CARRAY : VARENUM = VARENUM ( 28i32 ) ; pub const VT_USERDEFINED : VARENUM = VARENUM ( 29i32 ) ; pub const VT_LPSTR : VARENUM = VARENUM ( 30i32 ) ; pub const VT_LPWSTR : VARENUM = VARENUM ( 31i32 ) ; pub const VT_RECORD : VARENUM = VARENUM ( 36i32 ) ; pub const VT_INT_PTR : VARENUM = VARENUM ( 37i32 ) ; pub const VT_UINT_PTR : VARENUM = VARENUM ( 38i32 ) ; pub const VT_FILETIME : VARENUM = VARENUM ( 64i32 ) ; pub const VT_BLOB : VARENUM = VARENUM ( 65i32 ) ; pub const VT_STREAM : VARENUM = VARENUM ( 66i32 ) ; pub const VT_STORAGE : VARENUM = VARENUM ( 67i32 ) ; pub const VT_STREAMED_OBJECT : VARENUM = VARENUM ( 68i32 ) ; pub const VT_STORED_OBJECT : VARENUM = VARENUM ( 69i32 ) ; pub const VT_BLOB_OBJECT : VARENUM = VARENUM ( 70i32 ) ; pub const VT_CF : VARENUM = VARENUM ( 71i32 ) ; pub const VT_CLSID : VARENUM = VARENUM ( 72i32 ) ; pub const VT_VERSIONED_STREAM : VARENUM = VARENUM ( 73i32 ) ; pub const VT_BSTR_BLOB : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_VECTOR : VARENUM = VARENUM ( 4096i32 ) ; pub const VT_ARRAY : VARENUM = VARENUM ( 8192i32 ) ; pub const VT_BYREF : VARENUM = VARENUM ( 16384i32 ) ; pub const VT_RESERVED : VARENUM = VARENUM ( 32768i32 ) ; pub const VT_ILLEGAL : VARENUM = VARENUM ( 65535i32 ) ; pub const VT_ILLEGALMASKED : VARENUM = VARENUM ( 4095i32 ) ; pub const VT_TYPEMASK : VARENUM = VARENUM ( 4095i32 ) ; impl :: std :: convert :: From < i32 > for VARENUM { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for VARENUM { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod ProcessStatus { pub unsafe fn K32GetProcessMemoryInfo < 'a , > ( process : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn K32GetProcessMemoryInfo ( process : super::super::Foundation:: HANDLE , ppsmemcounters : * mut PROCESS_MEMORY_COUNTERS , cb : u32 ) -> super::super::Foundation:: BOOL ; } K32GetProcessMemoryInfo ( process . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( ppsmemcounters ) , :: std :: mem :: transmute ( cb ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROCESS_MEMORY_COUNTERS { pub cb : u32 , pub PageFaultCount : u32 , pub PeakWorkingSetSize : usize , pub WorkingSetSize : usize , pub QuotaPeakPagedPoolUsage : usize , pub QuotaPagedPoolUsage : usize , pub QuotaPeakNonPagedPoolUsage : usize , pub QuotaNonPagedPoolUsage : usize , pub PagefileUsage : usize , pub PeakPagefileUsage : usize } impl PROCESS_MEMORY_COUNTERS { } impl :: std :: default :: Default for PROCESS_MEMORY_COUNTERS { fn default ( ) -> Self { Self { cb : 0 , PageFaultCount : 0 , PeakWorkingSetSize : 0 , WorkingSetSize : 0 , QuotaPeakPagedPoolUsage : 0 , QuotaPagedPoolUsage : 0 , QuotaPeakNonPagedPoolUsage : 0 , QuotaNonPagedPoolUsage : 0 , PagefileUsage : 0 , PeakPagefileUsage : 0 } } } impl :: std :: fmt :: Debug for PROCESS_MEMORY_COUNTERS { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROCESS_MEMORY_COUNTERS" ) . field ( "cb" , & self . cb ) . field ( "PageFaultCount" , & self . PageFaultCount ) . field ( "PeakWorkingSetSize" , & self . PeakWorkingSetSize ) . field ( "WorkingSetSize" , & self . WorkingSetSize ) . field ( "QuotaPeakPagedPoolUsage" , & self . QuotaPeakPagedPoolUsage ) . field ( "QuotaPagedPoolUsage" , & self . QuotaPagedPoolUsage ) . field ( "QuotaPeakNonPagedPoolUsage" , & self . QuotaPeakNonPagedPoolUsage ) . field ( "QuotaNonPagedPoolUsage" , & self . QuotaNonPagedPoolUsage ) . field ( "PagefileUsage" , & self . PagefileUsage ) . field ( "PeakPagefileUsage" , & self . PeakPagefileUsage ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROCESS_MEMORY_COUNTERS { fn eq ( & self , other : & Self ) -> bool { self . cb == other . cb && self . PageFaultCount == other . PageFaultCount && self . PeakWorkingSetSize == other . PeakWorkingSetSize && self . WorkingSetSize == other . WorkingSetSize && self . QuotaPeakPagedPoolUsage == other . QuotaPeakPagedPoolUsage && self . QuotaPagedPoolUsage == other . QuotaPagedPoolUsage && self . QuotaPeakNonPagedPoolUsage == other . QuotaPeakNonPagedPoolUsage && self . QuotaNonPagedPoolUsage == other . QuotaNonPagedPoolUsage && self . PagefileUsage == other . PagefileUsage && self . PeakPagefileUsage == other . PeakPagefileUsage } } impl :: std :: cmp :: Eq for PROCESS_MEMORY_COUNTERS { } unsafe impl :: windows :: Abi for PROCESS_MEMORY_COUNTERS { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod PropertiesSystem { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IPropertyStore ( :: windows :: IUnknown ) ; impl IPropertyStore { pub unsafe fn GetCount < > ( & self , ) -> :: windows :: Result < u32 > { let mut result__ : < u32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u32 > ( result__ ) } pub unsafe fn GetAt < > ( & self , iprop : u32 , ) -> :: windows :: Result < PROPERTYKEY > { let mut result__ : < PROPERTYKEY as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( iprop ) , & mut result__ ) . from_abi :: < PROPERTYKEY > ( result__ ) } pub unsafe fn GetValue < > ( & self , key : * const PROPERTYKEY , ) -> :: windows :: Result < super::super::Storage::StructuredStorage:: PROPVARIANT > { let mut result__ : < super::super::Storage::StructuredStorage:: PROPVARIANT as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , & mut result__ ) . from_abi :: < super::super::Storage::StructuredStorage:: PROPVARIANT > ( result__ ) } pub unsafe fn SetValue < > ( & self , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( key ) , :: std :: mem :: transmute ( propvar ) , ) . ok ( ) } pub unsafe fn Commit < > ( & self , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IPropertyStore { type Vtable = IPropertyStore_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 2288881387 ,36082 ,17478 , [ 141 ,2 ,205 ,186 ,29 ,189 ,207 ,153 ] , ) ; } impl :: std :: convert :: From < IPropertyStore > for :: windows :: IUnknown { fn from ( value : IPropertyStore ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IPropertyStore > for :: windows :: IUnknown { fn from ( value : & IPropertyStore ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IPropertyStore { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IPropertyStore_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , cprops : * mut u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iprop : u32 , pkey : * mut PROPERTYKEY , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , pv : * mut super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , key : * const PROPERTYKEY , propvar : * const super::super::Storage::StructuredStorage:: PROPVARIANT_abi , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct PROPERTYKEY { pub fmtid : :: windows :: Guid , pub pid : u32 } impl PROPERTYKEY { } impl :: std :: default :: Default for PROPERTYKEY { fn default ( ) -> Self { Self { fmtid : :: std :: default :: Default :: default ( ) , pid : 0 } } } impl :: std :: fmt :: Debug for PROPERTYKEY { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "PROPERTYKEY" ) . field ( "fmtid" , & self . fmtid ) . field ( "pid" , & self . pid ) . finish ( ) } } impl :: std :: cmp :: PartialEq for PROPERTYKEY { fn eq ( & self , other : & Self ) -> bool { self . fmtid == other . fmtid && self . pid == other . pid } } impl :: std :: cmp :: Eq for PROPERTYKEY { } unsafe impl :: windows :: Abi for PROPERTYKEY { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod SystemServices { # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct BSTRBLOB { pub cbSize : u32 , pub pData : * mut u8 } impl BSTRBLOB { } impl :: std :: default :: Default for BSTRBLOB { fn default ( ) -> Self { Self { cbSize : 0 , pData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for BSTRBLOB { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "BSTRBLOB" ) . field ( "cbSize" , & self . cbSize ) . field ( "pData" , & self . pData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for BSTRBLOB { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . pData == other . pData } } impl :: std :: cmp :: Eq for BSTRBLOB { } unsafe impl :: windows :: Abi for BSTRBLOB { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( transparent ) ] pub struct CHAR ( pub u8 ) ; impl CHAR { } impl :: std :: default :: Default for CHAR { fn default ( ) -> Self { Self ( 0 ) } } impl CHAR { pub const NULL : Self = Self ( 0 ) ; pub fn is_null ( & self ) -> bool { self . 0 == 0 } } impl :: std :: fmt :: Debug for CHAR { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CHAR" ) . field ( "Value" , & self .0 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CHAR { fn eq ( & self , other : & Self ) -> bool { self .0 == other .0 } } impl :: std :: cmp :: Eq for CHAR { } unsafe impl :: windows :: Abi for CHAR { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CLIPDATA { pub cbSize : u32 , pub ulClipFmt : i32 , pub pClipData : * mut u8 } impl CLIPDATA { } impl :: std :: default :: Default for CLIPDATA { fn default ( ) -> Self { Self { cbSize : 0 , ulClipFmt : 0 , pClipData : :: std :: ptr :: null_mut ( ) } } } impl :: std :: fmt :: Debug for CLIPDATA { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "CLIPDATA" ) . field ( "cbSize" , & self . cbSize ) . field ( "ulClipFmt" , & self . ulClipFmt ) . field ( "pClipData" , & self . pClipData ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CLIPDATA { fn eq ( & self , other : & Self ) -> bool { self . cbSize == other . cbSize && self . ulClipFmt == other . ulClipFmt && self . pClipData == other . pClipData } } impl :: std :: cmp :: Eq for CLIPDATA { } unsafe impl :: windows :: Abi for CLIPDATA { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union CY { pub Anonymous : CY_0 , pub int64 : i64 } impl CY { } impl :: std :: cmp :: PartialEq for CY { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for CY { } unsafe impl :: windows :: Abi for CY { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct CY_0 { pub Lo : u32 , pub Hi : i32 } impl CY_0 { } impl :: std :: default :: Default for CY_0 { fn default ( ) -> Self { Self { Lo : 0 , Hi : 0 } } } impl :: std :: fmt :: Debug for CY_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo" , & self . Lo ) . field ( "Hi" , & self . Hi ) . finish ( ) } } impl :: std :: cmp :: PartialEq for CY_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo == other . Lo && self . Hi == other . Hi } } impl :: std :: cmp :: Eq for CY_0 { } unsafe impl :: windows :: Abi for CY_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL { pub wReserved : u16 , pub Anonymous1 : DECIMAL_0 , pub Hi32 : u32 , pub Anonymous2 : DECIMAL_1 } impl DECIMAL { } impl :: std :: cmp :: PartialEq for DECIMAL { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL { } unsafe impl :: windows :: Abi for DECIMAL { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_0 { pub Anonymous : DECIMAL_0_0 , pub signscale : u16 } impl DECIMAL_0 { } impl :: std :: cmp :: PartialEq for DECIMAL_0 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_0 { } unsafe impl :: windows :: Abi for DECIMAL_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_0_0 { pub scale : u8 , pub sign : u8 } impl DECIMAL_0_0 { } impl :: std :: default :: Default for DECIMAL_0_0 { fn default ( ) -> Self { Self { scale : 0 , sign : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_0_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "scale" , & self . scale ) . field ( "sign" , & self . sign ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_0_0 { fn eq ( & self , other : & Self ) -> bool { self . scale == other . scale && self . sign == other . sign } } impl :: std :: cmp :: Eq for DECIMAL_0_0 { } unsafe impl :: windows :: Abi for DECIMAL_0_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub union DECIMAL_1 { pub Anonymous : DECIMAL_1_0 , pub Lo64 : u64 } impl DECIMAL_1 { } impl :: std :: cmp :: PartialEq for DECIMAL_1 { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for DECIMAL_1 { } unsafe impl :: windows :: Abi for DECIMAL_1 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct DECIMAL_1_0 { pub Lo32 : u32 , pub Mid32 : u32 } impl DECIMAL_1_0 { } impl :: std :: default :: Default for DECIMAL_1_0 { fn default ( ) -> Self { Self { Lo32 : 0 , Mid32 : 0 } } } impl :: std :: fmt :: Debug for DECIMAL_1_0 { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "_Anonymous_e__Struct" ) . field ( "Lo32" , & self . Lo32 ) . field ( "Mid32" , & self . Mid32 ) . finish ( ) } } impl :: std :: cmp :: PartialEq for DECIMAL_1_0 { fn eq ( & self , other : & Self ) -> bool { self . Lo32 == other . Lo32 && self . Mid32 == other . Mid32 } } impl :: std :: cmp :: Eq for DECIMAL_1_0 { } unsafe impl :: windows :: Abi for DECIMAL_1_0 { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct LUID { pub LowPart : u32 , pub HighPart : i32 } impl LUID { } impl :: std :: default :: Default for LUID { fn default ( ) -> Self { Self { LowPart : 0 , HighPart : 0 } } } impl :: std :: fmt :: Debug for LUID { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { fmt . debug_struct ( "LUID" ) . field ( "LowPart" , & self . LowPart ) . field ( "HighPart" , & self . HighPart ) . finish ( ) } } impl :: std :: cmp :: PartialEq for LUID { fn eq ( & self , other : & Self ) -> bool { self . LowPart == other . LowPart && self . HighPart == other . HighPart } } impl :: std :: cmp :: Eq for LUID { } unsafe impl :: windows :: Abi for LUID { type Abi = Self ; type DefaultType = Self ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Threading { pub unsafe fn GetCurrentProcess < > ( ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn GetCurrentProcess ( ) -> super::super::Foundation:: HANDLE ; } GetCurrentProcess ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcess < 'a , > ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: BOOL > , dwprocessid : u32 , ) -> super::super::Foundation:: HANDLE { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn OpenProcess ( dwdesiredaccess : PROCESS_ACCESS_RIGHTS , binherithandle : super::super::Foundation:: BOOL , dwprocessid : u32 ) -> super::super::Foundation:: HANDLE ; } OpenProcess ( :: std :: mem :: transmute ( dwdesiredaccess ) , binherithandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwprocessid ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub unsafe fn OpenProcessToken < 'a , > ( processhandle : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="ADVAPI32" ) ] extern "system" { fn OpenProcessToken ( processhandle : super::super::Foundation:: HANDLE , desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK , tokenhandle : * mut super::super::Foundation:: HANDLE ) -> super::super::Foundation:: BOOL ; } OpenProcessToken ( processhandle . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( desiredaccess ) , :: std :: mem :: transmute ( tokenhandle ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct PROCESS_ACCESS_RIGHTS ( pub u32 ) ; pub const PROCESS_TERMINATE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1u32 ) ; pub const PROCESS_CREATE_THREAD : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2u32 ) ; pub const PROCESS_SET_SESSIONID : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4u32 ) ; pub const PROCESS_VM_OPERATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8u32 ) ; pub const PROCESS_VM_READ : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 16u32 ) ; pub const PROCESS_VM_WRITE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 32u32 ) ; pub const PROCESS_DUP_HANDLE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 64u32 ) ; pub const PROCESS_CREATE_PROCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 128u32 ) ; pub const PROCESS_SET_QUOTA : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 256u32 ) ; pub const PROCESS_SET_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 512u32 ) ; pub const PROCESS_QUERY_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1024u32 ) ; pub const PROCESS_SUSPEND_RESUME : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2048u32 ) ; pub const PROCESS_QUERY_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 4096u32 ) ; pub const PROCESS_SET_LIMITED_INFORMATION : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 8192u32 ) ; pub const PROCESS_ALL_ACCESS : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 2097151u32 ) ; pub const PROCESS_DELETE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 65536u32 ) ; pub const PROCESS_READ_CONTROL : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 131072u32 ) ; pub const PROCESS_WRITE_DAC : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 262144u32 ) ; pub const PROCESS_WRITE_OWNER : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 524288u32 ) ; pub const PROCESS_SYNCHRONIZE : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 1048576u32 ) ; pub const PROCESS_STANDARD_RIGHTS_REQUIRED : PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS ( 983040u32 ) ; impl :: std :: convert :: From < u32 > for PROCESS_ACCESS_RIGHTS { fn from ( value : u32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for PROCESS_ACCESS_RIGHTS { type Abi = Self ; type DefaultType = Self ; } impl :: std :: ops :: BitOr for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitor ( self , rhs : Self ) -> Self { Self ( self . 0 | rhs . 0 ) } } impl :: std :: ops :: BitAnd for PROCESS_ACCESS_RIGHTS { type Output = Self ; fn bitand ( self , rhs : Self ) -> Self { Self ( self . 0 & rhs . 0 ) } } impl :: std :: ops :: BitOrAssign for PROCESS_ACCESS_RIGHTS { fn bitor_assign ( & mut self , rhs : Self ) { self . 0 . bitor_assign ( rhs . 0 ) } } impl :: std :: ops :: BitAndAssign for PROCESS_ACCESS_RIGHTS { fn bitand_assign ( & mut self , rhs : Self ) { self . 0 . bitand_assign ( rhs . 0 ) } } pub unsafe fn TerminateProcess < 'a , > ( hprocess : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HANDLE > , uexitcode : u32 , ) -> super::super::Foundation:: BOOL { # [ cfg ( windows ) ] { # [ link ( name ="KERNEL32" ) ] extern "system" { fn TerminateProcess ( hprocess : super::super::Foundation:: HANDLE , uexitcode : u32 ) -> super::super::Foundation:: BOOL ; } TerminateProcess ( hprocess . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( uexitcode ) ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod WinRT { # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: marker :: Copy , :: std :: clone :: Clone , :: std :: default :: Default , :: std :: fmt :: Debug ) ] # [ repr ( transparent ) ] pub struct RO_INIT_TYPE ( pub i32 ) ; pub const RO_INIT_SINGLETHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 0i32 ) ; pub const RO_INIT_MULTITHREADED : RO_INIT_TYPE = RO_INIT_TYPE ( 1i32 ) ; impl :: std :: convert :: From < i32 > for RO_INIT_TYPE { fn from ( value : i32 ) -> Self { Self ( value ) } } unsafe impl :: windows :: Abi for RO_INIT_TYPE { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn RoInitialize < > ( inittype : RO_INIT_TYPE , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="onecoreuap" ) ] extern "system" { fn RoInitialize ( inittype : RO_INIT_TYPE ) -> :: windows :: HRESULT ; } RoInitialize ( :: std :: mem :: transmute ( inittype ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } } } # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod UI { # [ allow ( unused_variables , non_upper_case_globals , non_snake_case , unused_unsafe , non_camel_case_types , dead_code , clippy :: all ) ] pub mod Shell { # [ repr ( transparent ) ] # [ derive ( :: std :: cmp :: PartialEq , :: std :: cmp :: Eq , :: std :: clone :: Clone , :: std :: fmt :: Debug ) ] pub struct IShellLinkW ( :: windows :: IUnknown ) ; impl IShellLinkW { pub unsafe fn GetPath < > ( & self , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .3 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszfile ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( pfd ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn GetIDList < > ( & self , ) -> :: windows :: Result < * mut ITEMIDLIST > { let mut result__ : < * mut ITEMIDLIST as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .4 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < * mut ITEMIDLIST > ( result__ ) } pub unsafe fn SetIDList < > ( & self , pidl : * mut ITEMIDLIST , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .5 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pidl ) , ) . ok ( ) } pub unsafe fn GetDescription < > ( & self , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .6 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszname ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetDescription < 'a , > ( & self , pszname : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .7 ) ( :: windows :: Abi :: abi ( self ) , pszname . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetWorkingDirectory < > ( & self , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .8 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszdir ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetWorkingDirectory < 'a , > ( & self , pszdir : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .9 ) ( :: windows :: Abi :: abi ( self ) , pszdir . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetArguments < > ( & self , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .10 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( pszargs ) , :: std :: mem :: transmute ( cch ) , ) . ok ( ) } pub unsafe fn SetArguments < 'a , > ( & self , pszargs : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .11 ) ( :: windows :: Abi :: abi ( self ) , pszargs . into_param ( ) . abi ( ) , ) . ok ( ) } pub unsafe fn GetHotkey < > ( & self , ) -> :: windows :: Result < u16 > { let mut result__ : < u16 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .12 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < u16 > ( result__ ) } pub unsafe fn SetHotkey < > ( & self , whotkey : u16 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .13 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( whotkey ) , ) . ok ( ) } pub unsafe fn GetShowCmd < > ( & self , ) -> :: windows :: Result < i32 > { let mut result__ : < i32 as :: windows :: Abi > :: Abi = :: std :: mem :: zeroed ( ) ; ( :: windows :: Interface :: vtable ( self ) .14 ) ( :: windows :: Abi :: abi ( self ) , & mut result__ ) . from_abi :: < i32 > ( result__ ) } pub unsafe fn SetShowCmd < > ( & self , ishowcmd : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .15 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( ishowcmd ) , ) . ok ( ) } pub unsafe fn GetIconLocation < > ( & self , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .16 ) ( :: windows :: Abi :: abi ( self ) , :: std :: mem :: transmute ( psziconpath ) , :: std :: mem :: transmute ( cch ) , :: std :: mem :: transmute ( piicon ) , ) . ok ( ) } pub unsafe fn SetIconLocation < 'a , > ( & self , psziconpath : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , iicon : i32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .17 ) ( :: windows :: Abi :: abi ( self ) , psziconpath . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( iicon ) , ) . ok ( ) } pub unsafe fn SetRelativePath < 'a , > ( & self , pszpathrel : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , dwreserved : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .18 ) ( :: windows :: Abi :: abi ( self ) , pszpathrel . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( dwreserved ) , ) . ok ( ) } pub unsafe fn Resolve < 'a , > ( & self , hwnd : impl :: windows :: IntoParam < 'a , super::super::Foundation:: HWND > , fflags : u32 , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .19 ) ( :: windows :: Abi :: abi ( self ) , hwnd . into_param ( ) . abi ( ) , :: std :: mem :: transmute ( fflags ) , ) . ok ( ) } pub unsafe fn SetPath < 'a , > ( & self , pszfile : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { ( :: windows :: Interface :: vtable ( self ) .20 ) ( :: windows :: Abi :: abi ( self ) , pszfile . into_param ( ) . abi ( ) , ) . ok ( ) } } unsafe impl :: windows :: Interface for IShellLinkW { type Vtable = IShellLinkW_abi ; const IID : :: windows :: Guid = :: windows :: Guid :: from_values ( 136441 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } impl :: std :: convert :: From < IShellLinkW > for :: windows :: IUnknown { fn from ( value : IShellLinkW ) -> Self { unsafe { :: std :: mem :: transmute ( value ) } } } impl :: std :: convert :: From < & IShellLinkW > for :: windows :: IUnknown { fn from ( value : & IShellLinkW ) -> Self { :: std :: convert :: From :: from ( :: std :: clone :: Clone :: clone ( value ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( self ) ) } } impl < 'a > :: windows :: IntoParam < 'a , :: windows :: IUnknown > for & 'a IShellLinkW { fn into_param ( self ) -> :: windows :: Param < 'a , :: windows :: IUnknown > { :: windows :: Param :: Owned ( :: std :: convert :: Into :: < :: windows :: IUnknown > :: into ( :: std :: clone :: Clone :: clone ( self ) ) ) } } # [ repr ( C ) ] # [ doc ( hidden ) ] pub struct IShellLinkW_abi ( pub unsafe extern "system" fn ( this : :: windows :: RawPtr , iid : & :: windows :: Guid , interface : * mut :: windows :: RawPtr ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr ) -> u32 , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , cch : i32 , pfd : * mut super::super::Storage::FileSystem:: WIN32_FIND_DATAW , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ppidl : * mut * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pidl : * mut ITEMIDLIST , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszname : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszdir : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , cch : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszargs : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pwhotkey : * mut u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , whotkey : u16 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pishowcmd : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , ishowcmd : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , cch : i32 , piicon : * mut i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , psziconpath : super::super::Foundation:: PWSTR , iicon : i32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszpathrel : super::super::Foundation:: PWSTR , dwreserved : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , hwnd : super::super::Foundation:: HWND , fflags : u32 , ) -> :: windows :: HRESULT , pub unsafe extern "system" fn ( this : :: windows :: RawPtr , pszfile : super::super::Foundation:: PWSTR , ) -> :: windows :: HRESULT , ) ; # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C ) ] pub struct ITEMIDLIST { pub mkid : SHITEMID } impl ITEMIDLIST { } impl :: std :: cmp :: PartialEq for ITEMIDLIST { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for ITEMIDLIST { } unsafe impl :: windows :: Abi for ITEMIDLIST { type Abi = Self ; type DefaultType = Self ; } # [ derive ( :: std :: clone :: Clone , :: std :: marker :: Copy ) ] # [ repr ( C , packed ( 1 ) ) ] pub struct SHITEMID { pub cb : u16 , pub abID : [ u8 ;1 ] } impl SHITEMID { } impl :: std :: cmp :: PartialEq for SHITEMID { fn eq ( & self , _other : & Self ) -> bool { unimplemented ! ( ) } } impl :: std :: cmp :: Eq for SHITEMID { } unsafe impl :: windows :: Abi for SHITEMID { type Abi = Self ; type DefaultType = Self ; } pub unsafe fn SetCurrentProcessExplicitAppUserModelID < 'a , > ( appid : impl :: windows :: IntoParam < 'a , super::super::Foundation:: PWSTR > , ) -> :: windows :: Result < ( ) > { # [ cfg ( windows ) ] { # [ link ( name ="SHELL32" ) ] extern "system" { fn SetCurrentProcessExplicitAppUserModelID ( appid : super::super::Foundation:: PWSTR ) -> :: windows :: HRESULT ; } SetCurrentProcessExplicitAppUserModelID ( appid . into_param ( ) . abi ( ) ) . ok ( ) } # [ cfg ( not ( windows ) ) ] unimplemented ! ( "Unsupported target OS" ) ; } pub const ShellLink : :: windows :: Guid = :: windows :: Guid :: from_values ( 136193 ,0 ,0 , [ 192 ,0 ,0 ,0 ,0 ,0 ,0 ,70 ] , ) ; } } } } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `windows` in `os` [INFO] [stdout] --> src/main.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | use std::os::windows::prelude::*; [INFO] [stdout] | ^^^^^^^ could not find `windows` in `os` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:54:9 [INFO] [stdout] note: the item is gated here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:46:1 [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:101:9 [INFO] [stdout] note: the item is gated here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:100:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `windows` in `os` [INFO] [stdout] --> src/main.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | use std::os::windows::prelude::*; [INFO] [stdout] | ^^^^^^^ could not find `windows` in `os` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:54:9 [INFO] [stdout] note: the item is gated here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:46:1 [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:101:9 [INFO] [stdout] note: the item is gated here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/os/mod.rs:100:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RO_INIT_MULTITHREADED`, `RoInitialize`, and `Windows::Win32::UI::Shell::SetCurrentProcessExplicitAppUserModelID` [INFO] [stdout] --> src/main.rs:27:37 [INFO] [stdout] | [INFO] [stdout] 27 | Windows::Win32::System::WinRT::{RoInitialize, RO_INIT_MULTITHREADED}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | Windows::Win32::UI::Shell::SetCurrentProcessExplicitAppUserModelID, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RO_INIT_MULTITHREADED`, `RoInitialize`, and `Windows::Win32::UI::Shell::SetCurrentProcessExplicitAppUserModelID` [INFO] [stdout] --> src/main.rs:27:37 [INFO] [stdout] | [INFO] [stdout] 27 | Windows::Win32::System::WinRT::{RoInitialize, RO_INIT_MULTITHREADED}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | Windows::Win32::UI::Shell::SetCurrentProcessExplicitAppUserModelID, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `encode_wide` found for reference `&OsStr` in the current scope [INFO] [stdout] --> src/main.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | s.encode_wide().chain(Some(0)).collect() [INFO] [stdout] | ^^^^^^^^^^^ method not found in `&OsStr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `encode_wide` found for reference `&OsStr` in the current scope [INFO] [stdout] --> src/main.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | s.encode_wide().chain(Some(0)).collect() [INFO] [stdout] | ^^^^^^^^^^^ method not found in `&OsStr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | OsString::from_wide(&s[..len]) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 88 | OsString::from_iter(&s[..len]) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | OsString::from_wide(&s[..len]) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 88 | OsString::from_iter(&s[..len]) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | OsString::from_wide(slice::from_raw_parts(ptr, len)) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 93 | OsString::from_iter(slice::from_raw_parts(ptr, len)) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | OsString::from_wide(slice::from_raw_parts(ptr, len)) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 93 | OsString::from_iter(slice::from_raw_parts(ptr, len)) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:118:23 [INFO] [stdout] | [INFO] [stdout] 118 | OsString::from_wide(slice) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 118 | OsString::from_iter(slice) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_wide` found for struct `OsString` in the current scope [INFO] [stdout] --> src/main.rs:118:23 [INFO] [stdout] | [INFO] [stdout] 118 | OsString::from_wide(slice) [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `OsString` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OsString` consider using one of the following associated functions: [INFO] [stdout] OsString::new [INFO] [stdout] OsString::from_encoded_bytes_unchecked [INFO] [stdout] OsString::with_capacity [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/ffi/os_str.rs:141:5 [INFO] [stdout] help: there is an associated function `from_iter` with a similar name [INFO] [stdout] | [INFO] [stdout] 118 | OsString::from_iter(slice) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `DwmKiller` (bin "DwmKiller") due to 6 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `DwmKiller` (bin "DwmKiller" test) due to 6 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6e4991eae721283dbaab99e17ba712754f2f1f6f39708a087e51c0b1f7ee5f82", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e4991eae721283dbaab99e17ba712754f2f1f6f39708a087e51c0b1f7ee5f82", kill_on_drop: false }` [INFO] [stdout] 6e4991eae721283dbaab99e17ba712754f2f1f6f39708a087e51c0b1f7ee5f82