1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const AdSyncTask: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(719734609, 46888, 19819, [151, 160, 178, 218, 46, 125, 42, 59]);
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4 #[repr(transparent)]
5 pub struct AdrClientDisplayFlags(pub i32);
6 pub const AdrClientDisplayFlags_AllowEmailRequests: AdrClientDisplayFlags = AdrClientDisplayFlags(1i32);
7 pub const AdrClientDisplayFlags_ShowDeviceTroubleshooting: AdrClientDisplayFlags = AdrClientDisplayFlags(2i32);
8 impl ::std::convert::From<i32> for AdrClientDisplayFlags {
9     fn from(value: i32) -> Self {
10         Self(value)
11     }
12 }
13 unsafe impl ::windows::runtime::Abi for AdrClientDisplayFlags {
14     type Abi = Self;
15     type DefaultType = Self;
16 }
17 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18 #[repr(transparent)]
19 pub struct AdrClientErrorType(pub i32);
20 pub const AdrClientErrorType_Unknown: AdrClientErrorType = AdrClientErrorType(0i32);
21 pub const AdrClientErrorType_AccessDenied: AdrClientErrorType = AdrClientErrorType(1i32);
22 pub const AdrClientErrorType_FileNotFound: AdrClientErrorType = AdrClientErrorType(2i32);
23 impl ::std::convert::From<i32> for AdrClientErrorType {
24     fn from(value: i32) -> Self {
25         Self(value)
26     }
main(int,char **)27 }
28 unsafe impl ::windows::runtime::Abi for AdrClientErrorType {
29     type Abi = Self;
30     type DefaultType = Self;
31 }
32 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
33 #[repr(transparent)]
34 pub struct AdrClientFlags(pub i32);
35 pub const AdrClientFlags_None: AdrClientFlags = AdrClientFlags(0i32);
36 pub const AdrClientFlags_FailForLocalPaths: AdrClientFlags = AdrClientFlags(1i32);
37 pub const AdrClientFlags_FailIfNotSupportedByServer: AdrClientFlags = AdrClientFlags(2i32);
38 pub const AdrClientFlags_FailIfNotDomainJoined: AdrClientFlags = AdrClientFlags(4i32);
39 impl ::std::convert::From<i32> for AdrClientFlags {
40     fn from(value: i32) -> Self {
41         Self(value)
42     }
43 }
44 unsafe impl ::windows::runtime::Abi for AdrClientFlags {
45     type Abi = Self;
46     type DefaultType = Self;
47 }
48 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
49 #[repr(transparent)]
50 pub struct AdrEmailFlags(pub i32);
51 pub const AdrEmailFlags_PutDataOwnerOnToLine: AdrEmailFlags = AdrEmailFlags(1i32);
52 pub const AdrEmailFlags_PutAdminOnToLine: AdrEmailFlags = AdrEmailFlags(2i32);
53 pub const AdrEmailFlags_IncludeDeviceClaims: AdrEmailFlags = AdrEmailFlags(4i32);
54 pub const AdrEmailFlags_IncludeUserInfo: AdrEmailFlags = AdrEmailFlags(8i32);
55 pub const AdrEmailFlags_GenerateEventLog: AdrEmailFlags = AdrEmailFlags(16i32);
56 impl ::std::convert::From<i32> for AdrEmailFlags {
57     fn from(value: i32) -> Self {
58         Self(value)
59     }
60 }
61 unsafe impl ::windows::runtime::Abi for AdrEmailFlags {
62     type Abi = Self;
63     type DefaultType = Self;
64 }
65 #[repr(transparent)]
66 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
67 pub struct DIFsrmClassificationEvents(::windows::runtime::IUnknown);
68 impl DIFsrmClassificationEvents {}
69 unsafe impl ::windows::runtime::Interface for DIFsrmClassificationEvents {
70     type Vtable = DIFsrmClassificationEvents_abi;
71     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(647245232, 55999, 16856, [187, 221, 177, 41, 169, 247, 4, 36]);
72 }
73 impl ::std::convert::From<DIFsrmClassificationEvents> for ::windows::runtime::IUnknown {
74     fn from(value: DIFsrmClassificationEvents) -> Self {
75         unsafe { ::std::mem::transmute(value) }
76     }
77 }
78 impl ::std::convert::From<&DIFsrmClassificationEvents> for ::windows::runtime::IUnknown {
79     fn from(value: &DIFsrmClassificationEvents) -> Self {
80         ::std::convert::From::from(::std::clone::Clone::clone(value))
81     }
82 }
83 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DIFsrmClassificationEvents {
84     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
85         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
86     }
87 }
88 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DIFsrmClassificationEvents {
89     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
90         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
91     }
92 }
93 #[cfg(feature = "Win32_System_Ole_Automation")]
94 impl ::std::convert::From<DIFsrmClassificationEvents> for super::super::System::Ole::Automation::IDispatch {
95     fn from(value: DIFsrmClassificationEvents) -> Self {
96         unsafe { ::std::mem::transmute(value) }
97     }
98 }
99 #[cfg(feature = "Win32_System_Ole_Automation")]
100 impl ::std::convert::From<&DIFsrmClassificationEvents> for super::super::System::Ole::Automation::IDispatch {
101     fn from(value: &DIFsrmClassificationEvents) -> Self {
102         ::std::convert::From::from(::std::clone::Clone::clone(value))
103     }
104 }
105 #[cfg(feature = "Win32_System_Ole_Automation")]
106 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DIFsrmClassificationEvents {
107     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
108         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
109     }
110 }
111 #[cfg(feature = "Win32_System_Ole_Automation")]
112 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DIFsrmClassificationEvents {
113     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
114         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
115     }
116 }
117 #[repr(C)]
118 #[doc(hidden)]
119 pub struct DIFsrmClassificationEvents_abi(
120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
124     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
125     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
126     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
127     #[cfg(not(feature = "Win32_Foundation"))] usize,
128     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
129     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
130     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
131 );
132 pub const FSRM_DISPID_FEATURE_CLASSIFICATION: u32 = 83886080u32;
133 pub const FSRM_DISPID_FEATURE_FILESCREEN: u32 = 50331648u32;
134 pub const FSRM_DISPID_FEATURE_GENERAL: u32 = 16777216u32;
135 pub const FSRM_DISPID_FEATURE_MASK: u32 = 251658240u32;
136 pub const FSRM_DISPID_FEATURE_PIPELINE: u32 = 100663296u32;
137 pub const FSRM_DISPID_FEATURE_QUOTA: u32 = 33554432u32;
138 pub const FSRM_DISPID_FEATURE_REPORTS: u32 = 67108864u32;
139 pub const FSRM_DISPID_INTERFACE_A_MASK: u32 = 15728640u32;
140 pub const FSRM_DISPID_INTERFACE_B_MASK: u32 = 983040u32;
141 pub const FSRM_DISPID_INTERFACE_C_MASK: u32 = 61440u32;
142 pub const FSRM_DISPID_INTERFACE_D_MASK: u32 = 3840u32;
143 pub const FSRM_DISPID_IS_PROPERTY: u32 = 128u32;
144 pub const FSRM_DISPID_METHOD_NUM_MASK: u32 = 127u32;
145 pub const FSRM_E_ADR_MAX_EMAILS_SENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200130i32 as _);
146 pub const FSRM_E_ADR_NOT_DOMAIN_JOINED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200110i32 as _);
147 pub const FSRM_E_ADR_PATH_IS_LOCAL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200111i32 as _);
148 pub const FSRM_E_ADR_SRV_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200112i32 as _);
149 pub const FSRM_E_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200253i32 as _);
150 pub const FSRM_E_AUTO_QUOTA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(283419i32 as _);
151 pub const FSRM_E_CACHE_INVALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200187i32 as _);
152 pub const FSRM_E_CACHE_MODULE_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200186i32 as _);
153 pub const FSRM_E_CANNOT_AGGREGATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200201i32 as _);
154 pub const FSRM_E_CANNOT_ALLOW_REPARSE_POINT_TAG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200170i32 as _);
155 pub const FSRM_E_CANNOT_CHANGE_PROPERTY_TYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200197i32 as _);
156 pub const FSRM_E_CANNOT_CREATE_TEMP_COPY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200132i32 as _);
157 pub const FSRM_E_CANNOT_DELETE_SYSTEM_PROPERTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200135i32 as _);
158 pub const FSRM_E_CANNOT_REMOVE_READONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200109i32 as _);
159 pub const FSRM_E_CANNOT_RENAME_PROPERTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200198i32 as _);
160 pub const FSRM_E_CANNOT_STORE_PROPERTIES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200171i32 as _);
161 pub const FSRM_E_CANNOT_USE_DELETED_PROPERTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200143i32 as _);
162 pub const FSRM_E_CANNOT_USE_DEPRECATED_PROPERTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200145i32 as _);
163 pub const FSRM_E_CLASSIFICATION_ALREADY_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200195i32 as _);
164 pub const FSRM_E_CLASSIFICATION_CANCELED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200141i32 as _);
165 pub const FSRM_E_CLASSIFICATION_NOT_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200194i32 as _);
166 pub const FSRM_E_CLASSIFICATION_PARTIAL_BATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200136i32 as _);
167 pub const FSRM_E_CLASSIFICATION_SCAN_FAIL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200148i32 as _);
168 pub const FSRM_E_CLASSIFICATION_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200137i32 as _);
169 pub const FSRM_E_CLUSTER_NOT_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200210i32 as _);
170 pub const FSRM_E_CSC_PATH_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200106i32 as _);
171 pub const FSRM_E_DIFFERENT_CLUSTER_GROUP: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200207i32 as _);
172 pub const FSRM_E_DRIVER_NOT_READY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200237i32 as _);
173 pub const FSRM_E_DUPLICATE_NAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200240i32 as _);
174 pub const FSRM_E_EMAIL_NOT_SENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200228i32 as _);
175 pub const FSRM_E_ENUM_PROPERTIES_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200173i32 as _);
176 pub const FSRM_E_ERROR_NOT_ENABLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200133i32 as _);
177 pub const FSRM_E_EXPIRATION_PATH_NOT_WRITEABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200105i32 as _);
178 pub const FSRM_E_EXPIRATION_PATH_TOO_LONG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200104i32 as _);
179 pub const FSRM_E_EXPIRATION_VOLUME_NOT_NTFS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200103i32 as _);
180 pub const FSRM_E_FAIL_BATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200247i32 as _);
181 pub const FSRM_E_FILE_ENCRYPTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200156i32 as _);
182 pub const FSRM_E_FILE_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200134i32 as _);
183 pub const FSRM_E_FILE_MANAGEMENT_ACTION_GET_EXITCODE_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200152i32 as _);
184 pub const FSRM_E_FILE_MANAGEMENT_ACTION_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200153i32 as _);
185 pub const FSRM_E_FILE_MANAGEMENT_EXPIRATION_DIR_IN_SCOPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200185i32 as _);
186 pub const FSRM_E_FILE_MANAGEMENT_JOB_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200184i32 as _);
187 pub const FSRM_E_FILE_MANAGEMENT_JOB_ALREADY_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200193i32 as _);
188 pub const FSRM_E_FILE_MANAGEMENT_JOB_CUSTOM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200191i32 as _);
189 pub const FSRM_E_FILE_MANAGEMENT_JOB_DEPRECATED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200102i32 as _);
190 pub const FSRM_E_FILE_MANAGEMENT_JOB_EXPIRATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200192i32 as _);
191 pub const FSRM_E_FILE_MANAGEMENT_JOB_INVALID_CONTINUOUS_CONFIG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200108i32 as _);
192 pub const FSRM_E_FILE_MANAGEMENT_JOB_MAX_FILE_CONDITIONS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200146i32 as _);
193 pub const FSRM_E_FILE_MANAGEMENT_JOB_NOTIFICATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200190i32 as _);
194 pub const FSRM_E_FILE_MANAGEMENT_JOB_NOT_LEGACY_ACCESSIBLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200147i32 as _);
195 pub const FSRM_E_FILE_MANAGEMENT_JOB_RMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200120i32 as _);
196 pub const FSRM_E_FILE_OPEN_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200189i32 as _);
197 pub const FSRM_E_FILE_SYSTEM_CORRUPT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200225i32 as _);
198 pub const FSRM_E_INCOMPATIBLE_FORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200157i32 as _);
199 pub const FSRM_E_INPROC_MODULE_BLOCKED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200174i32 as _);
200 pub const FSRM_E_INSECURE_PATH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200233i32 as _);
201 pub const FSRM_E_INSUFFICIENT_DISK: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200236i32 as _);
202 pub const FSRM_E_INVALID_AD_CLAIM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200142i32 as _);
203 pub const FSRM_E_INVALID_COMBINATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200241i32 as _);
204 pub const FSRM_E_INVALID_DATASCREEN_DEFINITION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200220i32 as _);
205 pub const FSRM_E_INVALID_EMAIL_ADDRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200226i32 as _);
206 pub const FSRM_E_INVALID_FILEGROUP_DEFINITION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200223i32 as _);
207 pub const FSRM_E_INVALID_FILENAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200214i32 as _);
208 pub const FSRM_E_INVALID_FOLDER_PROPERTY_STORE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200140i32 as _);
209 pub const FSRM_E_INVALID_IMPORT_VERSION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200245i32 as _);
210 pub const FSRM_E_INVALID_LIMIT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200249i32 as _);
211 pub const FSRM_E_INVALID_NAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200248i32 as _);
212 pub const FSRM_E_INVALID_PATH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200250i32 as _);
213 pub const FSRM_E_INVALID_REPORT_DESC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200215i32 as _);
214 pub const FSRM_E_INVALID_REPORT_FORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200216i32 as _);
215 pub const FSRM_E_INVALID_SCHEDULER_ARGUMENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200254i32 as _);
216 pub const FSRM_E_INVALID_SMTP_SERVER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200232i32 as _);
217 pub const FSRM_E_INVALID_TEXT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200246i32 as _);
218 pub const FSRM_E_INVALID_USER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200251i32 as _);
219 pub const FSRM_E_LAST_ACCESS_UPDATE_DISABLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200176i32 as _);
220 pub const FSRM_E_LEGACY_SCHEDULE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200107i32 as _);
221 pub const FSRM_E_LOADING_DISABLED_MODULE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200202i32 as _);
222 pub const FSRM_E_LONG_CMDLINE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200224i32 as _);
223 pub const FSRM_E_MAX_PROPERTY_DEFINITIONS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200196i32 as _);
224 pub const FSRM_E_MESSAGE_LIMIT_EXCEEDED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200200i32 as _);
225 pub const FSRM_E_MODULE_INITIALIZATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200150i32 as _);
226 pub const FSRM_E_MODULE_INVALID_PARAM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200151i32 as _);
227 pub const FSRM_E_MODULE_SESSION_INITIALIZATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200149i32 as _);
228 pub const FSRM_E_MODULE_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200101i32 as _);
229 pub const FSRM_E_NOT_CLUSTER_VOLUME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200208i32 as _);
230 pub const FSRM_E_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200255i32 as _);
231 pub const FSRM_E_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200239i32 as _);
232 pub const FSRM_E_NO_EMAIL_ADDRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200131i32 as _);
233 pub const FSRM_E_NO_PROPERTY_VALUE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200175i32 as _);
234 pub const FSRM_E_OBJECT_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200199i32 as _);
235 pub const FSRM_E_OUT_OF_RANGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200243i32 as _);
236 pub const FSRM_E_PARTIAL_CLASSIFICATION_PROPERTY_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200169i32 as _);
237 pub const FSRM_E_PATH_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200252i32 as _);
238 pub const FSRM_E_PATH_NOT_IN_NAMESPACE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200129i32 as _);
239 pub const FSRM_E_PERSIST_PROPERTIES_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200155i32 as _);
240 pub const FSRM_E_PERSIST_PROPERTIES_FAILED_ENCRYPTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200166i32 as _);
241 pub const FSRM_E_PROPERTY_DELETED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200183i32 as _);
242 pub const FSRM_E_PROPERTY_MUST_APPLY_TO_FILES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200138i32 as _);
243 pub const FSRM_E_PROPERTY_MUST_APPLY_TO_FOLDERS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200124i32 as _);
244 pub const FSRM_E_PROPERTY_MUST_BE_GLOBAL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200122i32 as _);
245 pub const FSRM_E_PROPERTY_MUST_BE_SECURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200123i32 as _);
246 pub const FSRM_E_REBUILDING_FODLER_TYPE_INDEX: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200139i32 as _);
247 pub const FSRM_E_REPORT_GENERATION_ERR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200204i32 as _);
248 pub const FSRM_E_REPORT_JOB_ALREADY_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200205i32 as _);
249 pub const FSRM_E_REPORT_TASK_TRIGGER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200203i32 as _);
250 pub const FSRM_E_REPORT_TYPE_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200206i32 as _);
251 pub const FSRM_E_REQD_PARAM_MISSING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200242i32 as _);
252 pub const FSRM_E_RMS_NO_PROTECTORS_INSTALLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200126i32 as _);
253 pub const FSRM_E_RMS_NO_PROTECTOR_INSTALLED_FOR_FILE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200125i32 as _);
254 pub const FSRM_E_RMS_TEMPLATE_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200128i32 as _);
255 pub const FSRM_E_SECURE_PROPERTIES_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200127i32 as _);
256 pub const FSRM_E_SET_PROPERTY_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200172i32 as _);
257 pub const FSRM_E_SHADOW_COPY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200212i32 as _);
258 pub const FSRM_E_STORE_NOT_INSTALLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200209i32 as _);
259 pub const FSRM_E_SYNC_TASK_HAD_ERRORS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200119i32 as _);
260 pub const FSRM_E_SYNC_TASK_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200144i32 as _);
261 pub const FSRM_E_TEXTREADER_FILENAME_TOO_LONG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200158i32 as _);
262 pub const FSRM_E_TEXTREADER_IFILTER_CLSID_MALFORMED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200160i32 as _);
263 pub const FSRM_E_TEXTREADER_IFILTER_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200167i32 as _);
264 pub const FSRM_E_TEXTREADER_NOT_INITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200168i32 as _);
265 pub const FSRM_E_TEXTREADER_STREAM_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200159i32 as _);
266 pub const FSRM_E_UNEXPECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200234i32 as _);
267 pub const FSRM_E_UNSECURE_LINK_TO_HOSTED_MODULE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200188i32 as _);
268 pub const FSRM_E_VOLUME_OFFLINE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200154i32 as _);
269 pub const FSRM_E_VOLUME_UNSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200235i32 as _);
270 pub const FSRM_E_WMI_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200121i32 as _);
271 pub const FSRM_E_XML_CORRUPTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147200211i32 as _);
272 pub const FSRM_S_CLASSIFICATION_SCAN_FAILURES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(283398i32 as _);
273 pub const FSRM_S_PARTIAL_BATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(283396i32 as _);
274 pub const FSRM_S_PARTIAL_CLASSIFICATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(283397i32 as _);
275 pub const FsrmAccessDeniedRemediationClient: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(269176776, 29889, 18191, [177, 183, 221, 123, 107, 174, 121, 189]);
276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
277 #[repr(transparent)]
278 pub struct FsrmAccountType(pub i32);
279 pub const FsrmAccountType_Unknown: FsrmAccountType = FsrmAccountType(0i32);
280 pub const FsrmAccountType_NetworkService: FsrmAccountType = FsrmAccountType(1i32);
281 pub const FsrmAccountType_LocalService: FsrmAccountType = FsrmAccountType(2i32);
282 pub const FsrmAccountType_LocalSystem: FsrmAccountType = FsrmAccountType(3i32);
283 pub const FsrmAccountType_InProc: FsrmAccountType = FsrmAccountType(4i32);
284 pub const FsrmAccountType_External: FsrmAccountType = FsrmAccountType(5i32);
285 pub const FsrmAccountType_Automatic: FsrmAccountType = FsrmAccountType(500i32);
286 impl ::std::convert::From<i32> for FsrmAccountType {
287     fn from(value: i32) -> Self {
288         Self(value)
289     }
290 }
291 unsafe impl ::windows::runtime::Abi for FsrmAccountType {
292     type Abi = Self;
293     type DefaultType = Self;
294 }
295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
296 #[repr(transparent)]
297 pub struct FsrmActionType(pub i32);
298 pub const FsrmActionType_Unknown: FsrmActionType = FsrmActionType(0i32);
299 pub const FsrmActionType_EventLog: FsrmActionType = FsrmActionType(1i32);
300 pub const FsrmActionType_Email: FsrmActionType = FsrmActionType(2i32);
301 pub const FsrmActionType_Command: FsrmActionType = FsrmActionType(3i32);
302 pub const FsrmActionType_Report: FsrmActionType = FsrmActionType(4i32);
303 impl ::std::convert::From<i32> for FsrmActionType {
304     fn from(value: i32) -> Self {
305         Self(value)
306     }
307 }
308 unsafe impl ::windows::runtime::Abi for FsrmActionType {
309     type Abi = Self;
310     type DefaultType = Self;
311 }
312 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
313 #[repr(transparent)]
314 pub struct FsrmClassificationLoggingFlags(pub i32);
315 pub const FsrmClassificationLoggingFlags_None: FsrmClassificationLoggingFlags = FsrmClassificationLoggingFlags(0i32);
316 pub const FsrmClassificationLoggingFlags_ClassificationsInLogFile: FsrmClassificationLoggingFlags = FsrmClassificationLoggingFlags(1i32);
317 pub const FsrmClassificationLoggingFlags_ErrorsInLogFile: FsrmClassificationLoggingFlags = FsrmClassificationLoggingFlags(2i32);
318 pub const FsrmClassificationLoggingFlags_ClassificationsInSystemLog: FsrmClassificationLoggingFlags = FsrmClassificationLoggingFlags(4i32);
319 pub const FsrmClassificationLoggingFlags_ErrorsInSystemLog: FsrmClassificationLoggingFlags = FsrmClassificationLoggingFlags(8i32);
320 impl ::std::convert::From<i32> for FsrmClassificationLoggingFlags {
321     fn from(value: i32) -> Self {
322         Self(value)
323     }
324 }
325 unsafe impl ::windows::runtime::Abi for FsrmClassificationLoggingFlags {
326     type Abi = Self;
327     type DefaultType = Self;
328 }
329 pub const FsrmClassificationManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2975600199, 50065, 17849, [149, 200, 235, 89, 108, 133, 63, 58]);
330 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
331 #[repr(transparent)]
332 pub struct FsrmCollectionState(pub i32);
333 pub const FsrmCollectionState_Fetching: FsrmCollectionState = FsrmCollectionState(1i32);
334 pub const FsrmCollectionState_Committing: FsrmCollectionState = FsrmCollectionState(2i32);
335 pub const FsrmCollectionState_Complete: FsrmCollectionState = FsrmCollectionState(3i32);
336 pub const FsrmCollectionState_Cancelled: FsrmCollectionState = FsrmCollectionState(4i32);
337 impl ::std::convert::From<i32> for FsrmCollectionState {
338     fn from(value: i32) -> Self {
339         Self(value)
340     }
341 }
342 unsafe impl ::windows::runtime::Abi for FsrmCollectionState {
343     type Abi = Self;
344     type DefaultType = Self;
345 }
346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
347 #[repr(transparent)]
348 pub struct FsrmCommitOptions(pub i32);
349 pub const FsrmCommitOptions_None: FsrmCommitOptions = FsrmCommitOptions(0i32);
350 pub const FsrmCommitOptions_Asynchronous: FsrmCommitOptions = FsrmCommitOptions(1i32);
351 impl ::std::convert::From<i32> for FsrmCommitOptions {
352     fn from(value: i32) -> Self {
353         Self(value)
354     }
355 }
356 unsafe impl ::windows::runtime::Abi for FsrmCommitOptions {
357     type Abi = Self;
358     type DefaultType = Self;
359 }
360 pub const FsrmDaysNotSpecified: i32 = -1i32;
361 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
362 #[repr(transparent)]
363 pub struct FsrmEnumOptions(pub i32);
364 pub const FsrmEnumOptions_None: FsrmEnumOptions = FsrmEnumOptions(0i32);
365 pub const FsrmEnumOptions_Asynchronous: FsrmEnumOptions = FsrmEnumOptions(1i32);
366 pub const FsrmEnumOptions_CheckRecycleBin: FsrmEnumOptions = FsrmEnumOptions(2i32);
367 pub const FsrmEnumOptions_IncludeClusterNodes: FsrmEnumOptions = FsrmEnumOptions(4i32);
368 pub const FsrmEnumOptions_IncludeDeprecatedObjects: FsrmEnumOptions = FsrmEnumOptions(8i32);
369 impl ::std::convert::From<i32> for FsrmEnumOptions {
370     fn from(value: i32) -> Self {
371         Self(value)
372     }
373 }
374 unsafe impl ::windows::runtime::Abi for FsrmEnumOptions {
375     type Abi = Self;
376     type DefaultType = Self;
377 }
378 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
379 #[repr(transparent)]
380 pub struct FsrmEventType(pub i32);
381 pub const FsrmEventType_Unknown: FsrmEventType = FsrmEventType(0i32);
382 pub const FsrmEventType_Information: FsrmEventType = FsrmEventType(1i32);
383 pub const FsrmEventType_Warning: FsrmEventType = FsrmEventType(2i32);
384 pub const FsrmEventType_Error: FsrmEventType = FsrmEventType(3i32);
385 impl ::std::convert::From<i32> for FsrmEventType {
386     fn from(value: i32) -> Self {
387         Self(value)
388     }
389 }
390 unsafe impl ::windows::runtime::Abi for FsrmEventType {
391     type Abi = Self;
392     type DefaultType = Self;
393 }
394 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
395 #[repr(transparent)]
396 pub struct FsrmExecutionOption(pub i32);
397 pub const FsrmExecutionOption_Unknown: FsrmExecutionOption = FsrmExecutionOption(0i32);
398 pub const FsrmExecutionOption_EvaluateUnset: FsrmExecutionOption = FsrmExecutionOption(1i32);
399 pub const FsrmExecutionOption_ReEvaluate_ConsiderExistingValue: FsrmExecutionOption = FsrmExecutionOption(2i32);
400 pub const FsrmExecutionOption_ReEvaluate_IgnoreExistingValue: FsrmExecutionOption = FsrmExecutionOption(3i32);
401 impl ::std::convert::From<i32> for FsrmExecutionOption {
402     fn from(value: i32) -> Self {
403         Self(value)
404     }
405 }
406 unsafe impl ::windows::runtime::Abi for FsrmExecutionOption {
407     type Abi = Self;
408     type DefaultType = Self;
409 }
410 pub const FsrmExportImport: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(344120375, 64233, 18311, [144, 37, 140, 228, 224, 36, 171, 86]);
411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
412 #[repr(transparent)]
413 pub struct FsrmFileConditionType(pub i32);
414 pub const FsrmFileConditionType_Unknown: FsrmFileConditionType = FsrmFileConditionType(0i32);
415 pub const FsrmFileConditionType_Property: FsrmFileConditionType = FsrmFileConditionType(1i32);
416 impl ::std::convert::From<i32> for FsrmFileConditionType {
417     fn from(value: i32) -> Self {
418         Self(value)
419     }
420 }
421 unsafe impl ::windows::runtime::Abi for FsrmFileConditionType {
422     type Abi = Self;
423     type DefaultType = Self;
424 }
425 pub const FsrmFileGroupManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2400412662, 25967, 17558, [146, 38, 19, 174, 203, 215, 113, 143]);
426 pub const FsrmFileManagementJobManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3944282546, 19514, 17185, [178, 3, 32, 81, 32, 207, 246, 20]);
427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
428 #[repr(transparent)]
429 pub struct FsrmFileManagementLoggingFlags(pub i32);
430 pub const FsrmFileManagementLoggingFlags_None: FsrmFileManagementLoggingFlags = FsrmFileManagementLoggingFlags(0i32);
431 pub const FsrmFileManagementLoggingFlags_Error: FsrmFileManagementLoggingFlags = FsrmFileManagementLoggingFlags(1i32);
432 pub const FsrmFileManagementLoggingFlags_Information: FsrmFileManagementLoggingFlags = FsrmFileManagementLoggingFlags(2i32);
433 pub const FsrmFileManagementLoggingFlags_Audit: FsrmFileManagementLoggingFlags = FsrmFileManagementLoggingFlags(4i32);
434 impl ::std::convert::From<i32> for FsrmFileManagementLoggingFlags {
435     fn from(value: i32) -> Self {
436         Self(value)
437     }
438 }
439 unsafe impl ::windows::runtime::Abi for FsrmFileManagementLoggingFlags {
440     type Abi = Self;
441     type DefaultType = Self;
442 }
443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
444 #[repr(transparent)]
445 pub struct FsrmFileManagementType(pub i32);
446 pub const FsrmFileManagementType_Unknown: FsrmFileManagementType = FsrmFileManagementType(0i32);
447 pub const FsrmFileManagementType_Expiration: FsrmFileManagementType = FsrmFileManagementType(1i32);
448 pub const FsrmFileManagementType_Custom: FsrmFileManagementType = FsrmFileManagementType(2i32);
449 pub const FsrmFileManagementType_Rms: FsrmFileManagementType = FsrmFileManagementType(3i32);
450 impl ::std::convert::From<i32> for FsrmFileManagementType {
451     fn from(value: i32) -> Self {
452         Self(value)
453     }
454 }
455 unsafe impl ::windows::runtime::Abi for FsrmFileManagementType {
456     type Abi = Self;
457     type DefaultType = Self;
458 }
459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
460 #[repr(transparent)]
461 pub struct FsrmFileScreenFlags(pub i32);
462 pub const FsrmFileScreenFlags_Enforce: FsrmFileScreenFlags = FsrmFileScreenFlags(1i32);
463 impl ::std::convert::From<i32> for FsrmFileScreenFlags {
464     fn from(value: i32) -> Self {
465         Self(value)
466     }
467 }
468 unsafe impl ::windows::runtime::Abi for FsrmFileScreenFlags {
469     type Abi = Self;
470     type DefaultType = Self;
471 }
472 pub const FsrmFileScreenManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2509508995, 56147, 19551, [179, 123, 125, 9, 33, 207, 157, 199]);
473 pub const FsrmFileScreenTemplateManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(607195615, 58484, 18090, [160, 84, 234, 163, 62, 220, 41, 42]);
474 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
475 #[repr(transparent)]
476 pub struct FsrmFileStreamingInterfaceType(pub i32);
477 pub const FsrmFileStreamingInterfaceType_Unknown: FsrmFileStreamingInterfaceType = FsrmFileStreamingInterfaceType(0i32);
478 pub const FsrmFileStreamingInterfaceType_ILockBytes: FsrmFileStreamingInterfaceType = FsrmFileStreamingInterfaceType(1i32);
479 pub const FsrmFileStreamingInterfaceType_IStream: FsrmFileStreamingInterfaceType = FsrmFileStreamingInterfaceType(2i32);
480 impl ::std::convert::From<i32> for FsrmFileStreamingInterfaceType {
481     fn from(value: i32) -> Self {
482         Self(value)
483     }
484 }
485 unsafe impl ::windows::runtime::Abi for FsrmFileStreamingInterfaceType {
486     type Abi = Self;
487     type DefaultType = Self;
488 }
489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
490 #[repr(transparent)]
491 pub struct FsrmFileStreamingMode(pub i32);
492 pub const FsrmFileStreamingMode_Unknown: FsrmFileStreamingMode = FsrmFileStreamingMode(0i32);
493 pub const FsrmFileStreamingMode_Read: FsrmFileStreamingMode = FsrmFileStreamingMode(1i32);
494 pub const FsrmFileStreamingMode_Write: FsrmFileStreamingMode = FsrmFileStreamingMode(2i32);
495 impl ::std::convert::From<i32> for FsrmFileStreamingMode {
496     fn from(value: i32) -> Self {
497         Self(value)
498     }
499 }
500 unsafe impl ::windows::runtime::Abi for FsrmFileStreamingMode {
501     type Abi = Self;
502     type DefaultType = Self;
503 }
504 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
505 #[repr(transparent)]
506 pub struct FsrmFileSystemPropertyId(pub i32);
507 pub const FsrmFileSystemPropertyId_Undefined: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(0i32);
508 pub const FsrmFileSystemPropertyId_FileName: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(1i32);
509 pub const FsrmFileSystemPropertyId_DateCreated: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(2i32);
510 pub const FsrmFileSystemPropertyId_DateLastAccessed: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(3i32);
511 pub const FsrmFileSystemPropertyId_DateLastModified: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(4i32);
512 pub const FsrmFileSystemPropertyId_DateNow: FsrmFileSystemPropertyId = FsrmFileSystemPropertyId(5i32);
513 impl ::std::convert::From<i32> for FsrmFileSystemPropertyId {
514     fn from(value: i32) -> Self {
515         Self(value)
516     }
517 }
518 unsafe impl ::windows::runtime::Abi for FsrmFileSystemPropertyId {
519     type Abi = Self;
520     type DefaultType = Self;
521 }
522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
523 #[repr(transparent)]
524 pub struct FsrmGetFilePropertyOptions(pub i32);
525 pub const FsrmGetFilePropertyOptions_None: FsrmGetFilePropertyOptions = FsrmGetFilePropertyOptions(0i32);
526 pub const FsrmGetFilePropertyOptions_NoRuleEvaluation: FsrmGetFilePropertyOptions = FsrmGetFilePropertyOptions(1i32);
527 pub const FsrmGetFilePropertyOptions_Persistent: FsrmGetFilePropertyOptions = FsrmGetFilePropertyOptions(2i32);
528 pub const FsrmGetFilePropertyOptions_FailOnPersistErrors: FsrmGetFilePropertyOptions = FsrmGetFilePropertyOptions(4i32);
529 pub const FsrmGetFilePropertyOptions_SkipOrphaned: FsrmGetFilePropertyOptions = FsrmGetFilePropertyOptions(8i32);
530 impl ::std::convert::From<i32> for FsrmGetFilePropertyOptions {
531     fn from(value: i32) -> Self {
532         Self(value)
533     }
534 }
535 unsafe impl ::windows::runtime::Abi for FsrmGetFilePropertyOptions {
536     type Abi = Self;
537     type DefaultType = Self;
538 }
539 pub const FsrmMaxExcludeFolders: u32 = 32u32;
540 pub const FsrmMaxNumberPropertyDefinitions: u32 = 100u32;
541 pub const FsrmMaxNumberThresholds: u32 = 16u32;
542 pub const FsrmMaxThresholdValue: u32 = 250u32;
543 pub const FsrmMinQuotaLimit: u32 = 1024u32;
544 pub const FsrmMinThresholdValue: u32 = 1u32;
545 pub const FsrmPathMapper: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4089332413, 35522, 16542, [187, 216, 250, 249, 182, 180, 31, 235]);
546 pub const FsrmPipelineModuleConnector: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3345232757, 7861, 17630, [160, 98, 98, 53, 71, 217, 51, 188]);
547 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
548 #[repr(transparent)]
549 pub struct FsrmPipelineModuleType(pub i32);
550 pub const FsrmPipelineModuleType_Unknown: FsrmPipelineModuleType = FsrmPipelineModuleType(0i32);
551 pub const FsrmPipelineModuleType_Storage: FsrmPipelineModuleType = FsrmPipelineModuleType(1i32);
552 pub const FsrmPipelineModuleType_Classifier: FsrmPipelineModuleType = FsrmPipelineModuleType(2i32);
553 impl ::std::convert::From<i32> for FsrmPipelineModuleType {
554     fn from(value: i32) -> Self {
555         Self(value)
556     }
557 }
558 unsafe impl ::windows::runtime::Abi for FsrmPipelineModuleType {
559     type Abi = Self;
560     type DefaultType = Self;
561 }
562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
563 #[repr(transparent)]
564 pub struct FsrmPropertyBagField(pub i32);
565 pub const FsrmPropertyBagField_AccessVolume: FsrmPropertyBagField = FsrmPropertyBagField(0i32);
566 pub const FsrmPropertyBagField_VolumeGuidName: FsrmPropertyBagField = FsrmPropertyBagField(1i32);
567 impl ::std::convert::From<i32> for FsrmPropertyBagField {
568     fn from(value: i32) -> Self {
569         Self(value)
570     }
571 }
572 unsafe impl ::windows::runtime::Abi for FsrmPropertyBagField {
573     type Abi = Self;
574     type DefaultType = Self;
575 }
576 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
577 #[repr(transparent)]
578 pub struct FsrmPropertyBagFlags(pub i32);
579 pub const FsrmPropertyBagFlags_UpdatedByClassifier: FsrmPropertyBagFlags = FsrmPropertyBagFlags(1i32);
580 pub const FsrmPropertyBagFlags_FailedLoadingProperties: FsrmPropertyBagFlags = FsrmPropertyBagFlags(2i32);
581 pub const FsrmPropertyBagFlags_FailedSavingProperties: FsrmPropertyBagFlags = FsrmPropertyBagFlags(4i32);
582 pub const FsrmPropertyBagFlags_FailedClassifyingProperties: FsrmPropertyBagFlags = FsrmPropertyBagFlags(8i32);
583 impl ::std::convert::From<i32> for FsrmPropertyBagFlags {
584     fn from(value: i32) -> Self {
585         Self(value)
586     }
587 }
588 unsafe impl ::windows::runtime::Abi for FsrmPropertyBagFlags {
589     type Abi = Self;
590     type DefaultType = Self;
591 }
592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
593 #[repr(transparent)]
594 pub struct FsrmPropertyConditionType(pub i32);
595 pub const FsrmPropertyConditionType_Unknown: FsrmPropertyConditionType = FsrmPropertyConditionType(0i32);
596 pub const FsrmPropertyConditionType_Equal: FsrmPropertyConditionType = FsrmPropertyConditionType(1i32);
597 pub const FsrmPropertyConditionType_NotEqual: FsrmPropertyConditionType = FsrmPropertyConditionType(2i32);
598 pub const FsrmPropertyConditionType_GreaterThan: FsrmPropertyConditionType = FsrmPropertyConditionType(3i32);
599 pub const FsrmPropertyConditionType_LessThan: FsrmPropertyConditionType = FsrmPropertyConditionType(4i32);
600 pub const FsrmPropertyConditionType_Contain: FsrmPropertyConditionType = FsrmPropertyConditionType(5i32);
601 pub const FsrmPropertyConditionType_Exist: FsrmPropertyConditionType = FsrmPropertyConditionType(6i32);
602 pub const FsrmPropertyConditionType_NotExist: FsrmPropertyConditionType = FsrmPropertyConditionType(7i32);
603 pub const FsrmPropertyConditionType_StartWith: FsrmPropertyConditionType = FsrmPropertyConditionType(8i32);
604 pub const FsrmPropertyConditionType_EndWith: FsrmPropertyConditionType = FsrmPropertyConditionType(9i32);
605 pub const FsrmPropertyConditionType_ContainedIn: FsrmPropertyConditionType = FsrmPropertyConditionType(10i32);
606 pub const FsrmPropertyConditionType_PrefixOf: FsrmPropertyConditionType = FsrmPropertyConditionType(11i32);
607 pub const FsrmPropertyConditionType_SuffixOf: FsrmPropertyConditionType = FsrmPropertyConditionType(12i32);
608 pub const FsrmPropertyConditionType_MatchesPattern: FsrmPropertyConditionType = FsrmPropertyConditionType(13i32);
609 impl ::std::convert::From<i32> for FsrmPropertyConditionType {
610     fn from(value: i32) -> Self {
611         Self(value)
612     }
613 }
614 unsafe impl ::windows::runtime::Abi for FsrmPropertyConditionType {
615     type Abi = Self;
616     type DefaultType = Self;
617 }
618 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
619 #[repr(transparent)]
620 pub struct FsrmPropertyDefinitionAppliesTo(pub i32);
621 pub const FsrmPropertyDefinitionAppliesTo_Files: FsrmPropertyDefinitionAppliesTo = FsrmPropertyDefinitionAppliesTo(1i32);
622 pub const FsrmPropertyDefinitionAppliesTo_Folders: FsrmPropertyDefinitionAppliesTo = FsrmPropertyDefinitionAppliesTo(2i32);
623 impl ::std::convert::From<i32> for FsrmPropertyDefinitionAppliesTo {
624     fn from(value: i32) -> Self {
625         Self(value)
626     }
627 }
628 unsafe impl ::windows::runtime::Abi for FsrmPropertyDefinitionAppliesTo {
629     type Abi = Self;
630     type DefaultType = Self;
631 }
632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
633 #[repr(transparent)]
634 pub struct FsrmPropertyDefinitionFlags(pub i32);
635 pub const FsrmPropertyDefinitionFlags_Global: FsrmPropertyDefinitionFlags = FsrmPropertyDefinitionFlags(1i32);
636 pub const FsrmPropertyDefinitionFlags_Deprecated: FsrmPropertyDefinitionFlags = FsrmPropertyDefinitionFlags(2i32);
637 pub const FsrmPropertyDefinitionFlags_Secure: FsrmPropertyDefinitionFlags = FsrmPropertyDefinitionFlags(4i32);
638 impl ::std::convert::From<i32> for FsrmPropertyDefinitionFlags {
639     fn from(value: i32) -> Self {
640         Self(value)
641     }
642 }
643 unsafe impl ::windows::runtime::Abi for FsrmPropertyDefinitionFlags {
644     type Abi = Self;
645     type DefaultType = Self;
646 }
647 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
648 #[repr(transparent)]
649 pub struct FsrmPropertyDefinitionType(pub i32);
650 pub const FsrmPropertyDefinitionType_Unknown: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(0i32);
651 pub const FsrmPropertyDefinitionType_OrderedList: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(1i32);
652 pub const FsrmPropertyDefinitionType_MultiChoiceList: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(2i32);
653 pub const FsrmPropertyDefinitionType_SingleChoiceList: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(3i32);
654 pub const FsrmPropertyDefinitionType_String: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(4i32);
655 pub const FsrmPropertyDefinitionType_MultiString: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(5i32);
656 pub const FsrmPropertyDefinitionType_Int: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(6i32);
657 pub const FsrmPropertyDefinitionType_Bool: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(7i32);
658 pub const FsrmPropertyDefinitionType_Date: FsrmPropertyDefinitionType = FsrmPropertyDefinitionType(8i32);
659 impl ::std::convert::From<i32> for FsrmPropertyDefinitionType {
660     fn from(value: i32) -> Self {
661         Self(value)
662     }
663 }
664 unsafe impl ::windows::runtime::Abi for FsrmPropertyDefinitionType {
665     type Abi = Self;
666     type DefaultType = Self;
667 }
668 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
669 #[repr(transparent)]
670 pub struct FsrmPropertyFlags(pub i32);
671 pub const FsrmPropertyFlags_None: FsrmPropertyFlags = FsrmPropertyFlags(0i32);
672 pub const FsrmPropertyFlags_Orphaned: FsrmPropertyFlags = FsrmPropertyFlags(1i32);
673 pub const FsrmPropertyFlags_RetrievedFromCache: FsrmPropertyFlags = FsrmPropertyFlags(2i32);
674 pub const FsrmPropertyFlags_RetrievedFromStorage: FsrmPropertyFlags = FsrmPropertyFlags(4i32);
675 pub const FsrmPropertyFlags_SetByClassifier: FsrmPropertyFlags = FsrmPropertyFlags(8i32);
676 pub const FsrmPropertyFlags_Deleted: FsrmPropertyFlags = FsrmPropertyFlags(16i32);
677 pub const FsrmPropertyFlags_Reclassified: FsrmPropertyFlags = FsrmPropertyFlags(32i32);
678 pub const FsrmPropertyFlags_AggregationFailed: FsrmPropertyFlags = FsrmPropertyFlags(64i32);
679 pub const FsrmPropertyFlags_Existing: FsrmPropertyFlags = FsrmPropertyFlags(128i32);
680 pub const FsrmPropertyFlags_FailedLoadingProperties: FsrmPropertyFlags = FsrmPropertyFlags(256i32);
681 pub const FsrmPropertyFlags_FailedClassifyingProperties: FsrmPropertyFlags = FsrmPropertyFlags(512i32);
682 pub const FsrmPropertyFlags_FailedSavingProperties: FsrmPropertyFlags = FsrmPropertyFlags(1024i32);
683 pub const FsrmPropertyFlags_Secure: FsrmPropertyFlags = FsrmPropertyFlags(2048i32);
684 pub const FsrmPropertyFlags_PolicyDerived: FsrmPropertyFlags = FsrmPropertyFlags(4096i32);
685 pub const FsrmPropertyFlags_Inherited: FsrmPropertyFlags = FsrmPropertyFlags(8192i32);
686 pub const FsrmPropertyFlags_Manual: FsrmPropertyFlags = FsrmPropertyFlags(16384i32);
687 pub const FsrmPropertyFlags_ExplicitValueDeleted: FsrmPropertyFlags = FsrmPropertyFlags(32768i32);
688 pub const FsrmPropertyFlags_PropertyDeletedFromClear: FsrmPropertyFlags = FsrmPropertyFlags(65536i32);
689 pub const FsrmPropertyFlags_PropertySourceMask: FsrmPropertyFlags = FsrmPropertyFlags(14i32);
690 pub const FsrmPropertyFlags_PersistentMask: FsrmPropertyFlags = FsrmPropertyFlags(20480i32);
691 impl ::std::convert::From<i32> for FsrmPropertyFlags {
692     fn from(value: i32) -> Self {
693         Self(value)
694     }
695 }
696 unsafe impl ::windows::runtime::Abi for FsrmPropertyFlags {
697     type Abi = Self;
698     type DefaultType = Self;
699 }
700 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
701 #[repr(transparent)]
702 pub struct FsrmPropertyValueType(pub i32);
703 pub const FsrmPropertyValueType_Undefined: FsrmPropertyValueType = FsrmPropertyValueType(0i32);
704 pub const FsrmPropertyValueType_Literal: FsrmPropertyValueType = FsrmPropertyValueType(1i32);
705 pub const FsrmPropertyValueType_DateOffset: FsrmPropertyValueType = FsrmPropertyValueType(2i32);
706 impl ::std::convert::From<i32> for FsrmPropertyValueType {
707     fn from(value: i32) -> Self {
708         Self(value)
709     }
710 }
711 unsafe impl ::windows::runtime::Abi for FsrmPropertyValueType {
712     type Abi = Self;
713     type DefaultType = Self;
714 }
715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
716 #[repr(transparent)]
717 pub struct FsrmQuotaFlags(pub i32);
718 pub const FsrmQuotaFlags_Enforce: FsrmQuotaFlags = FsrmQuotaFlags(256i32);
719 pub const FsrmQuotaFlags_Disable: FsrmQuotaFlags = FsrmQuotaFlags(512i32);
720 pub const FsrmQuotaFlags_StatusIncomplete: FsrmQuotaFlags = FsrmQuotaFlags(65536i32);
721 pub const FsrmQuotaFlags_StatusRebuilding: FsrmQuotaFlags = FsrmQuotaFlags(131072i32);
722 impl ::std::convert::From<i32> for FsrmQuotaFlags {
723     fn from(value: i32) -> Self {
724         Self(value)
725     }
726 }
727 unsafe impl ::windows::runtime::Abi for FsrmQuotaFlags {
728     type Abi = Self;
729     type DefaultType = Self;
730 }
731 pub const FsrmQuotaManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2430380927, 13436, 19452, [181, 67, 84, 3, 38, 48, 95, 190]);
732 pub const FsrmQuotaTemplateManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2547242051, 9500, 17207, [129, 231, 179, 46, 143, 78, 230, 94]);
733 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
734 #[repr(transparent)]
735 pub struct FsrmReportFilter(pub i32);
736 pub const FsrmReportFilter_MinSize: FsrmReportFilter = FsrmReportFilter(1i32);
737 pub const FsrmReportFilter_MinAgeDays: FsrmReportFilter = FsrmReportFilter(2i32);
738 pub const FsrmReportFilter_MaxAgeDays: FsrmReportFilter = FsrmReportFilter(3i32);
739 pub const FsrmReportFilter_MinQuotaUsage: FsrmReportFilter = FsrmReportFilter(4i32);
740 pub const FsrmReportFilter_FileGroups: FsrmReportFilter = FsrmReportFilter(5i32);
741 pub const FsrmReportFilter_Owners: FsrmReportFilter = FsrmReportFilter(6i32);
742 pub const FsrmReportFilter_NamePattern: FsrmReportFilter = FsrmReportFilter(7i32);
743 pub const FsrmReportFilter_Property: FsrmReportFilter = FsrmReportFilter(8i32);
744 impl ::std::convert::From<i32> for FsrmReportFilter {
745     fn from(value: i32) -> Self {
746         Self(value)
747     }
748 }
749 unsafe impl ::windows::runtime::Abi for FsrmReportFilter {
750     type Abi = Self;
751     type DefaultType = Self;
752 }
753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
754 #[repr(transparent)]
755 pub struct FsrmReportFormat(pub i32);
756 pub const FsrmReportFormat_Unknown: FsrmReportFormat = FsrmReportFormat(0i32);
757 pub const FsrmReportFormat_DHtml: FsrmReportFormat = FsrmReportFormat(1i32);
758 pub const FsrmReportFormat_Html: FsrmReportFormat = FsrmReportFormat(2i32);
759 pub const FsrmReportFormat_Txt: FsrmReportFormat = FsrmReportFormat(3i32);
760 pub const FsrmReportFormat_Csv: FsrmReportFormat = FsrmReportFormat(4i32);
761 pub const FsrmReportFormat_Xml: FsrmReportFormat = FsrmReportFormat(5i32);
762 impl ::std::convert::From<i32> for FsrmReportFormat {
763     fn from(value: i32) -> Self {
764         Self(value)
765     }
766 }
767 unsafe impl ::windows::runtime::Abi for FsrmReportFormat {
768     type Abi = Self;
769     type DefaultType = Self;
770 }
771 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
772 #[repr(transparent)]
773 pub struct FsrmReportGenerationContext(pub i32);
774 pub const FsrmReportGenerationContext_Undefined: FsrmReportGenerationContext = FsrmReportGenerationContext(1i32);
775 pub const FsrmReportGenerationContext_ScheduledReport: FsrmReportGenerationContext = FsrmReportGenerationContext(2i32);
776 pub const FsrmReportGenerationContext_InteractiveReport: FsrmReportGenerationContext = FsrmReportGenerationContext(3i32);
777 pub const FsrmReportGenerationContext_IncidentReport: FsrmReportGenerationContext = FsrmReportGenerationContext(4i32);
778 impl ::std::convert::From<i32> for FsrmReportGenerationContext {
779     fn from(value: i32) -> Self {
780         Self(value)
781     }
782 }
783 unsafe impl ::windows::runtime::Abi for FsrmReportGenerationContext {
784     type Abi = Self;
785     type DefaultType = Self;
786 }
787 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
788 #[repr(transparent)]
789 pub struct FsrmReportLimit(pub i32);
790 pub const FsrmReportLimit_MaxFiles: FsrmReportLimit = FsrmReportLimit(1i32);
791 pub const FsrmReportLimit_MaxFileGroups: FsrmReportLimit = FsrmReportLimit(2i32);
792 pub const FsrmReportLimit_MaxOwners: FsrmReportLimit = FsrmReportLimit(3i32);
793 pub const FsrmReportLimit_MaxFilesPerFileGroup: FsrmReportLimit = FsrmReportLimit(4i32);
794 pub const FsrmReportLimit_MaxFilesPerOwner: FsrmReportLimit = FsrmReportLimit(5i32);
795 pub const FsrmReportLimit_MaxFilesPerDuplGroup: FsrmReportLimit = FsrmReportLimit(6i32);
796 pub const FsrmReportLimit_MaxDuplicateGroups: FsrmReportLimit = FsrmReportLimit(7i32);
797 pub const FsrmReportLimit_MaxQuotas: FsrmReportLimit = FsrmReportLimit(8i32);
798 pub const FsrmReportLimit_MaxFileScreenEvents: FsrmReportLimit = FsrmReportLimit(9i32);
799 pub const FsrmReportLimit_MaxPropertyValues: FsrmReportLimit = FsrmReportLimit(10i32);
800 pub const FsrmReportLimit_MaxFilesPerPropertyValue: FsrmReportLimit = FsrmReportLimit(11i32);
801 pub const FsrmReportLimit_MaxFolders: FsrmReportLimit = FsrmReportLimit(12i32);
802 impl ::std::convert::From<i32> for FsrmReportLimit {
803     fn from(value: i32) -> Self {
804         Self(value)
805     }
806 }
807 unsafe impl ::windows::runtime::Abi for FsrmReportLimit {
808     type Abi = Self;
809     type DefaultType = Self;
810 }
811 pub const FsrmReportManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(5828407, 43622, 19528, [189, 91, 47, 206, 67, 42, 176, 200]);
812 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
813 #[repr(transparent)]
814 pub struct FsrmReportRunningStatus(pub i32);
815 pub const FsrmReportRunningStatus_Unknown: FsrmReportRunningStatus = FsrmReportRunningStatus(0i32);
816 pub const FsrmReportRunningStatus_NotRunning: FsrmReportRunningStatus = FsrmReportRunningStatus(1i32);
817 pub const FsrmReportRunningStatus_Queued: FsrmReportRunningStatus = FsrmReportRunningStatus(2i32);
818 pub const FsrmReportRunningStatus_Running: FsrmReportRunningStatus = FsrmReportRunningStatus(3i32);
819 impl ::std::convert::From<i32> for FsrmReportRunningStatus {
820     fn from(value: i32) -> Self {
821         Self(value)
822     }
823 }
824 unsafe impl ::windows::runtime::Abi for FsrmReportRunningStatus {
825     type Abi = Self;
826     type DefaultType = Self;
827 }
828 pub const FsrmReportScheduler: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3928355256, 7053, 17040, [142, 232, 225, 124, 18, 194, 254, 32]);
829 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
830 #[repr(transparent)]
831 pub struct FsrmReportType(pub i32);
832 pub const FsrmReportType_Unknown: FsrmReportType = FsrmReportType(0i32);
833 pub const FsrmReportType_LargeFiles: FsrmReportType = FsrmReportType(1i32);
834 pub const FsrmReportType_FilesByType: FsrmReportType = FsrmReportType(2i32);
835 pub const FsrmReportType_LeastRecentlyAccessed: FsrmReportType = FsrmReportType(3i32);
836 pub const FsrmReportType_MostRecentlyAccessed: FsrmReportType = FsrmReportType(4i32);
837 pub const FsrmReportType_QuotaUsage: FsrmReportType = FsrmReportType(5i32);
838 pub const FsrmReportType_FilesByOwner: FsrmReportType = FsrmReportType(6i32);
839 pub const FsrmReportType_ExportReport: FsrmReportType = FsrmReportType(7i32);
840 pub const FsrmReportType_DuplicateFiles: FsrmReportType = FsrmReportType(8i32);
841 pub const FsrmReportType_FileScreenAudit: FsrmReportType = FsrmReportType(9i32);
842 pub const FsrmReportType_FilesByProperty: FsrmReportType = FsrmReportType(10i32);
843 pub const FsrmReportType_AutomaticClassification: FsrmReportType = FsrmReportType(11i32);
844 pub const FsrmReportType_Expiration: FsrmReportType = FsrmReportType(12i32);
845 pub const FsrmReportType_FoldersByProperty: FsrmReportType = FsrmReportType(13i32);
846 impl ::std::convert::From<i32> for FsrmReportType {
847     fn from(value: i32) -> Self {
848         Self(value)
849     }
850 }
851 unsafe impl ::windows::runtime::Abi for FsrmReportType {
852     type Abi = Self;
853     type DefaultType = Self;
854 }
855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
856 #[repr(transparent)]
857 pub struct FsrmRuleFlags(pub i32);
858 pub const FsrmRuleFlags_Disabled: FsrmRuleFlags = FsrmRuleFlags(256i32);
859 pub const FsrmRuleFlags_ClearAutomaticallyClassifiedProperty: FsrmRuleFlags = FsrmRuleFlags(1024i32);
860 pub const FsrmRuleFlags_ClearManuallyClassifiedProperty: FsrmRuleFlags = FsrmRuleFlags(2048i32);
861 pub const FsrmRuleFlags_Invalid: FsrmRuleFlags = FsrmRuleFlags(4096i32);
862 impl ::std::convert::From<i32> for FsrmRuleFlags {
863     fn from(value: i32) -> Self {
864         Self(value)
865     }
866 }
867 unsafe impl ::windows::runtime::Abi for FsrmRuleFlags {
868     type Abi = Self;
869     type DefaultType = Self;
870 }
871 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
872 #[repr(transparent)]
873 pub struct FsrmRuleType(pub i32);
874 pub const FsrmRuleType_Unknown: FsrmRuleType = FsrmRuleType(0i32);
875 pub const FsrmRuleType_Classification: FsrmRuleType = FsrmRuleType(1i32);
876 pub const FsrmRuleType_Generic: FsrmRuleType = FsrmRuleType(2i32);
877 impl ::std::convert::From<i32> for FsrmRuleType {
878     fn from(value: i32) -> Self {
879         Self(value)
880     }
881 }
882 unsafe impl ::windows::runtime::Abi for FsrmRuleType {
883     type Abi = Self;
884     type DefaultType = Self;
885 }
886 pub const FsrmSetting: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4116109064, 27981, 17812, [156, 97, 125, 187, 13, 174, 42, 70]);
887 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
888 #[repr(transparent)]
889 pub struct FsrmStorageModuleCaps(pub i32);
890 pub const FsrmStorageModuleCaps_Unknown: FsrmStorageModuleCaps = FsrmStorageModuleCaps(0i32);
891 pub const FsrmStorageModuleCaps_CanGet: FsrmStorageModuleCaps = FsrmStorageModuleCaps(1i32);
892 pub const FsrmStorageModuleCaps_CanSet: FsrmStorageModuleCaps = FsrmStorageModuleCaps(2i32);
893 pub const FsrmStorageModuleCaps_CanHandleDirectories: FsrmStorageModuleCaps = FsrmStorageModuleCaps(4i32);
894 pub const FsrmStorageModuleCaps_CanHandleFiles: FsrmStorageModuleCaps = FsrmStorageModuleCaps(8i32);
895 impl ::std::convert::From<i32> for FsrmStorageModuleCaps {
896     fn from(value: i32) -> Self {
897         Self(value)
898     }
899 }
900 unsafe impl ::windows::runtime::Abi for FsrmStorageModuleCaps {
901     type Abi = Self;
902     type DefaultType = Self;
903 }
904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
905 #[repr(transparent)]
906 pub struct FsrmStorageModuleType(pub i32);
907 pub const FsrmStorageModuleType_Unknown: FsrmStorageModuleType = FsrmStorageModuleType(0i32);
908 pub const FsrmStorageModuleType_Cache: FsrmStorageModuleType = FsrmStorageModuleType(1i32);
909 pub const FsrmStorageModuleType_InFile: FsrmStorageModuleType = FsrmStorageModuleType(2i32);
910 pub const FsrmStorageModuleType_Database: FsrmStorageModuleType = FsrmStorageModuleType(3i32);
911 pub const FsrmStorageModuleType_System: FsrmStorageModuleType = FsrmStorageModuleType(100i32);
912 impl ::std::convert::From<i32> for FsrmStorageModuleType {
913     fn from(value: i32) -> Self {
914         Self(value)
915     }
916 }
917 unsafe impl ::windows::runtime::Abi for FsrmStorageModuleType {
918     type Abi = Self;
919     type DefaultType = Self;
920 }
921 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
922 #[repr(transparent)]
923 pub struct FsrmTemplateApplyOptions(pub i32);
924 pub const FsrmTemplateApplyOptions_ApplyToDerivedMatching: FsrmTemplateApplyOptions = FsrmTemplateApplyOptions(1i32);
925 pub const FsrmTemplateApplyOptions_ApplyToDerivedAll: FsrmTemplateApplyOptions = FsrmTemplateApplyOptions(2i32);
926 impl ::std::convert::From<i32> for FsrmTemplateApplyOptions {
927     fn from(value: i32) -> Self {
928         Self(value)
929     }
930 }
931 unsafe impl ::windows::runtime::Abi for FsrmTemplateApplyOptions {
932     type Abi = Self;
933     type DefaultType = Self;
934 }
935 #[repr(transparent)]
936 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
937 pub struct IFsrmAccessDeniedRemediationClient(::windows::runtime::IUnknown);
938 impl IFsrmAccessDeniedRemediationClient {
939     #[cfg(feature = "Win32_Foundation")]
940     pub unsafe fn Show<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, parentwnd: usize, accesspath: Param1, errortype: AdrClientErrorType, flags: i32, windowtitle: Param4, windowmessage: Param5) -> ::windows::runtime::Result<i32> {
941         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
942         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(parentwnd), accesspath.into_param().abi(), ::std::mem::transmute(errortype), ::std::mem::transmute(flags), windowtitle.into_param().abi(), windowmessage.into_param().abi(), &mut result__).from_abi::<i32>(result__)
943     }
944 }
945 unsafe impl ::windows::runtime::Interface for IFsrmAccessDeniedRemediationClient {
946     type Vtable = IFsrmAccessDeniedRemediationClient_abi;
947     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1073750804, 22795, 17829, [142, 27, 140, 5, 218, 82, 126, 82]);
948 }
949 impl ::std::convert::From<IFsrmAccessDeniedRemediationClient> for ::windows::runtime::IUnknown {
950     fn from(value: IFsrmAccessDeniedRemediationClient) -> Self {
951         unsafe { ::std::mem::transmute(value) }
952     }
953 }
954 impl ::std::convert::From<&IFsrmAccessDeniedRemediationClient> for ::windows::runtime::IUnknown {
955     fn from(value: &IFsrmAccessDeniedRemediationClient) -> Self {
956         ::std::convert::From::from(::std::clone::Clone::clone(value))
957     }
958 }
959 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmAccessDeniedRemediationClient {
960     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
961         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
962     }
963 }
964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmAccessDeniedRemediationClient {
965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
966         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
967     }
968 }
969 #[cfg(feature = "Win32_System_Ole_Automation")]
970 impl ::std::convert::From<IFsrmAccessDeniedRemediationClient> for super::super::System::Ole::Automation::IDispatch {
971     fn from(value: IFsrmAccessDeniedRemediationClient) -> Self {
972         unsafe { ::std::mem::transmute(value) }
973     }
974 }
975 #[cfg(feature = "Win32_System_Ole_Automation")]
976 impl ::std::convert::From<&IFsrmAccessDeniedRemediationClient> for super::super::System::Ole::Automation::IDispatch {
977     fn from(value: &IFsrmAccessDeniedRemediationClient) -> Self {
978         ::std::convert::From::from(::std::clone::Clone::clone(value))
979     }
980 }
981 #[cfg(feature = "Win32_System_Ole_Automation")]
982 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmAccessDeniedRemediationClient {
983     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
984         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
985     }
986 }
987 #[cfg(feature = "Win32_System_Ole_Automation")]
988 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmAccessDeniedRemediationClient {
989     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
990         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
991     }
992 }
993 #[repr(C)]
994 #[doc(hidden)]
995 pub struct IFsrmAccessDeniedRemediationClient_abi(
996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1000     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1001     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1002     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1003     #[cfg(not(feature = "Win32_Foundation"))] usize,
1004     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1005     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1006     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1007     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parentwnd: usize, accesspath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, errortype: AdrClientErrorType, flags: i32, windowtitle: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, windowmessage: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, result: *mut i32) -> ::windows::runtime::HRESULT,
1008     #[cfg(not(feature = "Win32_Foundation"))] usize,
1009 );
1010 #[repr(transparent)]
1011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1012 pub struct IFsrmAction(::windows::runtime::IUnknown);
1013 impl IFsrmAction {
1014     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1015         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1016         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1017     }
1018     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1019         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1020         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1021     }
1022     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1023         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1024         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1025     }
1026     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1027         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1028     }
1029     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1030         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1031     }
1032 }
1033 unsafe impl ::windows::runtime::Interface for IFsrmAction {
1034     type Vtable = IFsrmAction_abi;
1035     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1825980554, 44640, 17979, [158, 241, 225, 23, 83, 77, 105, 220]);
1036 }
1037 impl ::std::convert::From<IFsrmAction> for ::windows::runtime::IUnknown {
1038     fn from(value: IFsrmAction) -> Self {
1039         unsafe { ::std::mem::transmute(value) }
1040     }
1041 }
1042 impl ::std::convert::From<&IFsrmAction> for ::windows::runtime::IUnknown {
1043     fn from(value: &IFsrmAction) -> Self {
1044         ::std::convert::From::from(::std::clone::Clone::clone(value))
1045     }
1046 }
1047 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmAction {
1048     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1049         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1050     }
1051 }
1052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmAction {
1053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1054         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1055     }
1056 }
1057 #[cfg(feature = "Win32_System_Ole_Automation")]
1058 impl ::std::convert::From<IFsrmAction> for super::super::System::Ole::Automation::IDispatch {
1059     fn from(value: IFsrmAction) -> Self {
1060         unsafe { ::std::mem::transmute(value) }
1061     }
1062 }
1063 #[cfg(feature = "Win32_System_Ole_Automation")]
1064 impl ::std::convert::From<&IFsrmAction> for super::super::System::Ole::Automation::IDispatch {
1065     fn from(value: &IFsrmAction) -> Self {
1066         ::std::convert::From::from(::std::clone::Clone::clone(value))
1067     }
1068 }
1069 #[cfg(feature = "Win32_System_Ole_Automation")]
1070 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmAction {
1071     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1072         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1073     }
1074 }
1075 #[cfg(feature = "Win32_System_Ole_Automation")]
1076 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmAction {
1077     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1078         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1079     }
1080 }
1081 #[repr(C)]
1082 #[doc(hidden)]
1083 pub struct IFsrmAction_abi(
1084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1088     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1089     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1090     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1091     #[cfg(not(feature = "Win32_Foundation"))] usize,
1092     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1093     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1094     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
1097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1100 );
1101 #[repr(transparent)]
1102 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1103 pub struct IFsrmActionCommand(::windows::runtime::IUnknown);
1104 impl IFsrmActionCommand {
1105     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1106         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1107         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1108     }
1109     #[cfg(feature = "Win32_System_Ole_Automation")]
1110     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1111         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1112         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1113     }
1114     #[cfg(feature = "Win32_Foundation")]
1115     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1116         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1117     }
1118     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1119     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1120         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1121     }
1122     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1123         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1124         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1125     }
1126     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1127         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1128         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1129     }
1130     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1131         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1132         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1133     }
1134     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1135         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1136     }
1137     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1138         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1139     }
1140     #[cfg(feature = "Win32_Foundation")]
1141     pub unsafe fn ExecutablePath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1142         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1143         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1144     }
1145     #[cfg(feature = "Win32_Foundation")]
1146     pub unsafe fn SetExecutablePath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, executablepath: Param0) -> ::windows::runtime::Result<()> {
1147         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), executablepath.into_param().abi()).ok()
1148     }
1149     #[cfg(feature = "Win32_Foundation")]
1150     pub unsafe fn Arguments(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1151         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1152         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1153     }
1154     #[cfg(feature = "Win32_Foundation")]
1155     pub unsafe fn SetArguments<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, arguments: Param0) -> ::windows::runtime::Result<()> {
1156         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), arguments.into_param().abi()).ok()
1157     }
1158     pub unsafe fn Account(&self) -> ::windows::runtime::Result<FsrmAccountType> {
1159         let mut result__: <FsrmAccountType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1160         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmAccountType>(result__)
1161     }
1162     pub unsafe fn SetAccount(&self, account: FsrmAccountType) -> ::windows::runtime::Result<()> {
1163         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(account)).ok()
1164     }
1165     #[cfg(feature = "Win32_Foundation")]
1166     pub unsafe fn WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1167         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1168         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1169     }
1170     #[cfg(feature = "Win32_Foundation")]
1171     pub unsafe fn SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, workingdirectory: Param0) -> ::windows::runtime::Result<()> {
1172         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), workingdirectory.into_param().abi()).ok()
1173     }
1174     pub unsafe fn MonitorCommand(&self) -> ::windows::runtime::Result<i16> {
1175         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1176         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1177     }
1178     pub unsafe fn SetMonitorCommand(&self, monitorcommand: i16) -> ::windows::runtime::Result<()> {
1179         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(monitorcommand)).ok()
1180     }
1181     pub unsafe fn KillTimeOut(&self) -> ::windows::runtime::Result<i32> {
1182         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1183         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1184     }
1185     pub unsafe fn SetKillTimeOut(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1186         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1187     }
1188     pub unsafe fn LogResult(&self) -> ::windows::runtime::Result<i16> {
1189         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1190         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1191     }
1192     pub unsafe fn SetLogResult(&self, logresults: i16) -> ::windows::runtime::Result<()> {
1193         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(logresults)).ok()
1194     }
1195 }
1196 unsafe impl ::windows::runtime::Interface for IFsrmActionCommand {
1197     type Vtable = IFsrmActionCommand_abi;
1198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(311654281, 57927, 18711, [156, 32, 243, 238, 156, 126, 231, 131]);
1199 }
1200 impl ::std::convert::From<IFsrmActionCommand> for ::windows::runtime::IUnknown {
1201     fn from(value: IFsrmActionCommand) -> Self {
1202         unsafe { ::std::mem::transmute(value) }
1203     }
1204 }
1205 impl ::std::convert::From<&IFsrmActionCommand> for ::windows::runtime::IUnknown {
1206     fn from(value: &IFsrmActionCommand) -> Self {
1207         ::std::convert::From::from(::std::clone::Clone::clone(value))
1208     }
1209 }
1210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmActionCommand {
1211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1213     }
1214 }
1215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmActionCommand {
1216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1218     }
1219 }
1220 impl ::std::convert::From<IFsrmActionCommand> for IFsrmAction {
1221     fn from(value: IFsrmActionCommand) -> Self {
1222         unsafe { ::std::mem::transmute(value) }
1223     }
1224 }
1225 impl ::std::convert::From<&IFsrmActionCommand> for IFsrmAction {
1226     fn from(value: &IFsrmActionCommand) -> Self {
1227         ::std::convert::From::from(::std::clone::Clone::clone(value))
1228     }
1229 }
1230 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for IFsrmActionCommand {
1231     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1232         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(self))
1233     }
1234 }
1235 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for &IFsrmActionCommand {
1236     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1237         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(::std::clone::Clone::clone(self)))
1238     }
1239 }
1240 #[cfg(feature = "Win32_System_Ole_Automation")]
1241 impl ::std::convert::From<IFsrmActionCommand> for super::super::System::Ole::Automation::IDispatch {
1242     fn from(value: IFsrmActionCommand) -> Self {
1243         unsafe { ::std::mem::transmute(value) }
1244     }
1245 }
1246 #[cfg(feature = "Win32_System_Ole_Automation")]
1247 impl ::std::convert::From<&IFsrmActionCommand> for super::super::System::Ole::Automation::IDispatch {
1248     fn from(value: &IFsrmActionCommand) -> Self {
1249         ::std::convert::From::from(::std::clone::Clone::clone(value))
1250     }
1251 }
1252 #[cfg(feature = "Win32_System_Ole_Automation")]
1253 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmActionCommand {
1254     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1255         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1256     }
1257 }
1258 #[cfg(feature = "Win32_System_Ole_Automation")]
1259 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmActionCommand {
1260     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1261         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1262     }
1263 }
1264 #[repr(C)]
1265 #[doc(hidden)]
1266 pub struct IFsrmActionCommand_abi(
1267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1271     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1272     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1273     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1274     #[cfg(not(feature = "Win32_Foundation"))] usize,
1275     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1276     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1277     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
1280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1283     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, executablepath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1284     #[cfg(not(feature = "Win32_Foundation"))] usize,
1285     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, executablepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1286     #[cfg(not(feature = "Win32_Foundation"))] usize,
1287     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, arguments: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1288     #[cfg(not(feature = "Win32_Foundation"))] usize,
1289     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, arguments: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1290     #[cfg(not(feature = "Win32_Foundation"))] usize,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, account: *mut FsrmAccountType) -> ::windows::runtime::HRESULT,
1292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, account: FsrmAccountType) -> ::windows::runtime::HRESULT,
1293     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, workingdirectory: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1294     #[cfg(not(feature = "Win32_Foundation"))] usize,
1295     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, workingdirectory: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1296     #[cfg(not(feature = "Win32_Foundation"))] usize,
1297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, monitorcommand: *mut i16) -> ::windows::runtime::HRESULT,
1298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, monitorcommand: i16) -> ::windows::runtime::HRESULT,
1299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logresults: *mut i16) -> ::windows::runtime::HRESULT,
1302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logresults: i16) -> ::windows::runtime::HRESULT,
1303 );
1304 #[repr(transparent)]
1305 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1306 pub struct IFsrmActionEmail(::windows::runtime::IUnknown);
1307 impl IFsrmActionEmail {
1308     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1309         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1310         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1311     }
1312     #[cfg(feature = "Win32_System_Ole_Automation")]
1313     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1314         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1315         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1316     }
1317     #[cfg(feature = "Win32_Foundation")]
1318     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1319         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1320     }
1321     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1322     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1323         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1324     }
1325     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1326         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1327         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1328     }
1329     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1330         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1331         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1332     }
1333     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1334         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1335         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1336     }
1337     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1338         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1339     }
1340     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1341         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1342     }
1343     #[cfg(feature = "Win32_Foundation")]
1344     pub unsafe fn MailFrom(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1345         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1346         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1347     }
1348     #[cfg(feature = "Win32_Foundation")]
1349     pub unsafe fn SetMailFrom<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailfrom: Param0) -> ::windows::runtime::Result<()> {
1350         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), mailfrom.into_param().abi()).ok()
1351     }
1352     #[cfg(feature = "Win32_Foundation")]
1353     pub unsafe fn MailReplyTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1354         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1355         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1356     }
1357     #[cfg(feature = "Win32_Foundation")]
1358     pub unsafe fn SetMailReplyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailreplyto: Param0) -> ::windows::runtime::Result<()> {
1359         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), mailreplyto.into_param().abi()).ok()
1360     }
1361     #[cfg(feature = "Win32_Foundation")]
1362     pub unsafe fn MailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1363         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1364         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1365     }
1366     #[cfg(feature = "Win32_Foundation")]
1367     pub unsafe fn SetMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
1368         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
1369     }
1370     #[cfg(feature = "Win32_Foundation")]
1371     pub unsafe fn MailCc(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1372         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1373         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1374     }
1375     #[cfg(feature = "Win32_Foundation")]
1376     pub unsafe fn SetMailCc<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailcc: Param0) -> ::windows::runtime::Result<()> {
1377         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), mailcc.into_param().abi()).ok()
1378     }
1379     #[cfg(feature = "Win32_Foundation")]
1380     pub unsafe fn MailBcc(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1381         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1382         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1383     }
1384     #[cfg(feature = "Win32_Foundation")]
1385     pub unsafe fn SetMailBcc<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailbcc: Param0) -> ::windows::runtime::Result<()> {
1386         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), mailbcc.into_param().abi()).ok()
1387     }
1388     #[cfg(feature = "Win32_Foundation")]
1389     pub unsafe fn MailSubject(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1390         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1391         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1392     }
1393     #[cfg(feature = "Win32_Foundation")]
1394     pub unsafe fn SetMailSubject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailsubject: Param0) -> ::windows::runtime::Result<()> {
1395         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), mailsubject.into_param().abi()).ok()
1396     }
1397     #[cfg(feature = "Win32_Foundation")]
1398     pub unsafe fn MessageText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1399         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1400         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1401     }
1402     #[cfg(feature = "Win32_Foundation")]
1403     pub unsafe fn SetMessageText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, messagetext: Param0) -> ::windows::runtime::Result<()> {
1404         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), messagetext.into_param().abi()).ok()
1405     }
1406 }
1407 unsafe impl ::windows::runtime::Interface for IFsrmActionEmail {
1408     type Vtable = IFsrmActionEmail_abi;
1409     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3594933885, 9902, 19626, [159, 132, 78, 10, 173, 32, 127, 202]);
1410 }
1411 impl ::std::convert::From<IFsrmActionEmail> for ::windows::runtime::IUnknown {
1412     fn from(value: IFsrmActionEmail) -> Self {
1413         unsafe { ::std::mem::transmute(value) }
1414     }
1415 }
1416 impl ::std::convert::From<&IFsrmActionEmail> for ::windows::runtime::IUnknown {
1417     fn from(value: &IFsrmActionEmail) -> Self {
1418         ::std::convert::From::from(::std::clone::Clone::clone(value))
1419     }
1420 }
1421 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmActionEmail {
1422     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1423         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1424     }
1425 }
1426 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmActionEmail {
1427     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1428         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1429     }
1430 }
1431 impl ::std::convert::From<IFsrmActionEmail> for IFsrmAction {
1432     fn from(value: IFsrmActionEmail) -> Self {
1433         unsafe { ::std::mem::transmute(value) }
1434     }
1435 }
1436 impl ::std::convert::From<&IFsrmActionEmail> for IFsrmAction {
1437     fn from(value: &IFsrmActionEmail) -> Self {
1438         ::std::convert::From::from(::std::clone::Clone::clone(value))
1439     }
1440 }
1441 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for IFsrmActionEmail {
1442     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1443         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(self))
1444     }
1445 }
1446 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for &IFsrmActionEmail {
1447     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1448         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(::std::clone::Clone::clone(self)))
1449     }
1450 }
1451 #[cfg(feature = "Win32_System_Ole_Automation")]
1452 impl ::std::convert::From<IFsrmActionEmail> for super::super::System::Ole::Automation::IDispatch {
1453     fn from(value: IFsrmActionEmail) -> Self {
1454         unsafe { ::std::mem::transmute(value) }
1455     }
1456 }
1457 #[cfg(feature = "Win32_System_Ole_Automation")]
1458 impl ::std::convert::From<&IFsrmActionEmail> for super::super::System::Ole::Automation::IDispatch {
1459     fn from(value: &IFsrmActionEmail) -> Self {
1460         ::std::convert::From::from(::std::clone::Clone::clone(value))
1461     }
1462 }
1463 #[cfg(feature = "Win32_System_Ole_Automation")]
1464 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmActionEmail {
1465     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1466         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1467     }
1468 }
1469 #[cfg(feature = "Win32_System_Ole_Automation")]
1470 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmActionEmail {
1471     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1472         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1473     }
1474 }
1475 #[repr(C)]
1476 #[doc(hidden)]
1477 pub struct IFsrmActionEmail_abi(
1478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1482     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1483     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1484     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1485     #[cfg(not(feature = "Win32_Foundation"))] usize,
1486     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1487     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1488     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1494     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1495     #[cfg(not(feature = "Win32_Foundation"))] usize,
1496     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1497     #[cfg(not(feature = "Win32_Foundation"))] usize,
1498     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailreplyto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1499     #[cfg(not(feature = "Win32_Foundation"))] usize,
1500     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailreplyto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1501     #[cfg(not(feature = "Win32_Foundation"))] usize,
1502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1503     #[cfg(not(feature = "Win32_Foundation"))] usize,
1504     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1505     #[cfg(not(feature = "Win32_Foundation"))] usize,
1506     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailcc: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1507     #[cfg(not(feature = "Win32_Foundation"))] usize,
1508     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailcc: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1509     #[cfg(not(feature = "Win32_Foundation"))] usize,
1510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailbcc: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1511     #[cfg(not(feature = "Win32_Foundation"))] usize,
1512     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailbcc: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1513     #[cfg(not(feature = "Win32_Foundation"))] usize,
1514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailsubject: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1515     #[cfg(not(feature = "Win32_Foundation"))] usize,
1516     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailsubject: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1517     #[cfg(not(feature = "Win32_Foundation"))] usize,
1518     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1519     #[cfg(not(feature = "Win32_Foundation"))] usize,
1520     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1521     #[cfg(not(feature = "Win32_Foundation"))] usize,
1522 );
1523 #[repr(transparent)]
1524 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1525 pub struct IFsrmActionEmail2(::windows::runtime::IUnknown);
1526 impl IFsrmActionEmail2 {
1527     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1528         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1529         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1530     }
1531     #[cfg(feature = "Win32_System_Ole_Automation")]
1532     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1533         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1534         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1535     }
1536     #[cfg(feature = "Win32_Foundation")]
1537     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1538         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1539     }
1540     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1541     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1542         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1543     }
1544     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1545         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1546         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1547     }
1548     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1549         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1550         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1551     }
1552     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1553         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1554         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1555     }
1556     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1557         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1558     }
1559     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1560         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1561     }
1562     #[cfg(feature = "Win32_Foundation")]
1563     pub unsafe fn MailFrom(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1564         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1565         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1566     }
1567     #[cfg(feature = "Win32_Foundation")]
1568     pub unsafe fn SetMailFrom<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailfrom: Param0) -> ::windows::runtime::Result<()> {
1569         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), mailfrom.into_param().abi()).ok()
1570     }
1571     #[cfg(feature = "Win32_Foundation")]
1572     pub unsafe fn MailReplyTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1573         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1574         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1575     }
1576     #[cfg(feature = "Win32_Foundation")]
1577     pub unsafe fn SetMailReplyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailreplyto: Param0) -> ::windows::runtime::Result<()> {
1578         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), mailreplyto.into_param().abi()).ok()
1579     }
1580     #[cfg(feature = "Win32_Foundation")]
1581     pub unsafe fn MailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1582         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1583         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1584     }
1585     #[cfg(feature = "Win32_Foundation")]
1586     pub unsafe fn SetMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
1587         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
1588     }
1589     #[cfg(feature = "Win32_Foundation")]
1590     pub unsafe fn MailCc(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1591         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1592         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1593     }
1594     #[cfg(feature = "Win32_Foundation")]
1595     pub unsafe fn SetMailCc<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailcc: Param0) -> ::windows::runtime::Result<()> {
1596         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), mailcc.into_param().abi()).ok()
1597     }
1598     #[cfg(feature = "Win32_Foundation")]
1599     pub unsafe fn MailBcc(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1600         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1601         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1602     }
1603     #[cfg(feature = "Win32_Foundation")]
1604     pub unsafe fn SetMailBcc<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailbcc: Param0) -> ::windows::runtime::Result<()> {
1605         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), mailbcc.into_param().abi()).ok()
1606     }
1607     #[cfg(feature = "Win32_Foundation")]
1608     pub unsafe fn MailSubject(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1609         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1610         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1611     }
1612     #[cfg(feature = "Win32_Foundation")]
1613     pub unsafe fn SetMailSubject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailsubject: Param0) -> ::windows::runtime::Result<()> {
1614         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), mailsubject.into_param().abi()).ok()
1615     }
1616     #[cfg(feature = "Win32_Foundation")]
1617     pub unsafe fn MessageText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1618         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1619         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1620     }
1621     #[cfg(feature = "Win32_Foundation")]
1622     pub unsafe fn SetMessageText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, messagetext: Param0) -> ::windows::runtime::Result<()> {
1623         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), messagetext.into_param().abi()).ok()
1624     }
1625     pub unsafe fn AttachmentFileListSize(&self) -> ::windows::runtime::Result<i32> {
1626         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1627         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1628     }
1629     pub unsafe fn SetAttachmentFileListSize(&self, attachmentfilelistsize: i32) -> ::windows::runtime::Result<()> {
1630         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(attachmentfilelistsize)).ok()
1631     }
1632 }
1633 unsafe impl ::windows::runtime::Interface for IFsrmActionEmail2 {
1634     type Vtable = IFsrmActionEmail2_abi;
1635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2188800047, 9522, 18489, [137, 191, 72, 114, 96, 154, 46, 164]);
1636 }
1637 impl ::std::convert::From<IFsrmActionEmail2> for ::windows::runtime::IUnknown {
1638     fn from(value: IFsrmActionEmail2) -> Self {
1639         unsafe { ::std::mem::transmute(value) }
1640     }
1641 }
1642 impl ::std::convert::From<&IFsrmActionEmail2> for ::windows::runtime::IUnknown {
1643     fn from(value: &IFsrmActionEmail2) -> Self {
1644         ::std::convert::From::from(::std::clone::Clone::clone(value))
1645     }
1646 }
1647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmActionEmail2 {
1648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1650     }
1651 }
1652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmActionEmail2 {
1653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1655     }
1656 }
1657 impl ::std::convert::From<IFsrmActionEmail2> for IFsrmActionEmail {
1658     fn from(value: IFsrmActionEmail2) -> Self {
1659         unsafe { ::std::mem::transmute(value) }
1660     }
1661 }
1662 impl ::std::convert::From<&IFsrmActionEmail2> for IFsrmActionEmail {
1663     fn from(value: &IFsrmActionEmail2) -> Self {
1664         ::std::convert::From::from(::std::clone::Clone::clone(value))
1665     }
1666 }
1667 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmActionEmail> for IFsrmActionEmail2 {
1668     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmActionEmail> {
1669         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmActionEmail>::into(self))
1670     }
1671 }
1672 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmActionEmail> for &IFsrmActionEmail2 {
1673     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmActionEmail> {
1674         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmActionEmail>::into(::std::clone::Clone::clone(self)))
1675     }
1676 }
1677 impl ::std::convert::From<IFsrmActionEmail2> for IFsrmAction {
1678     fn from(value: IFsrmActionEmail2) -> Self {
1679         unsafe { ::std::mem::transmute(value) }
1680     }
1681 }
1682 impl ::std::convert::From<&IFsrmActionEmail2> for IFsrmAction {
1683     fn from(value: &IFsrmActionEmail2) -> Self {
1684         ::std::convert::From::from(::std::clone::Clone::clone(value))
1685     }
1686 }
1687 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for IFsrmActionEmail2 {
1688     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1689         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(self))
1690     }
1691 }
1692 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for &IFsrmActionEmail2 {
1693     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1694         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(::std::clone::Clone::clone(self)))
1695     }
1696 }
1697 #[cfg(feature = "Win32_System_Ole_Automation")]
1698 impl ::std::convert::From<IFsrmActionEmail2> for super::super::System::Ole::Automation::IDispatch {
1699     fn from(value: IFsrmActionEmail2) -> Self {
1700         unsafe { ::std::mem::transmute(value) }
1701     }
1702 }
1703 #[cfg(feature = "Win32_System_Ole_Automation")]
1704 impl ::std::convert::From<&IFsrmActionEmail2> for super::super::System::Ole::Automation::IDispatch {
1705     fn from(value: &IFsrmActionEmail2) -> Self {
1706         ::std::convert::From::from(::std::clone::Clone::clone(value))
1707     }
1708 }
1709 #[cfg(feature = "Win32_System_Ole_Automation")]
1710 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmActionEmail2 {
1711     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1712         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1713     }
1714 }
1715 #[cfg(feature = "Win32_System_Ole_Automation")]
1716 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmActionEmail2 {
1717     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1718         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1719     }
1720 }
1721 #[repr(C)]
1722 #[doc(hidden)]
1723 pub struct IFsrmActionEmail2_abi(
1724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1728     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1729     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1730     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1731     #[cfg(not(feature = "Win32_Foundation"))] usize,
1732     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1733     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1734     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
1737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1740     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1741     #[cfg(not(feature = "Win32_Foundation"))] usize,
1742     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1743     #[cfg(not(feature = "Win32_Foundation"))] usize,
1744     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailreplyto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1745     #[cfg(not(feature = "Win32_Foundation"))] usize,
1746     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailreplyto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1747     #[cfg(not(feature = "Win32_Foundation"))] usize,
1748     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1749     #[cfg(not(feature = "Win32_Foundation"))] usize,
1750     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1751     #[cfg(not(feature = "Win32_Foundation"))] usize,
1752     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailcc: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1753     #[cfg(not(feature = "Win32_Foundation"))] usize,
1754     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailcc: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1755     #[cfg(not(feature = "Win32_Foundation"))] usize,
1756     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailbcc: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1757     #[cfg(not(feature = "Win32_Foundation"))] usize,
1758     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailbcc: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1759     #[cfg(not(feature = "Win32_Foundation"))] usize,
1760     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailsubject: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1761     #[cfg(not(feature = "Win32_Foundation"))] usize,
1762     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailsubject: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1763     #[cfg(not(feature = "Win32_Foundation"))] usize,
1764     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1765     #[cfg(not(feature = "Win32_Foundation"))] usize,
1766     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1767     #[cfg(not(feature = "Win32_Foundation"))] usize,
1768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attachmentfilelistsize: *mut i32) -> ::windows::runtime::HRESULT,
1769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attachmentfilelistsize: i32) -> ::windows::runtime::HRESULT,
1770 );
1771 #[repr(transparent)]
1772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1773 pub struct IFsrmActionEventLog(::windows::runtime::IUnknown);
1774 impl IFsrmActionEventLog {
1775     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1776         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1777         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1778     }
1779     #[cfg(feature = "Win32_System_Ole_Automation")]
1780     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1781         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1782         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1783     }
1784     #[cfg(feature = "Win32_Foundation")]
1785     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1786         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1787     }
1788     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1789     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1790         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1791     }
1792     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1793         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1794         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1795     }
1796     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1797         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1798         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1799     }
1800     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1801         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1802         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1803     }
1804     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1805         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1806     }
1807     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1808         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1809     }
1810     pub unsafe fn EventType(&self) -> ::windows::runtime::Result<FsrmEventType> {
1811         let mut result__: <FsrmEventType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1812         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmEventType>(result__)
1813     }
1814     pub unsafe fn SetEventType(&self, eventtype: FsrmEventType) -> ::windows::runtime::Result<()> {
1815         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventtype)).ok()
1816     }
1817     #[cfg(feature = "Win32_Foundation")]
1818     pub unsafe fn MessageText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1819         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1820         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1821     }
1822     #[cfg(feature = "Win32_Foundation")]
1823     pub unsafe fn SetMessageText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, messagetext: Param0) -> ::windows::runtime::Result<()> {
1824         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), messagetext.into_param().abi()).ok()
1825     }
1826 }
1827 unsafe impl ::windows::runtime::Interface for IFsrmActionEventLog {
1828     type Vtable = IFsrmActionEventLog_abi;
1829     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1284478659, 23956, 20279, [164, 244, 245, 106, 180, 99, 84, 111]);
1830 }
1831 impl ::std::convert::From<IFsrmActionEventLog> for ::windows::runtime::IUnknown {
1832     fn from(value: IFsrmActionEventLog) -> Self {
1833         unsafe { ::std::mem::transmute(value) }
1834     }
1835 }
1836 impl ::std::convert::From<&IFsrmActionEventLog> for ::windows::runtime::IUnknown {
1837     fn from(value: &IFsrmActionEventLog) -> Self {
1838         ::std::convert::From::from(::std::clone::Clone::clone(value))
1839     }
1840 }
1841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmActionEventLog {
1842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1843         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1844     }
1845 }
1846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmActionEventLog {
1847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1848         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1849     }
1850 }
1851 impl ::std::convert::From<IFsrmActionEventLog> for IFsrmAction {
1852     fn from(value: IFsrmActionEventLog) -> Self {
1853         unsafe { ::std::mem::transmute(value) }
1854     }
1855 }
1856 impl ::std::convert::From<&IFsrmActionEventLog> for IFsrmAction {
1857     fn from(value: &IFsrmActionEventLog) -> Self {
1858         ::std::convert::From::from(::std::clone::Clone::clone(value))
1859     }
1860 }
1861 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for IFsrmActionEventLog {
1862     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1863         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(self))
1864     }
1865 }
1866 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for &IFsrmActionEventLog {
1867     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
1868         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(::std::clone::Clone::clone(self)))
1869     }
1870 }
1871 #[cfg(feature = "Win32_System_Ole_Automation")]
1872 impl ::std::convert::From<IFsrmActionEventLog> for super::super::System::Ole::Automation::IDispatch {
1873     fn from(value: IFsrmActionEventLog) -> Self {
1874         unsafe { ::std::mem::transmute(value) }
1875     }
1876 }
1877 #[cfg(feature = "Win32_System_Ole_Automation")]
1878 impl ::std::convert::From<&IFsrmActionEventLog> for super::super::System::Ole::Automation::IDispatch {
1879     fn from(value: &IFsrmActionEventLog) -> Self {
1880         ::std::convert::From::from(::std::clone::Clone::clone(value))
1881     }
1882 }
1883 #[cfg(feature = "Win32_System_Ole_Automation")]
1884 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmActionEventLog {
1885     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1886         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1887     }
1888 }
1889 #[cfg(feature = "Win32_System_Ole_Automation")]
1890 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmActionEventLog {
1891     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1892         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1893     }
1894 }
1895 #[repr(C)]
1896 #[doc(hidden)]
1897 pub struct IFsrmActionEventLog_abi(
1898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1902     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1903     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1904     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1905     #[cfg(not(feature = "Win32_Foundation"))] usize,
1906     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1907     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1908     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
1911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
1912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
1913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventtype: *mut FsrmEventType) -> ::windows::runtime::HRESULT,
1915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventtype: FsrmEventType) -> ::windows::runtime::HRESULT,
1916     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1917     #[cfg(not(feature = "Win32_Foundation"))] usize,
1918     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1919     #[cfg(not(feature = "Win32_Foundation"))] usize,
1920 );
1921 #[repr(transparent)]
1922 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1923 pub struct IFsrmActionReport(::windows::runtime::IUnknown);
1924 impl IFsrmActionReport {
1925     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1926         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1927         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1928     }
1929     #[cfg(feature = "Win32_System_Ole_Automation")]
1930     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1931         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1932         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1933     }
1934     #[cfg(feature = "Win32_Foundation")]
1935     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1936         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1937     }
1938     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1939     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1940         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1941     }
1942     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1943         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1944         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1945     }
1946     pub unsafe fn ActionType(&self) -> ::windows::runtime::Result<FsrmActionType> {
1947         let mut result__: <FsrmActionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1948         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmActionType>(result__)
1949     }
1950     pub unsafe fn RunLimitInterval(&self) -> ::windows::runtime::Result<i32> {
1951         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1952         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1953     }
1954     pub unsafe fn SetRunLimitInterval(&self, minutes: i32) -> ::windows::runtime::Result<()> {
1955         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(minutes)).ok()
1956     }
1957     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
1958         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1959     }
1960     #[cfg(feature = "Win32_System_Com")]
1961     pub unsafe fn ReportTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1962         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1963         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1964     }
1965     #[cfg(feature = "Win32_System_Com")]
1966     pub unsafe fn SetReportTypes(&self, reporttypes: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
1967         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(reporttypes)).ok()
1968     }
1969     #[cfg(feature = "Win32_Foundation")]
1970     pub unsafe fn MailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1971         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1972         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1973     }
1974     #[cfg(feature = "Win32_Foundation")]
1975     pub unsafe fn SetMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
1976         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
1977     }
1978 }
1979 unsafe impl ::windows::runtime::Interface for IFsrmActionReport {
1980     type Vtable = IFsrmActionReport_abi;
1981     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(767452100, 45888, 18592, [165, 176, 21, 142, 7, 252, 86, 126]);
1982 }
1983 impl ::std::convert::From<IFsrmActionReport> for ::windows::runtime::IUnknown {
1984     fn from(value: IFsrmActionReport) -> Self {
1985         unsafe { ::std::mem::transmute(value) }
1986     }
1987 }
1988 impl ::std::convert::From<&IFsrmActionReport> for ::windows::runtime::IUnknown {
1989     fn from(value: &IFsrmActionReport) -> Self {
1990         ::std::convert::From::from(::std::clone::Clone::clone(value))
1991     }
1992 }
1993 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmActionReport {
1994     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1995         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1996     }
1997 }
1998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmActionReport {
1999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2000         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2001     }
2002 }
2003 impl ::std::convert::From<IFsrmActionReport> for IFsrmAction {
2004     fn from(value: IFsrmActionReport) -> Self {
2005         unsafe { ::std::mem::transmute(value) }
2006     }
2007 }
2008 impl ::std::convert::From<&IFsrmActionReport> for IFsrmAction {
2009     fn from(value: &IFsrmActionReport) -> Self {
2010         ::std::convert::From::from(::std::clone::Clone::clone(value))
2011     }
2012 }
2013 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for IFsrmActionReport {
2014     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
2015         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(self))
2016     }
2017 }
2018 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmAction> for &IFsrmActionReport {
2019     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmAction> {
2020         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmAction>::into(::std::clone::Clone::clone(self)))
2021     }
2022 }
2023 #[cfg(feature = "Win32_System_Ole_Automation")]
2024 impl ::std::convert::From<IFsrmActionReport> for super::super::System::Ole::Automation::IDispatch {
2025     fn from(value: IFsrmActionReport) -> Self {
2026         unsafe { ::std::mem::transmute(value) }
2027     }
2028 }
2029 #[cfg(feature = "Win32_System_Ole_Automation")]
2030 impl ::std::convert::From<&IFsrmActionReport> for super::super::System::Ole::Automation::IDispatch {
2031     fn from(value: &IFsrmActionReport) -> Self {
2032         ::std::convert::From::from(::std::clone::Clone::clone(value))
2033     }
2034 }
2035 #[cfg(feature = "Win32_System_Ole_Automation")]
2036 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmActionReport {
2037     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2038         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2039     }
2040 }
2041 #[cfg(feature = "Win32_System_Ole_Automation")]
2042 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmActionReport {
2043     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2044         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2045     }
2046 }
2047 #[repr(C)]
2048 #[doc(hidden)]
2049 pub struct IFsrmActionReport_abi(
2050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2054     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2055     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2057     #[cfg(not(feature = "Win32_Foundation"))] usize,
2058     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2059     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2060     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: *mut FsrmActionType) -> ::windows::runtime::HRESULT,
2063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: *mut i32) -> ::windows::runtime::HRESULT,
2064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minutes: i32) -> ::windows::runtime::HRESULT,
2065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2066     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttypes: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2067     #[cfg(not(feature = "Win32_System_Com"))] usize,
2068     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttypes: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2069     #[cfg(not(feature = "Win32_System_Com"))] usize,
2070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2071     #[cfg(not(feature = "Win32_Foundation"))] usize,
2072     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2073     #[cfg(not(feature = "Win32_Foundation"))] usize,
2074 );
2075 #[repr(transparent)]
2076 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2077 pub struct IFsrmAutoApplyQuota(::windows::runtime::IUnknown);
2078 impl IFsrmAutoApplyQuota {
2079     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2080         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2081         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2082     }
2083     #[cfg(feature = "Win32_System_Ole_Automation")]
2084     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2085         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2086         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2087     }
2088     #[cfg(feature = "Win32_Foundation")]
2089     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2090         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2091     }
2092     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2093     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2094         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2095     }
2096     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2097         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2098         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2099     }
2100     #[cfg(feature = "Win32_Foundation")]
2101     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2102         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2103         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2104     }
2105     #[cfg(feature = "Win32_Foundation")]
2106     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
2107         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
2108     }
2109     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
2110         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2111     }
2112     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
2113         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
2114     }
2115     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2116     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2117         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2118         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2119     }
2120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2121     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
2122         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
2123     }
2124     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
2125         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2126         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2127     }
2128     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
2129         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
2130     }
2131     #[cfg(feature = "Win32_System_Com")]
2132     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2133         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2134         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2135     }
2136     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
2137         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
2138     }
2139     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
2140         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
2141     }
2142     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
2143         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
2144     }
2145     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
2146         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2147         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
2148     }
2149     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
2150         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2151         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
2152     }
2153     #[cfg(feature = "Win32_Foundation")]
2154     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2155         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2156         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2157     }
2158     #[cfg(feature = "Win32_Foundation")]
2159     pub unsafe fn UserSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2160         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2161         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2162     }
2163     #[cfg(feature = "Win32_Foundation")]
2164     pub unsafe fn UserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2165         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2166         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2167     }
2168     #[cfg(feature = "Win32_Foundation")]
2169     pub unsafe fn SourceTemplateName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2170         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2171         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2172     }
2173     pub unsafe fn MatchesSourceTemplate(&self) -> ::windows::runtime::Result<i16> {
2174         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2175         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2176     }
2177     #[cfg(feature = "Win32_Foundation")]
2178     pub unsafe fn ApplyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0) -> ::windows::runtime::Result<()> {
2179         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi()).ok()
2180     }
2181     #[cfg(feature = "Win32_System_Com")]
2182     pub unsafe fn ExcludeFolders(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2183         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2184         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2185     }
2186     #[cfg(feature = "Win32_System_Com")]
2187     pub unsafe fn SetExcludeFolders(&self, folders: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2188         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(folders)).ok()
2189     }
2190     pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows::runtime::Result<IFsrmDerivedObjectsResult> {
2191         let mut result__: <IFsrmDerivedObjectsResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2192         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(commitoptions), ::std::mem::transmute(applyoptions), &mut result__).from_abi::<IFsrmDerivedObjectsResult>(result__)
2193     }
2194 }
2195 unsafe impl ::windows::runtime::Interface for IFsrmAutoApplyQuota {
2196     type Vtable = IFsrmAutoApplyQuota_abi;
2197     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4163786537, 27322, 18240, [191, 199, 199, 245, 143, 117, 251, 123]);
2198 }
2199 impl ::std::convert::From<IFsrmAutoApplyQuota> for ::windows::runtime::IUnknown {
2200     fn from(value: IFsrmAutoApplyQuota) -> Self {
2201         unsafe { ::std::mem::transmute(value) }
2202     }
2203 }
2204 impl ::std::convert::From<&IFsrmAutoApplyQuota> for ::windows::runtime::IUnknown {
2205     fn from(value: &IFsrmAutoApplyQuota) -> Self {
2206         ::std::convert::From::from(::std::clone::Clone::clone(value))
2207     }
2208 }
2209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmAutoApplyQuota {
2210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2212     }
2213 }
2214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmAutoApplyQuota {
2215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2217     }
2218 }
2219 impl ::std::convert::From<IFsrmAutoApplyQuota> for IFsrmQuotaObject {
2220     fn from(value: IFsrmAutoApplyQuota) -> Self {
2221         unsafe { ::std::mem::transmute(value) }
2222     }
2223 }
2224 impl ::std::convert::From<&IFsrmAutoApplyQuota> for IFsrmQuotaObject {
2225     fn from(value: &IFsrmAutoApplyQuota) -> Self {
2226         ::std::convert::From::from(::std::clone::Clone::clone(value))
2227     }
2228 }
2229 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaObject> for IFsrmAutoApplyQuota {
2230     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaObject> {
2231         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaObject>::into(self))
2232     }
2233 }
2234 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaObject> for &IFsrmAutoApplyQuota {
2235     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaObject> {
2236         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaObject>::into(::std::clone::Clone::clone(self)))
2237     }
2238 }
2239 impl ::std::convert::From<IFsrmAutoApplyQuota> for IFsrmQuotaBase {
2240     fn from(value: IFsrmAutoApplyQuota) -> Self {
2241         unsafe { ::std::mem::transmute(value) }
2242     }
2243 }
2244 impl ::std::convert::From<&IFsrmAutoApplyQuota> for IFsrmQuotaBase {
2245     fn from(value: &IFsrmAutoApplyQuota) -> Self {
2246         ::std::convert::From::from(::std::clone::Clone::clone(value))
2247     }
2248 }
2249 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for IFsrmAutoApplyQuota {
2250     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
2251         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(self))
2252     }
2253 }
2254 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for &IFsrmAutoApplyQuota {
2255     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
2256         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(::std::clone::Clone::clone(self)))
2257     }
2258 }
2259 impl ::std::convert::From<IFsrmAutoApplyQuota> for IFsrmObject {
2260     fn from(value: IFsrmAutoApplyQuota) -> Self {
2261         unsafe { ::std::mem::transmute(value) }
2262     }
2263 }
2264 impl ::std::convert::From<&IFsrmAutoApplyQuota> for IFsrmObject {
2265     fn from(value: &IFsrmAutoApplyQuota) -> Self {
2266         ::std::convert::From::from(::std::clone::Clone::clone(value))
2267     }
2268 }
2269 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmAutoApplyQuota {
2270     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
2271         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
2272     }
2273 }
2274 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmAutoApplyQuota {
2275     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
2276         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
2277     }
2278 }
2279 #[cfg(feature = "Win32_System_Ole_Automation")]
2280 impl ::std::convert::From<IFsrmAutoApplyQuota> for super::super::System::Ole::Automation::IDispatch {
2281     fn from(value: IFsrmAutoApplyQuota) -> Self {
2282         unsafe { ::std::mem::transmute(value) }
2283     }
2284 }
2285 #[cfg(feature = "Win32_System_Ole_Automation")]
2286 impl ::std::convert::From<&IFsrmAutoApplyQuota> for super::super::System::Ole::Automation::IDispatch {
2287     fn from(value: &IFsrmAutoApplyQuota) -> Self {
2288         ::std::convert::From::from(::std::clone::Clone::clone(value))
2289     }
2290 }
2291 #[cfg(feature = "Win32_System_Ole_Automation")]
2292 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmAutoApplyQuota {
2293     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2294         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2295     }
2296 }
2297 #[cfg(feature = "Win32_System_Ole_Automation")]
2298 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmAutoApplyQuota {
2299     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2300         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2301     }
2302 }
2303 #[repr(C)]
2304 #[doc(hidden)]
2305 pub struct IFsrmAutoApplyQuota_abi(
2306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2310     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2311     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2312     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2313     #[cfg(not(feature = "Win32_Foundation"))] usize,
2314     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2315     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2316     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2318     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2319     #[cfg(not(feature = "Win32_Foundation"))] usize,
2320     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2321     #[cfg(not(feature = "Win32_Foundation"))] usize,
2322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2324     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2325     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2326     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2327     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
2329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
2330     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2331     #[cfg(not(feature = "Win32_System_Com"))] usize,
2332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
2333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
2334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
2335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2337     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2338     #[cfg(not(feature = "Win32_Foundation"))] usize,
2339     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2340     #[cfg(not(feature = "Win32_Foundation"))] usize,
2341     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, useraccount: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2342     #[cfg(not(feature = "Win32_Foundation"))] usize,
2343     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2344     #[cfg(not(feature = "Win32_Foundation"))] usize,
2345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, matches: *mut i16) -> ::windows::runtime::HRESULT,
2346     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2347     #[cfg(not(feature = "Win32_Foundation"))] usize,
2348     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folders: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2349     #[cfg(not(feature = "Win32_System_Com"))] usize,
2350     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folders: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2351     #[cfg(not(feature = "Win32_System_Com"))] usize,
2352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions, derivedobjectsresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2353 );
2354 #[repr(transparent)]
2355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2356 pub struct IFsrmClassificationManager(::windows::runtime::IUnknown);
2357 impl IFsrmClassificationManager {
2358     #[cfg(feature = "Win32_System_Com")]
2359     pub unsafe fn ClassificationReportFormats(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2360         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2361         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2362     }
2363     #[cfg(feature = "Win32_System_Com")]
2364     pub unsafe fn SetClassificationReportFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2365         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(formats)).ok()
2366     }
2367     pub unsafe fn Logging(&self) -> ::windows::runtime::Result<i32> {
2368         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2369         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2370     }
2371     pub unsafe fn SetLogging(&self, logging: i32) -> ::windows::runtime::Result<()> {
2372         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(logging)).ok()
2373     }
2374     #[cfg(feature = "Win32_Foundation")]
2375     pub unsafe fn ClassificationReportMailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2376         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2377         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2378     }
2379     #[cfg(feature = "Win32_Foundation")]
2380     pub unsafe fn SetClassificationReportMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
2381         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
2382     }
2383     pub unsafe fn ClassificationReportEnabled(&self) -> ::windows::runtime::Result<i16> {
2384         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2385         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2386     }
2387     pub unsafe fn SetClassificationReportEnabled(&self, reportenabled: i16) -> ::windows::runtime::Result<()> {
2388         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(reportenabled)).ok()
2389     }
2390     #[cfg(feature = "Win32_Foundation")]
2391     pub unsafe fn ClassificationLastReportPathWithoutExtension(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2392         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2393         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2394     }
2395     #[cfg(feature = "Win32_Foundation")]
2396     pub unsafe fn ClassificationLastError(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2397         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2398         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2399     }
2400     pub unsafe fn ClassificationRunningStatus(&self) -> ::windows::runtime::Result<FsrmReportRunningStatus> {
2401         let mut result__: <FsrmReportRunningStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2402         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmReportRunningStatus>(result__)
2403     }
2404     pub unsafe fn EnumPropertyDefinitions(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2405         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2406         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2407     }
2408     pub unsafe fn CreatePropertyDefinition(&self) -> ::windows::runtime::Result<IFsrmPropertyDefinition> {
2409         let mut result__: <IFsrmPropertyDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2410         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmPropertyDefinition>(result__)
2411     }
2412     #[cfg(feature = "Win32_Foundation")]
2413     pub unsafe fn GetPropertyDefinition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<IFsrmPropertyDefinition> {
2414         let mut result__: <IFsrmPropertyDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2415         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), propertyname.into_param().abi(), &mut result__).from_abi::<IFsrmPropertyDefinition>(result__)
2416     }
2417     pub unsafe fn EnumRules(&self, ruletype: FsrmRuleType, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2418         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2419         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruletype), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2420     }
2421     pub unsafe fn CreateRule(&self, ruletype: FsrmRuleType) -> ::windows::runtime::Result<IFsrmRule> {
2422         let mut result__: <IFsrmRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2423         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruletype), &mut result__).from_abi::<IFsrmRule>(result__)
2424     }
2425     #[cfg(feature = "Win32_Foundation")]
2426     pub unsafe fn GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rulename: Param0, ruletype: FsrmRuleType) -> ::windows::runtime::Result<IFsrmRule> {
2427         let mut result__: <IFsrmRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2428         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), rulename.into_param().abi(), ::std::mem::transmute(ruletype), &mut result__).from_abi::<IFsrmRule>(result__)
2429     }
2430     pub unsafe fn EnumModuleDefinitions(&self, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2431         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2432         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(moduletype), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2433     }
2434     pub unsafe fn CreateModuleDefinition(&self, moduletype: FsrmPipelineModuleType) -> ::windows::runtime::Result<IFsrmPipelineModuleDefinition> {
2435         let mut result__: <IFsrmPipelineModuleDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2436         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(moduletype), &mut result__).from_abi::<IFsrmPipelineModuleDefinition>(result__)
2437     }
2438     #[cfg(feature = "Win32_Foundation")]
2439     pub unsafe fn GetModuleDefinition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, modulename: Param0, moduletype: FsrmPipelineModuleType) -> ::windows::runtime::Result<IFsrmPipelineModuleDefinition> {
2440         let mut result__: <IFsrmPipelineModuleDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2441         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), modulename.into_param().abi(), ::std::mem::transmute(moduletype), &mut result__).from_abi::<IFsrmPipelineModuleDefinition>(result__)
2442     }
2443     #[cfg(feature = "Win32_Foundation")]
2444     pub unsafe fn RunClassification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, context: FsrmReportGenerationContext, reserved: Param1) -> ::windows::runtime::Result<()> {
2445         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(context), reserved.into_param().abi()).ok()
2446     }
2447     pub unsafe fn WaitForClassificationCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
2448         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2449         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
2450     }
2451     pub unsafe fn CancelClassification(&self) -> ::windows::runtime::Result<()> {
2452         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self)).ok()
2453     }
2454     #[cfg(feature = "Win32_Foundation")]
2455     pub unsafe fn EnumFileProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2456         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2457         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2458     }
2459     #[cfg(feature = "Win32_Foundation")]
2460     pub unsafe fn GetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, propertyname: Param1, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::Result<IFsrmProperty> {
2461         let mut result__: <IFsrmProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2462         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), filepath.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmProperty>(result__)
2463     }
2464     #[cfg(feature = "Win32_Foundation")]
2465     pub unsafe fn SetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, propertyname: Param1, propertyvalue: Param2) -> ::windows::runtime::Result<()> {
2466         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), filepath.into_param().abi(), propertyname.into_param().abi(), propertyvalue.into_param().abi()).ok()
2467     }
2468     #[cfg(feature = "Win32_Foundation")]
2469     pub unsafe fn ClearFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, property: Param1) -> ::windows::runtime::Result<()> {
2470         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), filepath.into_param().abi(), property.into_param().abi()).ok()
2471     }
2472 }
2473 unsafe impl ::windows::runtime::Interface for IFsrmClassificationManager {
2474     type Vtable = IFsrmClassificationManager_abi;
2475     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3537668570, 61073, 18592, [133, 216, 204, 114, 165, 111, 125, 4]);
2476 }
2477 impl ::std::convert::From<IFsrmClassificationManager> for ::windows::runtime::IUnknown {
2478     fn from(value: IFsrmClassificationManager) -> Self {
2479         unsafe { ::std::mem::transmute(value) }
2480     }
2481 }
2482 impl ::std::convert::From<&IFsrmClassificationManager> for ::windows::runtime::IUnknown {
2483     fn from(value: &IFsrmClassificationManager) -> Self {
2484         ::std::convert::From::from(::std::clone::Clone::clone(value))
2485     }
2486 }
2487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmClassificationManager {
2488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2489         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2490     }
2491 }
2492 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmClassificationManager {
2493     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2494         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2495     }
2496 }
2497 #[cfg(feature = "Win32_System_Ole_Automation")]
2498 impl ::std::convert::From<IFsrmClassificationManager> for super::super::System::Ole::Automation::IDispatch {
2499     fn from(value: IFsrmClassificationManager) -> Self {
2500         unsafe { ::std::mem::transmute(value) }
2501     }
2502 }
2503 #[cfg(feature = "Win32_System_Ole_Automation")]
2504 impl ::std::convert::From<&IFsrmClassificationManager> for super::super::System::Ole::Automation::IDispatch {
2505     fn from(value: &IFsrmClassificationManager) -> Self {
2506         ::std::convert::From::from(::std::clone::Clone::clone(value))
2507     }
2508 }
2509 #[cfg(feature = "Win32_System_Ole_Automation")]
2510 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmClassificationManager {
2511     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2512         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2513     }
2514 }
2515 #[cfg(feature = "Win32_System_Ole_Automation")]
2516 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmClassificationManager {
2517     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2518         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2519     }
2520 }
2521 #[repr(C)]
2522 #[doc(hidden)]
2523 pub struct IFsrmClassificationManager_abi(
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2528     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2529     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2530     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2531     #[cfg(not(feature = "Win32_Foundation"))] usize,
2532     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2533     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2534     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2535     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2536     #[cfg(not(feature = "Win32_System_Com"))] usize,
2537     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2538     #[cfg(not(feature = "Win32_System_Com"))] usize,
2539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logging: *mut i32) -> ::windows::runtime::HRESULT,
2540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logging: i32) -> ::windows::runtime::HRESULT,
2541     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2542     #[cfg(not(feature = "Win32_Foundation"))] usize,
2543     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2544     #[cfg(not(feature = "Win32_Foundation"))] usize,
2545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: *mut i16) -> ::windows::runtime::HRESULT,
2546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: i16) -> ::windows::runtime::HRESULT,
2547     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastreportpath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2548     #[cfg(not(feature = "Win32_Foundation"))] usize,
2549     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lasterror: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2550     #[cfg(not(feature = "Win32_Foundation"))] usize,
2551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runningstatus: *mut FsrmReportRunningStatus) -> ::windows::runtime::HRESULT,
2552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, propertydefinitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertydefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2554     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertydefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2555     #[cfg(not(feature = "Win32_Foundation"))] usize,
2556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: FsrmRuleType, options: FsrmEnumOptions, rules: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: FsrmRuleType, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2558     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rulename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ruletype: FsrmRuleType, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2559     #[cfg(not(feature = "Win32_Foundation"))] usize,
2560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions, moduledefinitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: FsrmPipelineModuleType, moduledefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2562     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modulename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, moduletype: FsrmPipelineModuleType, moduledefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2563     #[cfg(not(feature = "Win32_Foundation"))] usize,
2564     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext, reserved: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2565     #[cfg(not(feature = "Win32_Foundation"))] usize,
2566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
2567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2568     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmGetFilePropertyOptions, fileproperties: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2569     #[cfg(not(feature = "Win32_Foundation"))] usize,
2570     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmGetFilePropertyOptions, property: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2571     #[cfg(not(feature = "Win32_Foundation"))] usize,
2572     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyvalue: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2573     #[cfg(not(feature = "Win32_Foundation"))] usize,
2574     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, property: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2575     #[cfg(not(feature = "Win32_Foundation"))] usize,
2576 );
2577 #[repr(transparent)]
2578 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2579 pub struct IFsrmClassificationManager2(::windows::runtime::IUnknown);
2580 impl IFsrmClassificationManager2 {
2581     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2582         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2583         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2584     }
2585     #[cfg(feature = "Win32_System_Ole_Automation")]
2586     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2587         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2588         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2589     }
2590     #[cfg(feature = "Win32_Foundation")]
2591     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2592         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2593     }
2594     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2595     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2596         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2597     }
2598     #[cfg(feature = "Win32_System_Com")]
2599     pub unsafe fn ClassificationReportFormats(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2600         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2601         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2602     }
2603     #[cfg(feature = "Win32_System_Com")]
2604     pub unsafe fn SetClassificationReportFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2605         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(formats)).ok()
2606     }
2607     pub unsafe fn Logging(&self) -> ::windows::runtime::Result<i32> {
2608         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2609         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2610     }
2611     pub unsafe fn SetLogging(&self, logging: i32) -> ::windows::runtime::Result<()> {
2612         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(logging)).ok()
2613     }
2614     #[cfg(feature = "Win32_Foundation")]
2615     pub unsafe fn ClassificationReportMailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2616         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2617         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2618     }
2619     #[cfg(feature = "Win32_Foundation")]
2620     pub unsafe fn SetClassificationReportMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
2621         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
2622     }
2623     pub unsafe fn ClassificationReportEnabled(&self) -> ::windows::runtime::Result<i16> {
2624         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2625         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2626     }
2627     pub unsafe fn SetClassificationReportEnabled(&self, reportenabled: i16) -> ::windows::runtime::Result<()> {
2628         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(reportenabled)).ok()
2629     }
2630     #[cfg(feature = "Win32_Foundation")]
2631     pub unsafe fn ClassificationLastReportPathWithoutExtension(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2632         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2633         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2634     }
2635     #[cfg(feature = "Win32_Foundation")]
2636     pub unsafe fn ClassificationLastError(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2637         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2638         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2639     }
2640     pub unsafe fn ClassificationRunningStatus(&self) -> ::windows::runtime::Result<FsrmReportRunningStatus> {
2641         let mut result__: <FsrmReportRunningStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2642         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmReportRunningStatus>(result__)
2643     }
2644     pub unsafe fn EnumPropertyDefinitions(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2645         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2646         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2647     }
2648     pub unsafe fn CreatePropertyDefinition(&self) -> ::windows::runtime::Result<IFsrmPropertyDefinition> {
2649         let mut result__: <IFsrmPropertyDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2650         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmPropertyDefinition>(result__)
2651     }
2652     #[cfg(feature = "Win32_Foundation")]
2653     pub unsafe fn GetPropertyDefinition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<IFsrmPropertyDefinition> {
2654         let mut result__: <IFsrmPropertyDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2655         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), propertyname.into_param().abi(), &mut result__).from_abi::<IFsrmPropertyDefinition>(result__)
2656     }
2657     pub unsafe fn EnumRules(&self, ruletype: FsrmRuleType, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2658         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2659         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruletype), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2660     }
2661     pub unsafe fn CreateRule(&self, ruletype: FsrmRuleType) -> ::windows::runtime::Result<IFsrmRule> {
2662         let mut result__: <IFsrmRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2663         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruletype), &mut result__).from_abi::<IFsrmRule>(result__)
2664     }
2665     #[cfg(feature = "Win32_Foundation")]
2666     pub unsafe fn GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rulename: Param0, ruletype: FsrmRuleType) -> ::windows::runtime::Result<IFsrmRule> {
2667         let mut result__: <IFsrmRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2668         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), rulename.into_param().abi(), ::std::mem::transmute(ruletype), &mut result__).from_abi::<IFsrmRule>(result__)
2669     }
2670     pub unsafe fn EnumModuleDefinitions(&self, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2671         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2672         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(moduletype), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2673     }
2674     pub unsafe fn CreateModuleDefinition(&self, moduletype: FsrmPipelineModuleType) -> ::windows::runtime::Result<IFsrmPipelineModuleDefinition> {
2675         let mut result__: <IFsrmPipelineModuleDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2676         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(moduletype), &mut result__).from_abi::<IFsrmPipelineModuleDefinition>(result__)
2677     }
2678     #[cfg(feature = "Win32_Foundation")]
2679     pub unsafe fn GetModuleDefinition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, modulename: Param0, moduletype: FsrmPipelineModuleType) -> ::windows::runtime::Result<IFsrmPipelineModuleDefinition> {
2680         let mut result__: <IFsrmPipelineModuleDefinition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2681         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), modulename.into_param().abi(), ::std::mem::transmute(moduletype), &mut result__).from_abi::<IFsrmPipelineModuleDefinition>(result__)
2682     }
2683     #[cfg(feature = "Win32_Foundation")]
2684     pub unsafe fn RunClassification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, context: FsrmReportGenerationContext, reserved: Param1) -> ::windows::runtime::Result<()> {
2685         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(context), reserved.into_param().abi()).ok()
2686     }
2687     pub unsafe fn WaitForClassificationCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
2688         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2689         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
2690     }
2691     pub unsafe fn CancelClassification(&self) -> ::windows::runtime::Result<()> {
2692         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self)).ok()
2693     }
2694     #[cfg(feature = "Win32_Foundation")]
2695     pub unsafe fn EnumFileProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::Result<IFsrmCollection> {
2696         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2697         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
2698     }
2699     #[cfg(feature = "Win32_Foundation")]
2700     pub unsafe fn GetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, propertyname: Param1, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::Result<IFsrmProperty> {
2701         let mut result__: <IFsrmProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2702         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), filepath.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmProperty>(result__)
2703     }
2704     #[cfg(feature = "Win32_Foundation")]
2705     pub unsafe fn SetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, propertyname: Param1, propertyvalue: Param2) -> ::windows::runtime::Result<()> {
2706         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), filepath.into_param().abi(), propertyname.into_param().abi(), propertyvalue.into_param().abi()).ok()
2707     }
2708     #[cfg(feature = "Win32_Foundation")]
2709     pub unsafe fn ClearFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, property: Param1) -> ::windows::runtime::Result<()> {
2710         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), filepath.into_param().abi(), property.into_param().abi()).ok()
2711     }
2712     #[cfg(feature = "Win32_System_Com")]
2713     pub unsafe fn ClassifyFiles(&self, filepaths: *const super::super::System::Com::SAFEARRAY, propertynames: *const super::super::System::Com::SAFEARRAY, propertyvalues: *const super::super::System::Com::SAFEARRAY, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::Result<()> {
2714         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(filepaths), ::std::mem::transmute(propertynames), ::std::mem::transmute(propertyvalues), ::std::mem::transmute(options)).ok()
2715     }
2716 }
2717 unsafe impl ::windows::runtime::Interface for IFsrmClassificationManager2 {
2718     type Vtable = IFsrmClassificationManager2_abi;
2719     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(311753, 4734, 18277, [186, 7, 106, 49, 71, 188, 161, 18]);
2720 }
2721 impl ::std::convert::From<IFsrmClassificationManager2> for ::windows::runtime::IUnknown {
2722     fn from(value: IFsrmClassificationManager2) -> Self {
2723         unsafe { ::std::mem::transmute(value) }
2724     }
2725 }
2726 impl ::std::convert::From<&IFsrmClassificationManager2> for ::windows::runtime::IUnknown {
2727     fn from(value: &IFsrmClassificationManager2) -> Self {
2728         ::std::convert::From::from(::std::clone::Clone::clone(value))
2729     }
2730 }
2731 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmClassificationManager2 {
2732     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2733         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2734     }
2735 }
2736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmClassificationManager2 {
2737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2739     }
2740 }
2741 impl ::std::convert::From<IFsrmClassificationManager2> for IFsrmClassificationManager {
2742     fn from(value: IFsrmClassificationManager2) -> Self {
2743         unsafe { ::std::mem::transmute(value) }
2744     }
2745 }
2746 impl ::std::convert::From<&IFsrmClassificationManager2> for IFsrmClassificationManager {
2747     fn from(value: &IFsrmClassificationManager2) -> Self {
2748         ::std::convert::From::from(::std::clone::Clone::clone(value))
2749     }
2750 }
2751 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmClassificationManager> for IFsrmClassificationManager2 {
2752     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmClassificationManager> {
2753         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmClassificationManager>::into(self))
2754     }
2755 }
2756 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmClassificationManager> for &IFsrmClassificationManager2 {
2757     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmClassificationManager> {
2758         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmClassificationManager>::into(::std::clone::Clone::clone(self)))
2759     }
2760 }
2761 #[cfg(feature = "Win32_System_Ole_Automation")]
2762 impl ::std::convert::From<IFsrmClassificationManager2> for super::super::System::Ole::Automation::IDispatch {
2763     fn from(value: IFsrmClassificationManager2) -> Self {
2764         unsafe { ::std::mem::transmute(value) }
2765     }
2766 }
2767 #[cfg(feature = "Win32_System_Ole_Automation")]
2768 impl ::std::convert::From<&IFsrmClassificationManager2> for super::super::System::Ole::Automation::IDispatch {
2769     fn from(value: &IFsrmClassificationManager2) -> Self {
2770         ::std::convert::From::from(::std::clone::Clone::clone(value))
2771     }
2772 }
2773 #[cfg(feature = "Win32_System_Ole_Automation")]
2774 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmClassificationManager2 {
2775     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2776         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2777     }
2778 }
2779 #[cfg(feature = "Win32_System_Ole_Automation")]
2780 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmClassificationManager2 {
2781     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2782         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2783     }
2784 }
2785 #[repr(C)]
2786 #[doc(hidden)]
2787 pub struct IFsrmClassificationManager2_abi(
2788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2792     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2793     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2794     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2795     #[cfg(not(feature = "Win32_Foundation"))] usize,
2796     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2797     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2798     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2799     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2800     #[cfg(not(feature = "Win32_System_Com"))] usize,
2801     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2802     #[cfg(not(feature = "Win32_System_Com"))] usize,
2803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logging: *mut i32) -> ::windows::runtime::HRESULT,
2804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, logging: i32) -> ::windows::runtime::HRESULT,
2805     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2806     #[cfg(not(feature = "Win32_Foundation"))] usize,
2807     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2808     #[cfg(not(feature = "Win32_Foundation"))] usize,
2809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: *mut i16) -> ::windows::runtime::HRESULT,
2810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: i16) -> ::windows::runtime::HRESULT,
2811     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastreportpath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2812     #[cfg(not(feature = "Win32_Foundation"))] usize,
2813     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lasterror: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2814     #[cfg(not(feature = "Win32_Foundation"))] usize,
2815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runningstatus: *mut FsrmReportRunningStatus) -> ::windows::runtime::HRESULT,
2816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, propertydefinitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertydefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2818     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertydefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2819     #[cfg(not(feature = "Win32_Foundation"))] usize,
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: FsrmRuleType, options: FsrmEnumOptions, rules: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: FsrmRuleType, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2822     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rulename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ruletype: FsrmRuleType, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2823     #[cfg(not(feature = "Win32_Foundation"))] usize,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: FsrmPipelineModuleType, options: FsrmEnumOptions, moduledefinitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: FsrmPipelineModuleType, moduledefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2826     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modulename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, moduletype: FsrmPipelineModuleType, moduledefinition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2827     #[cfg(not(feature = "Win32_Foundation"))] usize,
2828     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext, reserved: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2829     #[cfg(not(feature = "Win32_Foundation"))] usize,
2830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
2831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmGetFilePropertyOptions, fileproperties: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2833     #[cfg(not(feature = "Win32_Foundation"))] usize,
2834     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmGetFilePropertyOptions, property: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2835     #[cfg(not(feature = "Win32_Foundation"))] usize,
2836     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyvalue: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2837     #[cfg(not(feature = "Win32_Foundation"))] usize,
2838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, property: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2839     #[cfg(not(feature = "Win32_Foundation"))] usize,
2840     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepaths: *const super::super::System::Com::SAFEARRAY, propertynames: *const super::super::System::Com::SAFEARRAY, propertyvalues: *const super::super::System::Com::SAFEARRAY, options: FsrmGetFilePropertyOptions) -> ::windows::runtime::HRESULT,
2841     #[cfg(not(feature = "Win32_System_Com"))] usize,
2842 );
2843 #[repr(transparent)]
2844 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2845 pub struct IFsrmClassificationRule(::windows::runtime::IUnknown);
2846 impl IFsrmClassificationRule {
2847     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2848         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2849         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2850     }
2851     #[cfg(feature = "Win32_System_Ole_Automation")]
2852     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2853         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2854         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2855     }
2856     #[cfg(feature = "Win32_Foundation")]
2857     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2858         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2859     }
2860     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2861     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2862         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2863     }
2864     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2865         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2866         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2867     }
2868     #[cfg(feature = "Win32_Foundation")]
2869     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2870         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2871         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2872     }
2873     #[cfg(feature = "Win32_Foundation")]
2874     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
2875         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
2876     }
2877     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
2878         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2879     }
2880     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
2881         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
2882     }
2883     #[cfg(feature = "Win32_Foundation")]
2884     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2885         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2886         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2887     }
2888     #[cfg(feature = "Win32_Foundation")]
2889     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
2890         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
2891     }
2892     pub unsafe fn RuleType(&self) -> ::windows::runtime::Result<FsrmRuleType> {
2893         let mut result__: <FsrmRuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2894         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmRuleType>(result__)
2895     }
2896     #[cfg(feature = "Win32_Foundation")]
2897     pub unsafe fn ModuleDefinitionName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2898         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2899         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2900     }
2901     #[cfg(feature = "Win32_Foundation")]
2902     pub unsafe fn SetModuleDefinitionName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, moduledefinitionname: Param0) -> ::windows::runtime::Result<()> {
2903         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), moduledefinitionname.into_param().abi()).ok()
2904     }
2905     #[cfg(feature = "Win32_System_Com")]
2906     pub unsafe fn NamespaceRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2907         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2908         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2909     }
2910     #[cfg(feature = "Win32_System_Com")]
2911     pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2912         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(namespaceroots)).ok()
2913     }
2914     pub unsafe fn RuleFlags(&self) -> ::windows::runtime::Result<i32> {
2915         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2916         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2917     }
2918     pub unsafe fn SetRuleFlags(&self, ruleflags: i32) -> ::windows::runtime::Result<()> {
2919         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruleflags)).ok()
2920     }
2921     #[cfg(feature = "Win32_System_Com")]
2922     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2923         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2924         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2925     }
2926     #[cfg(feature = "Win32_System_Com")]
2927     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2928         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
2929     }
2930     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2931     pub unsafe fn LastModified(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2932         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2933         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2934     }
2935     pub unsafe fn ExecutionOption(&self) -> ::windows::runtime::Result<FsrmExecutionOption> {
2936         let mut result__: <FsrmExecutionOption as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2937         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmExecutionOption>(result__)
2938     }
2939     pub unsafe fn SetExecutionOption(&self, executionoption: FsrmExecutionOption) -> ::windows::runtime::Result<()> {
2940         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(executionoption)).ok()
2941     }
2942     #[cfg(feature = "Win32_Foundation")]
2943     pub unsafe fn PropertyAffected(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2944         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2945         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2946     }
2947     #[cfg(feature = "Win32_Foundation")]
2948     pub unsafe fn SetPropertyAffected<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, property: Param0) -> ::windows::runtime::Result<()> {
2949         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), property.into_param().abi()).ok()
2950     }
2951     #[cfg(feature = "Win32_Foundation")]
2952     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2953         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2954         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2955     }
2956     #[cfg(feature = "Win32_Foundation")]
2957     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2958         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
2959     }
2960 }
2961 unsafe impl ::windows::runtime::Interface for IFsrmClassificationRule {
2962     type Vtable = IFsrmClassificationRule_abi;
2963     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2948616898, 21269, 17835, [132, 27, 198, 219, 14, 18, 1, 72]);
2964 }
2965 impl ::std::convert::From<IFsrmClassificationRule> for ::windows::runtime::IUnknown {
2966     fn from(value: IFsrmClassificationRule) -> Self {
2967         unsafe { ::std::mem::transmute(value) }
2968     }
2969 }
2970 impl ::std::convert::From<&IFsrmClassificationRule> for ::windows::runtime::IUnknown {
2971     fn from(value: &IFsrmClassificationRule) -> Self {
2972         ::std::convert::From::from(::std::clone::Clone::clone(value))
2973     }
2974 }
2975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmClassificationRule {
2976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2977         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2978     }
2979 }
2980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmClassificationRule {
2981     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2982         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2983     }
2984 }
2985 impl ::std::convert::From<IFsrmClassificationRule> for IFsrmRule {
2986     fn from(value: IFsrmClassificationRule) -> Self {
2987         unsafe { ::std::mem::transmute(value) }
2988     }
2989 }
2990 impl ::std::convert::From<&IFsrmClassificationRule> for IFsrmRule {
2991     fn from(value: &IFsrmClassificationRule) -> Self {
2992         ::std::convert::From::from(::std::clone::Clone::clone(value))
2993     }
2994 }
2995 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmRule> for IFsrmClassificationRule {
2996     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmRule> {
2997         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmRule>::into(self))
2998     }
2999 }
3000 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmRule> for &IFsrmClassificationRule {
3001     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmRule> {
3002         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmRule>::into(::std::clone::Clone::clone(self)))
3003     }
3004 }
3005 impl ::std::convert::From<IFsrmClassificationRule> for IFsrmObject {
3006     fn from(value: IFsrmClassificationRule) -> Self {
3007         unsafe { ::std::mem::transmute(value) }
3008     }
3009 }
3010 impl ::std::convert::From<&IFsrmClassificationRule> for IFsrmObject {
3011     fn from(value: &IFsrmClassificationRule) -> Self {
3012         ::std::convert::From::from(::std::clone::Clone::clone(value))
3013     }
3014 }
3015 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmClassificationRule {
3016     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
3017         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
3018     }
3019 }
3020 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmClassificationRule {
3021     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
3022         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
3023     }
3024 }
3025 #[cfg(feature = "Win32_System_Ole_Automation")]
3026 impl ::std::convert::From<IFsrmClassificationRule> for super::super::System::Ole::Automation::IDispatch {
3027     fn from(value: IFsrmClassificationRule) -> Self {
3028         unsafe { ::std::mem::transmute(value) }
3029     }
3030 }
3031 #[cfg(feature = "Win32_System_Ole_Automation")]
3032 impl ::std::convert::From<&IFsrmClassificationRule> for super::super::System::Ole::Automation::IDispatch {
3033     fn from(value: &IFsrmClassificationRule) -> Self {
3034         ::std::convert::From::from(::std::clone::Clone::clone(value))
3035     }
3036 }
3037 #[cfg(feature = "Win32_System_Ole_Automation")]
3038 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmClassificationRule {
3039     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3040         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3041     }
3042 }
3043 #[cfg(feature = "Win32_System_Ole_Automation")]
3044 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmClassificationRule {
3045     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3046         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3047     }
3048 }
3049 #[repr(C)]
3050 #[doc(hidden)]
3051 pub struct IFsrmClassificationRule_abi(
3052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3056     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3057     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3059     #[cfg(not(feature = "Win32_Foundation"))] usize,
3060     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3061     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3062     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3064     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3065     #[cfg(not(feature = "Win32_Foundation"))] usize,
3066     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3067     #[cfg(not(feature = "Win32_Foundation"))] usize,
3068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3071     #[cfg(not(feature = "Win32_Foundation"))] usize,
3072     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3073     #[cfg(not(feature = "Win32_Foundation"))] usize,
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: *mut FsrmRuleType) -> ::windows::runtime::HRESULT,
3075     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinitionname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3076     #[cfg(not(feature = "Win32_Foundation"))] usize,
3077     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinitionname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3078     #[cfg(not(feature = "Win32_Foundation"))] usize,
3079     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3080     #[cfg(not(feature = "Win32_System_Com"))] usize,
3081     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3082     #[cfg(not(feature = "Win32_System_Com"))] usize,
3083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruleflags: *mut i32) -> ::windows::runtime::HRESULT,
3084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruleflags: i32) -> ::windows::runtime::HRESULT,
3085     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3086     #[cfg(not(feature = "Win32_System_Com"))] usize,
3087     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3088     #[cfg(not(feature = "Win32_System_Com"))] usize,
3089     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastmodified: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3090     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, executionoption: *mut FsrmExecutionOption) -> ::windows::runtime::HRESULT,
3092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, executionoption: FsrmExecutionOption) -> ::windows::runtime::HRESULT,
3093     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3094     #[cfg(not(feature = "Win32_Foundation"))] usize,
3095     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3096     #[cfg(not(feature = "Win32_Foundation"))] usize,
3097     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3098     #[cfg(not(feature = "Win32_Foundation"))] usize,
3099     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3100     #[cfg(not(feature = "Win32_Foundation"))] usize,
3101 );
3102 #[repr(transparent)]
3103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3104 pub struct IFsrmClassifierModuleDefinition(::windows::runtime::IUnknown);
3105 impl IFsrmClassifierModuleDefinition {
3106     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
3107         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3108         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3109     }
3110     #[cfg(feature = "Win32_System_Ole_Automation")]
3111     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
3112         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3113         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
3114     }
3115     #[cfg(feature = "Win32_Foundation")]
3116     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
3117         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
3118     }
3119     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3120     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
3121         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
3122     }
3123     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3124         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3125         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3126     }
3127     #[cfg(feature = "Win32_Foundation")]
3128     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3129         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3130         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3131     }
3132     #[cfg(feature = "Win32_Foundation")]
3133     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
3134         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
3135     }
3136     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
3137         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
3138     }
3139     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
3140         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
3141     }
3142     #[cfg(feature = "Win32_Foundation")]
3143     pub unsafe fn ModuleClsid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3144         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3145         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3146     }
3147     #[cfg(feature = "Win32_Foundation")]
3148     pub unsafe fn SetModuleClsid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, moduleclsid: Param0) -> ::windows::runtime::Result<()> {
3149         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), moduleclsid.into_param().abi()).ok()
3150     }
3151     #[cfg(feature = "Win32_Foundation")]
3152     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3153         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3154         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3155     }
3156     #[cfg(feature = "Win32_Foundation")]
3157     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
3158         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
3159     }
3160     #[cfg(feature = "Win32_Foundation")]
3161     pub unsafe fn Company(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3162         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3163         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3164     }
3165     #[cfg(feature = "Win32_Foundation")]
3166     pub unsafe fn SetCompany<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, company: Param0) -> ::windows::runtime::Result<()> {
3167         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), company.into_param().abi()).ok()
3168     }
3169     #[cfg(feature = "Win32_Foundation")]
3170     pub unsafe fn Version(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3171         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3172         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3173     }
3174     #[cfg(feature = "Win32_Foundation")]
3175     pub unsafe fn SetVersion<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, version: Param0) -> ::windows::runtime::Result<()> {
3176         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), version.into_param().abi()).ok()
3177     }
3178     pub unsafe fn ModuleType(&self) -> ::windows::runtime::Result<FsrmPipelineModuleType> {
3179         let mut result__: <FsrmPipelineModuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3180         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPipelineModuleType>(result__)
3181     }
3182     pub unsafe fn Enabled(&self) -> ::windows::runtime::Result<i16> {
3183         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3184         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3185     }
3186     pub unsafe fn SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()> {
3187         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(enabled)).ok()
3188     }
3189     pub unsafe fn NeedsFileContent(&self) -> ::windows::runtime::Result<i16> {
3190         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3191         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3192     }
3193     pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: i16) -> ::windows::runtime::Result<()> {
3194         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(needsfilecontent)).ok()
3195     }
3196     pub unsafe fn Account(&self) -> ::windows::runtime::Result<FsrmAccountType> {
3197         let mut result__: <FsrmAccountType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3198         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmAccountType>(result__)
3199     }
3200     pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows::runtime::Result<()> {
3201         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(retrievalaccount)).ok()
3202     }
3203     #[cfg(feature = "Win32_System_Com")]
3204     pub unsafe fn SupportedExtensions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3205         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3206         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3207     }
3208     #[cfg(feature = "Win32_System_Com")]
3209     pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3210         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(supportedextensions)).ok()
3211     }
3212     #[cfg(feature = "Win32_System_Com")]
3213     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3214         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3215         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3216     }
3217     #[cfg(feature = "Win32_System_Com")]
3218     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3219         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
3220     }
3221     #[cfg(feature = "Win32_System_Com")]
3222     pub unsafe fn PropertiesAffected(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3223         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3224         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3225     }
3226     #[cfg(feature = "Win32_System_Com")]
3227     pub unsafe fn SetPropertiesAffected(&self, propertiesaffected: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3228         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertiesaffected)).ok()
3229     }
3230     #[cfg(feature = "Win32_System_Com")]
3231     pub unsafe fn PropertiesUsed(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3232         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3233         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3234     }
3235     #[cfg(feature = "Win32_System_Com")]
3236     pub unsafe fn SetPropertiesUsed(&self, propertiesused: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3237         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertiesused)).ok()
3238     }
3239     pub unsafe fn NeedsExplicitValue(&self) -> ::windows::runtime::Result<i16> {
3240         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3241         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3242     }
3243     pub unsafe fn SetNeedsExplicitValue(&self, needsexplicitvalue: i16) -> ::windows::runtime::Result<()> {
3244         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(needsexplicitvalue)).ok()
3245     }
3246 }
3247 unsafe impl ::windows::runtime::Interface for IFsrmClassifierModuleDefinition {
3248     type Vtable = IFsrmClassifierModuleDefinition_abi;
3249     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3140938278, 25368, 19340, [133, 146, 247, 45, 214, 2, 231, 165]);
3250 }
3251 impl ::std::convert::From<IFsrmClassifierModuleDefinition> for ::windows::runtime::IUnknown {
3252     fn from(value: IFsrmClassifierModuleDefinition) -> Self {
3253         unsafe { ::std::mem::transmute(value) }
3254     }
3255 }
3256 impl ::std::convert::From<&IFsrmClassifierModuleDefinition> for ::windows::runtime::IUnknown {
3257     fn from(value: &IFsrmClassifierModuleDefinition) -> Self {
3258         ::std::convert::From::from(::std::clone::Clone::clone(value))
3259     }
3260 }
3261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmClassifierModuleDefinition {
3262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3263         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3264     }
3265 }
3266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmClassifierModuleDefinition {
3267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3269     }
3270 }
3271 impl ::std::convert::From<IFsrmClassifierModuleDefinition> for IFsrmPipelineModuleDefinition {
3272     fn from(value: IFsrmClassifierModuleDefinition) -> Self {
3273         unsafe { ::std::mem::transmute(value) }
3274     }
3275 }
3276 impl ::std::convert::From<&IFsrmClassifierModuleDefinition> for IFsrmPipelineModuleDefinition {
3277     fn from(value: &IFsrmClassifierModuleDefinition) -> Self {
3278         ::std::convert::From::from(::std::clone::Clone::clone(value))
3279     }
3280 }
3281 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition> for IFsrmClassifierModuleDefinition {
3282     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleDefinition> {
3283         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleDefinition>::into(self))
3284     }
3285 }
3286 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition> for &IFsrmClassifierModuleDefinition {
3287     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleDefinition> {
3288         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleDefinition>::into(::std::clone::Clone::clone(self)))
3289     }
3290 }
3291 impl ::std::convert::From<IFsrmClassifierModuleDefinition> for IFsrmObject {
3292     fn from(value: IFsrmClassifierModuleDefinition) -> Self {
3293         unsafe { ::std::mem::transmute(value) }
3294     }
3295 }
3296 impl ::std::convert::From<&IFsrmClassifierModuleDefinition> for IFsrmObject {
3297     fn from(value: &IFsrmClassifierModuleDefinition) -> Self {
3298         ::std::convert::From::from(::std::clone::Clone::clone(value))
3299     }
3300 }
3301 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmClassifierModuleDefinition {
3302     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
3303         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
3304     }
3305 }
3306 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmClassifierModuleDefinition {
3307     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
3308         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
3309     }
3310 }
3311 #[cfg(feature = "Win32_System_Ole_Automation")]
3312 impl ::std::convert::From<IFsrmClassifierModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
3313     fn from(value: IFsrmClassifierModuleDefinition) -> Self {
3314         unsafe { ::std::mem::transmute(value) }
3315     }
3316 }
3317 #[cfg(feature = "Win32_System_Ole_Automation")]
3318 impl ::std::convert::From<&IFsrmClassifierModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
3319     fn from(value: &IFsrmClassifierModuleDefinition) -> Self {
3320         ::std::convert::From::from(::std::clone::Clone::clone(value))
3321     }
3322 }
3323 #[cfg(feature = "Win32_System_Ole_Automation")]
3324 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmClassifierModuleDefinition {
3325     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3326         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3327     }
3328 }
3329 #[cfg(feature = "Win32_System_Ole_Automation")]
3330 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmClassifierModuleDefinition {
3331     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3332         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3333     }
3334 }
3335 #[repr(C)]
3336 #[doc(hidden)]
3337 pub struct IFsrmClassifierModuleDefinition_abi(
3338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3342     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3343     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3344     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3345     #[cfg(not(feature = "Win32_Foundation"))] usize,
3346     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3347     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3348     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3350     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3351     #[cfg(not(feature = "Win32_Foundation"))] usize,
3352     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3353     #[cfg(not(feature = "Win32_Foundation"))] usize,
3354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3356     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3357     #[cfg(not(feature = "Win32_Foundation"))] usize,
3358     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3359     #[cfg(not(feature = "Win32_Foundation"))] usize,
3360     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3361     #[cfg(not(feature = "Win32_Foundation"))] usize,
3362     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3363     #[cfg(not(feature = "Win32_Foundation"))] usize,
3364     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3365     #[cfg(not(feature = "Win32_Foundation"))] usize,
3366     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3367     #[cfg(not(feature = "Win32_Foundation"))] usize,
3368     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3369     #[cfg(not(feature = "Win32_Foundation"))] usize,
3370     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3371     #[cfg(not(feature = "Win32_Foundation"))] usize,
3372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: *mut FsrmPipelineModuleType) -> ::windows::runtime::HRESULT,
3373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: *mut i16) -> ::windows::runtime::HRESULT,
3374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: i16) -> ::windows::runtime::HRESULT,
3375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: *mut i16) -> ::windows::runtime::HRESULT,
3376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: i16) -> ::windows::runtime::HRESULT,
3377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: *mut FsrmAccountType) -> ::windows::runtime::HRESULT,
3378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: FsrmAccountType) -> ::windows::runtime::HRESULT,
3379     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3380     #[cfg(not(feature = "Win32_System_Com"))] usize,
3381     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3382     #[cfg(not(feature = "Win32_System_Com"))] usize,
3383     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3384     #[cfg(not(feature = "Win32_System_Com"))] usize,
3385     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3386     #[cfg(not(feature = "Win32_System_Com"))] usize,
3387     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiesaffected: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3388     #[cfg(not(feature = "Win32_System_Com"))] usize,
3389     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiesaffected: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3390     #[cfg(not(feature = "Win32_System_Com"))] usize,
3391     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiesused: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3392     #[cfg(not(feature = "Win32_System_Com"))] usize,
3393     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertiesused: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3394     #[cfg(not(feature = "Win32_System_Com"))] usize,
3395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsexplicitvalue: *mut i16) -> ::windows::runtime::HRESULT,
3396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsexplicitvalue: i16) -> ::windows::runtime::HRESULT,
3397 );
3398 #[repr(transparent)]
3399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3400 pub struct IFsrmClassifierModuleImplementation(::windows::runtime::IUnknown);
3401 impl IFsrmClassifierModuleImplementation {
3402     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
3403         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3404         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3405     }
3406     #[cfg(feature = "Win32_System_Ole_Automation")]
3407     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
3408         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3409         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
3410     }
3411     #[cfg(feature = "Win32_Foundation")]
3412     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
3413         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
3414     }
3415     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3416     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
3417         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
3418     }
3419     pub unsafe fn OnLoad<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition>>(&self, moduledefinition: Param0) -> ::windows::runtime::Result<IFsrmPipelineModuleConnector> {
3420         let mut result__: <IFsrmPipelineModuleConnector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3421         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), moduledefinition.into_param().abi(), &mut result__).from_abi::<IFsrmPipelineModuleConnector>(result__)
3422     }
3423     pub unsafe fn OnUnload(&self) -> ::windows::runtime::Result<()> {
3424         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
3425     }
3426     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3427     pub unsafe fn LastModified(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3428         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3429         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3430     }
3431     pub unsafe fn UseRulesAndDefinitions<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmCollection>, Param1: ::windows::runtime::IntoParam<'a, IFsrmCollection>>(&self, rules: Param0, propertydefinitions: Param1) -> ::windows::runtime::Result<()> {
3432         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), rules.into_param().abi(), propertydefinitions.into_param().abi()).ok()
3433     }
3434     #[cfg(feature = "Win32_System_Com")]
3435     pub unsafe fn OnBeginFile<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPropertyBag>>(&self, propertybag: Param0, arrayruleids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3436         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), propertybag.into_param().abi(), ::std::mem::transmute(arrayruleids)).ok()
3437     }
3438     #[cfg(feature = "Win32_Foundation")]
3439     pub unsafe fn DoesPropertyValueApply<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, property: Param0, value: Param1, applyvalue: *mut i16, idrule: Param3, idpropdef: Param4) -> ::windows::runtime::Result<()> {
3440         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), property.into_param().abi(), value.into_param().abi(), ::std::mem::transmute(applyvalue), idrule.into_param().abi(), idpropdef.into_param().abi()).ok()
3441     }
3442     #[cfg(feature = "Win32_Foundation")]
3443     pub unsafe fn GetPropertyValueToApply<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, property: Param0, value: *mut super::super::Foundation::BSTR, idrule: Param2, idpropdef: Param3) -> ::windows::runtime::Result<()> {
3444         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), property.into_param().abi(), ::std::mem::transmute(value), idrule.into_param().abi(), idpropdef.into_param().abi()).ok()
3445     }
3446     pub unsafe fn OnEndFile(&self) -> ::windows::runtime::Result<()> {
3447         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
3448     }
3449 }
3450 unsafe impl ::windows::runtime::Interface for IFsrmClassifierModuleImplementation {
3451     type Vtable = IFsrmClassifierModuleImplementation_abi;
3452     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1284935622, 28379, 16465, [156, 24, 115, 183, 41, 26, 225, 6]);
3453 }
3454 impl ::std::convert::From<IFsrmClassifierModuleImplementation> for ::windows::runtime::IUnknown {
3455     fn from(value: IFsrmClassifierModuleImplementation) -> Self {
3456         unsafe { ::std::mem::transmute(value) }
3457     }
3458 }
3459 impl ::std::convert::From<&IFsrmClassifierModuleImplementation> for ::windows::runtime::IUnknown {
3460     fn from(value: &IFsrmClassifierModuleImplementation) -> Self {
3461         ::std::convert::From::from(::std::clone::Clone::clone(value))
3462     }
3463 }
3464 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmClassifierModuleImplementation {
3465     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3466         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3467     }
3468 }
3469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmClassifierModuleImplementation {
3470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3471         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3472     }
3473 }
3474 impl ::std::convert::From<IFsrmClassifierModuleImplementation> for IFsrmPipelineModuleImplementation {
3475     fn from(value: IFsrmClassifierModuleImplementation) -> Self {
3476         unsafe { ::std::mem::transmute(value) }
3477     }
3478 }
3479 impl ::std::convert::From<&IFsrmClassifierModuleImplementation> for IFsrmPipelineModuleImplementation {
3480     fn from(value: &IFsrmClassifierModuleImplementation) -> Self {
3481         ::std::convert::From::from(::std::clone::Clone::clone(value))
3482     }
3483 }
3484 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleImplementation> for IFsrmClassifierModuleImplementation {
3485     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleImplementation> {
3486         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleImplementation>::into(self))
3487     }
3488 }
3489 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleImplementation> for &IFsrmClassifierModuleImplementation {
3490     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleImplementation> {
3491         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleImplementation>::into(::std::clone::Clone::clone(self)))
3492     }
3493 }
3494 #[cfg(feature = "Win32_System_Ole_Automation")]
3495 impl ::std::convert::From<IFsrmClassifierModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
3496     fn from(value: IFsrmClassifierModuleImplementation) -> Self {
3497         unsafe { ::std::mem::transmute(value) }
3498     }
3499 }
3500 #[cfg(feature = "Win32_System_Ole_Automation")]
3501 impl ::std::convert::From<&IFsrmClassifierModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
3502     fn from(value: &IFsrmClassifierModuleImplementation) -> Self {
3503         ::std::convert::From::from(::std::clone::Clone::clone(value))
3504     }
3505 }
3506 #[cfg(feature = "Win32_System_Ole_Automation")]
3507 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmClassifierModuleImplementation {
3508     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3509         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3510     }
3511 }
3512 #[cfg(feature = "Win32_System_Ole_Automation")]
3513 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmClassifierModuleImplementation {
3514     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3515         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3516     }
3517 }
3518 #[repr(C)]
3519 #[doc(hidden)]
3520 pub struct IFsrmClassifierModuleImplementation_abi(
3521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3525     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3526     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3527     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3528     #[cfg(not(feature = "Win32_Foundation"))] usize,
3529     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3530     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3531     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinition: ::windows::runtime::RawPtr, moduleconnector: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3534     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastmodified: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3535     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rules: ::windows::runtime::RawPtr, propertydefinitions: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3537     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertybag: ::windows::runtime::RawPtr, arrayruleids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3538     #[cfg(not(feature = "Win32_System_Com"))] usize,
3539     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, applyvalue: *mut i16, idrule: ::windows::runtime::GUID, idpropdef: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3540     #[cfg(not(feature = "Win32_Foundation"))] usize,
3541     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, idrule: ::windows::runtime::GUID, idpropdef: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3542     #[cfg(not(feature = "Win32_Foundation"))] usize,
3543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3544 );
3545 #[repr(transparent)]
3546 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3547 pub struct IFsrmCollection(::windows::runtime::IUnknown);
3548 impl IFsrmCollection {
3549     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3550         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3551         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3552     }
3553     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3554     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3555         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3556         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3557     }
3558     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
3559         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3560         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3561     }
3562     pub unsafe fn State(&self) -> ::windows::runtime::Result<FsrmCollectionState> {
3563         let mut result__: <FsrmCollectionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3564         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmCollectionState>(result__)
3565     }
3566     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
3567         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
3568     }
3569     pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
3570         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3571         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
3572     }
3573     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3574     pub unsafe fn GetById<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3575         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3576         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), id.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3577     }
3578 }
3579 unsafe impl ::windows::runtime::Interface for IFsrmCollection {
3580     type Vtable = IFsrmCollection_abi;
3581     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4151295803, 36317, 19266, [176, 90, 203, 28, 63, 241, 254, 232]);
3582 }
3583 impl ::std::convert::From<IFsrmCollection> for ::windows::runtime::IUnknown {
3584     fn from(value: IFsrmCollection) -> Self {
3585         unsafe { ::std::mem::transmute(value) }
3586     }
3587 }
3588 impl ::std::convert::From<&IFsrmCollection> for ::windows::runtime::IUnknown {
3589     fn from(value: &IFsrmCollection) -> Self {
3590         ::std::convert::From::from(::std::clone::Clone::clone(value))
3591     }
3592 }
3593 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmCollection {
3594     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3595         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3596     }
3597 }
3598 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmCollection {
3599     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3600         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3601     }
3602 }
3603 #[cfg(feature = "Win32_System_Ole_Automation")]
3604 impl ::std::convert::From<IFsrmCollection> for super::super::System::Ole::Automation::IDispatch {
3605     fn from(value: IFsrmCollection) -> Self {
3606         unsafe { ::std::mem::transmute(value) }
3607     }
3608 }
3609 #[cfg(feature = "Win32_System_Ole_Automation")]
3610 impl ::std::convert::From<&IFsrmCollection> for super::super::System::Ole::Automation::IDispatch {
3611     fn from(value: &IFsrmCollection) -> Self {
3612         ::std::convert::From::from(::std::clone::Clone::clone(value))
3613     }
3614 }
3615 #[cfg(feature = "Win32_System_Ole_Automation")]
3616 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmCollection {
3617     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3618         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3619     }
3620 }
3621 #[cfg(feature = "Win32_System_Ole_Automation")]
3622 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmCollection {
3623     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3624         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3625     }
3626 }
3627 #[repr(C)]
3628 #[doc(hidden)]
3629 pub struct IFsrmCollection_abi(
3630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3634     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3635     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3636     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3637     #[cfg(not(feature = "Win32_Foundation"))] usize,
3638     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3639     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3640     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3642     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, item: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3643     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
3645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut FsrmCollectionState) -> ::windows::runtime::HRESULT,
3646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
3648     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::windows::runtime::GUID, entry: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3649     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3650 );
3651 #[repr(transparent)]
3652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3653 pub struct IFsrmCommittableCollection(::windows::runtime::IUnknown);
3654 impl IFsrmCommittableCollection {
3655     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
3656         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3657         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3658     }
3659     #[cfg(feature = "Win32_System_Ole_Automation")]
3660     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
3661         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3662         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
3663     }
3664     #[cfg(feature = "Win32_Foundation")]
3665     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
3666         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
3667     }
3668     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3669     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
3670         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
3671     }
3672     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3673         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3674         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3675     }
3676     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3677     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3678         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3679         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3680     }
3681     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
3682         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3683         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3684     }
3685     pub unsafe fn State(&self) -> ::windows::runtime::Result<FsrmCollectionState> {
3686         let mut result__: <FsrmCollectionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3687         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmCollectionState>(result__)
3688     }
3689     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
3690         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
3691     }
3692     pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
3693         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3694         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
3695     }
3696     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3697     pub unsafe fn GetById<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3698         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3699         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), id.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3700     }
3701     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3702     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, item: Param0) -> ::windows::runtime::Result<()> {
3703         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), item.into_param().abi()).ok()
3704     }
3705     pub unsafe fn Remove(&self, index: i32) -> ::windows::runtime::Result<()> {
3706         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)).ok()
3707     }
3708     pub unsafe fn RemoveById<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, id: Param0) -> ::windows::runtime::Result<()> {
3709         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), id.into_param().abi()).ok()
3710     }
3711     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
3712         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3713         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
3714     }
3715     pub unsafe fn Commit(&self, options: FsrmCommitOptions) -> ::windows::runtime::Result<IFsrmCollection> {
3716         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3717         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
3718     }
3719 }
3720 unsafe impl ::windows::runtime::Interface for IFsrmCommittableCollection {
3721     type Vtable = IFsrmCommittableCollection_abi;
3722     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2531177397, 35729, 18986, [157, 147, 128, 163, 93, 138, 168, 71]);
3723 }
3724 impl ::std::convert::From<IFsrmCommittableCollection> for ::windows::runtime::IUnknown {
3725     fn from(value: IFsrmCommittableCollection) -> Self {
3726         unsafe { ::std::mem::transmute(value) }
3727     }
3728 }
3729 impl ::std::convert::From<&IFsrmCommittableCollection> for ::windows::runtime::IUnknown {
3730     fn from(value: &IFsrmCommittableCollection) -> Self {
3731         ::std::convert::From::from(::std::clone::Clone::clone(value))
3732     }
3733 }
3734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmCommittableCollection {
3735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3736         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3737     }
3738 }
3739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmCommittableCollection {
3740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3742     }
3743 }
3744 impl ::std::convert::From<IFsrmCommittableCollection> for IFsrmMutableCollection {
3745     fn from(value: IFsrmCommittableCollection) -> Self {
3746         unsafe { ::std::mem::transmute(value) }
3747     }
3748 }
3749 impl ::std::convert::From<&IFsrmCommittableCollection> for IFsrmMutableCollection {
3750     fn from(value: &IFsrmCommittableCollection) -> Self {
3751         ::std::convert::From::from(::std::clone::Clone::clone(value))
3752     }
3753 }
3754 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmMutableCollection> for IFsrmCommittableCollection {
3755     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmMutableCollection> {
3756         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmMutableCollection>::into(self))
3757     }
3758 }
3759 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmMutableCollection> for &IFsrmCommittableCollection {
3760     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmMutableCollection> {
3761         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmMutableCollection>::into(::std::clone::Clone::clone(self)))
3762     }
3763 }
3764 impl ::std::convert::From<IFsrmCommittableCollection> for IFsrmCollection {
3765     fn from(value: IFsrmCommittableCollection) -> Self {
3766         unsafe { ::std::mem::transmute(value) }
3767     }
3768 }
3769 impl ::std::convert::From<&IFsrmCommittableCollection> for IFsrmCollection {
3770     fn from(value: &IFsrmCommittableCollection) -> Self {
3771         ::std::convert::From::from(::std::clone::Clone::clone(value))
3772     }
3773 }
3774 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmCollection> for IFsrmCommittableCollection {
3775     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmCollection> {
3776         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmCollection>::into(self))
3777     }
3778 }
3779 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmCollection> for &IFsrmCommittableCollection {
3780     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmCollection> {
3781         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmCollection>::into(::std::clone::Clone::clone(self)))
3782     }
3783 }
3784 #[cfg(feature = "Win32_System_Ole_Automation")]
3785 impl ::std::convert::From<IFsrmCommittableCollection> for super::super::System::Ole::Automation::IDispatch {
3786     fn from(value: IFsrmCommittableCollection) -> Self {
3787         unsafe { ::std::mem::transmute(value) }
3788     }
3789 }
3790 #[cfg(feature = "Win32_System_Ole_Automation")]
3791 impl ::std::convert::From<&IFsrmCommittableCollection> for super::super::System::Ole::Automation::IDispatch {
3792     fn from(value: &IFsrmCommittableCollection) -> Self {
3793         ::std::convert::From::from(::std::clone::Clone::clone(value))
3794     }
3795 }
3796 #[cfg(feature = "Win32_System_Ole_Automation")]
3797 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmCommittableCollection {
3798     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3799         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3800     }
3801 }
3802 #[cfg(feature = "Win32_System_Ole_Automation")]
3803 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmCommittableCollection {
3804     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3805         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3806     }
3807 }
3808 #[repr(C)]
3809 #[doc(hidden)]
3810 pub struct IFsrmCommittableCollection_abi(
3811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3815     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3816     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3817     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3818     #[cfg(not(feature = "Win32_Foundation"))] usize,
3819     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3820     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3821     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3823     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, item: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3824     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
3826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut FsrmCollectionState) -> ::windows::runtime::HRESULT,
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
3829     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::windows::runtime::GUID, entry: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3830     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3831     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3832     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32) -> ::windows::runtime::HRESULT,
3834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, collection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmCommitOptions, results: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3837 );
3838 #[repr(transparent)]
3839 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3840 pub struct IFsrmDerivedObjectsResult(::windows::runtime::IUnknown);
3841 impl IFsrmDerivedObjectsResult {
3842     pub unsafe fn DerivedObjects(&self) -> ::windows::runtime::Result<IFsrmCollection> {
3843         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3844         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
3845     }
3846     pub unsafe fn Results(&self) -> ::windows::runtime::Result<IFsrmCollection> {
3847         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3848         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
3849     }
3850 }
3851 unsafe impl ::windows::runtime::Interface for IFsrmDerivedObjectsResult {
3852     type Vtable = IFsrmDerivedObjectsResult_abi;
3853     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(959588909, 14574, 19725, [128, 149, 66, 26, 128, 132, 154, 130]);
3854 }
3855 impl ::std::convert::From<IFsrmDerivedObjectsResult> for ::windows::runtime::IUnknown {
3856     fn from(value: IFsrmDerivedObjectsResult) -> Self {
3857         unsafe { ::std::mem::transmute(value) }
3858     }
3859 }
3860 impl ::std::convert::From<&IFsrmDerivedObjectsResult> for ::windows::runtime::IUnknown {
3861     fn from(value: &IFsrmDerivedObjectsResult) -> Self {
3862         ::std::convert::From::from(::std::clone::Clone::clone(value))
3863     }
3864 }
3865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmDerivedObjectsResult {
3866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3868     }
3869 }
3870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmDerivedObjectsResult {
3871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3873     }
3874 }
3875 #[cfg(feature = "Win32_System_Ole_Automation")]
3876 impl ::std::convert::From<IFsrmDerivedObjectsResult> for super::super::System::Ole::Automation::IDispatch {
3877     fn from(value: IFsrmDerivedObjectsResult) -> Self {
3878         unsafe { ::std::mem::transmute(value) }
3879     }
3880 }
3881 #[cfg(feature = "Win32_System_Ole_Automation")]
3882 impl ::std::convert::From<&IFsrmDerivedObjectsResult> for super::super::System::Ole::Automation::IDispatch {
3883     fn from(value: &IFsrmDerivedObjectsResult) -> Self {
3884         ::std::convert::From::from(::std::clone::Clone::clone(value))
3885     }
3886 }
3887 #[cfg(feature = "Win32_System_Ole_Automation")]
3888 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmDerivedObjectsResult {
3889     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3890         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3891     }
3892 }
3893 #[cfg(feature = "Win32_System_Ole_Automation")]
3894 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmDerivedObjectsResult {
3895     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3896         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3897     }
3898 }
3899 #[repr(C)]
3900 #[doc(hidden)]
3901 pub struct IFsrmDerivedObjectsResult_abi(
3902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3906     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3907     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3908     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3909     #[cfg(not(feature = "Win32_Foundation"))] usize,
3910     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3911     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3912     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, derivedobjects: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, results: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3915 );
3916 #[repr(transparent)]
3917 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3918 pub struct IFsrmExportImport(::windows::runtime::IUnknown);
3919 impl IFsrmExportImport {
3920     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3921     pub unsafe fn ExportFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, filegroupnamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<()> {
3922         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(filegroupnamessafearray), remotehost.into_param().abi()).ok()
3923     }
3924     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3925     pub unsafe fn ImportFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, filegroupnamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
3926         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3927         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(filegroupnamessafearray), remotehost.into_param().abi(), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
3928     }
3929     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3930     pub unsafe fn ExportFileScreenTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, templatenamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<()> {
3931         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(templatenamessafearray), remotehost.into_param().abi()).ok()
3932     }
3933     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3934     pub unsafe fn ImportFileScreenTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, templatenamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
3935         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3936         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
3937     }
3938     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3939     pub unsafe fn ExportQuotaTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, templatenamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<()> {
3940         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(templatenamessafearray), remotehost.into_param().abi()).ok()
3941     }
3942     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3943     pub unsafe fn ImportQuotaTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filepath: Param0, templatenamessafearray: *const super::super::System::Com::VARIANT, remotehost: Param2) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
3944         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3945         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), filepath.into_param().abi(), ::std::mem::transmute(templatenamessafearray), remotehost.into_param().abi(), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
3946     }
3947 }
3948 unsafe impl ::windows::runtime::Interface for IFsrmExportImport {
3949     type Vtable = IFsrmExportImport_abi;
3950     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4023061169, 5828, 19065, [129, 44, 114, 86, 20, 195, 48, 107]);
3951 }
3952 impl ::std::convert::From<IFsrmExportImport> for ::windows::runtime::IUnknown {
3953     fn from(value: IFsrmExportImport) -> Self {
3954         unsafe { ::std::mem::transmute(value) }
3955     }
3956 }
3957 impl ::std::convert::From<&IFsrmExportImport> for ::windows::runtime::IUnknown {
3958     fn from(value: &IFsrmExportImport) -> Self {
3959         ::std::convert::From::from(::std::clone::Clone::clone(value))
3960     }
3961 }
3962 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmExportImport {
3963     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3964         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3965     }
3966 }
3967 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmExportImport {
3968     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3969         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3970     }
3971 }
3972 #[cfg(feature = "Win32_System_Ole_Automation")]
3973 impl ::std::convert::From<IFsrmExportImport> for super::super::System::Ole::Automation::IDispatch {
3974     fn from(value: IFsrmExportImport) -> Self {
3975         unsafe { ::std::mem::transmute(value) }
3976     }
3977 }
3978 #[cfg(feature = "Win32_System_Ole_Automation")]
3979 impl ::std::convert::From<&IFsrmExportImport> for super::super::System::Ole::Automation::IDispatch {
3980     fn from(value: &IFsrmExportImport) -> Self {
3981         ::std::convert::From::from(::std::clone::Clone::clone(value))
3982     }
3983 }
3984 #[cfg(feature = "Win32_System_Ole_Automation")]
3985 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmExportImport {
3986     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3987         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3988     }
3989 }
3990 #[cfg(feature = "Win32_System_Ole_Automation")]
3991 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmExportImport {
3992     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3993         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3994     }
3995 }
3996 #[repr(C)]
3997 #[doc(hidden)]
3998 pub struct IFsrmExportImport_abi(
3999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4003     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4004     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4005     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4006     #[cfg(not(feature = "Win32_Foundation"))] usize,
4007     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4008     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4009     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4010     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filegroupnamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4011     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4012     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filegroupnamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filegroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4013     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4014     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templatenamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4015     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4016     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templatenamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4017     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4018     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templatenamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4019     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4020     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templatenamessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, remotehost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, templates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4021     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4022 );
4023 #[repr(transparent)]
4024 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4025 pub struct IFsrmFileCondition(::windows::runtime::IUnknown);
4026 impl IFsrmFileCondition {
4027     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmFileConditionType> {
4028         let mut result__: <FsrmFileConditionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4029         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmFileConditionType>(result__)
4030     }
4031     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
4032         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4033     }
4034 }
4035 unsafe impl ::windows::runtime::Interface for IFsrmFileCondition {
4036     type Vtable = IFsrmFileCondition_abi;
4037     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1885884412, 26906, 18970, [185, 34, 151, 117, 46, 19, 140, 193]);
4038 }
4039 impl ::std::convert::From<IFsrmFileCondition> for ::windows::runtime::IUnknown {
4040     fn from(value: IFsrmFileCondition) -> Self {
4041         unsafe { ::std::mem::transmute(value) }
4042     }
4043 }
4044 impl ::std::convert::From<&IFsrmFileCondition> for ::windows::runtime::IUnknown {
4045     fn from(value: &IFsrmFileCondition) -> Self {
4046         ::std::convert::From::from(::std::clone::Clone::clone(value))
4047     }
4048 }
4049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileCondition {
4050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4052     }
4053 }
4054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileCondition {
4055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4057     }
4058 }
4059 #[cfg(feature = "Win32_System_Ole_Automation")]
4060 impl ::std::convert::From<IFsrmFileCondition> for super::super::System::Ole::Automation::IDispatch {
4061     fn from(value: IFsrmFileCondition) -> Self {
4062         unsafe { ::std::mem::transmute(value) }
4063     }
4064 }
4065 #[cfg(feature = "Win32_System_Ole_Automation")]
4066 impl ::std::convert::From<&IFsrmFileCondition> for super::super::System::Ole::Automation::IDispatch {
4067     fn from(value: &IFsrmFileCondition) -> Self {
4068         ::std::convert::From::from(::std::clone::Clone::clone(value))
4069     }
4070 }
4071 #[cfg(feature = "Win32_System_Ole_Automation")]
4072 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileCondition {
4073     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4074         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4075     }
4076 }
4077 #[cfg(feature = "Win32_System_Ole_Automation")]
4078 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileCondition {
4079     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4080         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4081     }
4082 }
4083 #[repr(C)]
4084 #[doc(hidden)]
4085 pub struct IFsrmFileCondition_abi(
4086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4090     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4091     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4092     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4093     #[cfg(not(feature = "Win32_Foundation"))] usize,
4094     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4095     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4096     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsrmFileConditionType) -> ::windows::runtime::HRESULT,
4098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4099 );
4100 #[repr(transparent)]
4101 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4102 pub struct IFsrmFileConditionProperty(::windows::runtime::IUnknown);
4103 impl IFsrmFileConditionProperty {
4104     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4105         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4106         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4107     }
4108     #[cfg(feature = "Win32_System_Ole_Automation")]
4109     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4110         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4111         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4112     }
4113     #[cfg(feature = "Win32_Foundation")]
4114     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4115         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4116     }
4117     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4118     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4119         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4120     }
4121     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmFileConditionType> {
4122         let mut result__: <FsrmFileConditionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4123         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmFileConditionType>(result__)
4124     }
4125     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
4126         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4127     }
4128     #[cfg(feature = "Win32_Foundation")]
4129     pub unsafe fn PropertyName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4130         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4131         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4132     }
4133     #[cfg(feature = "Win32_Foundation")]
4134     pub unsafe fn SetPropertyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4135         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4136     }
4137     pub unsafe fn PropertyId(&self) -> ::windows::runtime::Result<FsrmFileSystemPropertyId> {
4138         let mut result__: <FsrmFileSystemPropertyId as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4139         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmFileSystemPropertyId>(result__)
4140     }
4141     pub unsafe fn SetPropertyId(&self, newval: FsrmFileSystemPropertyId) -> ::windows::runtime::Result<()> {
4142         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4143     }
4144     pub unsafe fn Operator(&self) -> ::windows::runtime::Result<FsrmPropertyConditionType> {
4145         let mut result__: <FsrmPropertyConditionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4146         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPropertyConditionType>(result__)
4147     }
4148     pub unsafe fn SetOperator(&self, newval: FsrmPropertyConditionType) -> ::windows::runtime::Result<()> {
4149         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4150     }
4151     pub unsafe fn ValueType(&self) -> ::windows::runtime::Result<FsrmPropertyValueType> {
4152         let mut result__: <FsrmPropertyValueType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4153         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPropertyValueType>(result__)
4154     }
4155     pub unsafe fn SetValueType(&self, newval: FsrmPropertyValueType) -> ::windows::runtime::Result<()> {
4156         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4157     }
4158     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4159     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4160         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4161         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4162     }
4163     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4164     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4165         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4166     }
4167 }
4168 unsafe impl ::windows::runtime::Interface for IFsrmFileConditionProperty {
4169     type Vtable = IFsrmFileConditionProperty_abi;
4170     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2173855605, 47489, 17529, [152, 143, 218, 23, 29, 98, 115, 96]);
4171 }
4172 impl ::std::convert::From<IFsrmFileConditionProperty> for ::windows::runtime::IUnknown {
4173     fn from(value: IFsrmFileConditionProperty) -> Self {
4174         unsafe { ::std::mem::transmute(value) }
4175     }
4176 }
4177 impl ::std::convert::From<&IFsrmFileConditionProperty> for ::windows::runtime::IUnknown {
4178     fn from(value: &IFsrmFileConditionProperty) -> Self {
4179         ::std::convert::From::from(::std::clone::Clone::clone(value))
4180     }
4181 }
4182 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileConditionProperty {
4183     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4184         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4185     }
4186 }
4187 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileConditionProperty {
4188     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4189         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4190     }
4191 }
4192 impl ::std::convert::From<IFsrmFileConditionProperty> for IFsrmFileCondition {
4193     fn from(value: IFsrmFileConditionProperty) -> Self {
4194         unsafe { ::std::mem::transmute(value) }
4195     }
4196 }
4197 impl ::std::convert::From<&IFsrmFileConditionProperty> for IFsrmFileCondition {
4198     fn from(value: &IFsrmFileConditionProperty) -> Self {
4199         ::std::convert::From::from(::std::clone::Clone::clone(value))
4200     }
4201 }
4202 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileCondition> for IFsrmFileConditionProperty {
4203     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileCondition> {
4204         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileCondition>::into(self))
4205     }
4206 }
4207 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileCondition> for &IFsrmFileConditionProperty {
4208     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileCondition> {
4209         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileCondition>::into(::std::clone::Clone::clone(self)))
4210     }
4211 }
4212 #[cfg(feature = "Win32_System_Ole_Automation")]
4213 impl ::std::convert::From<IFsrmFileConditionProperty> for super::super::System::Ole::Automation::IDispatch {
4214     fn from(value: IFsrmFileConditionProperty) -> Self {
4215         unsafe { ::std::mem::transmute(value) }
4216     }
4217 }
4218 #[cfg(feature = "Win32_System_Ole_Automation")]
4219 impl ::std::convert::From<&IFsrmFileConditionProperty> for super::super::System::Ole::Automation::IDispatch {
4220     fn from(value: &IFsrmFileConditionProperty) -> Self {
4221         ::std::convert::From::from(::std::clone::Clone::clone(value))
4222     }
4223 }
4224 #[cfg(feature = "Win32_System_Ole_Automation")]
4225 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileConditionProperty {
4226     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4227         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4228     }
4229 }
4230 #[cfg(feature = "Win32_System_Ole_Automation")]
4231 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileConditionProperty {
4232     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4233         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4234     }
4235 }
4236 #[repr(C)]
4237 #[doc(hidden)]
4238 pub struct IFsrmFileConditionProperty_abi(
4239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4243     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4244     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4245     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4246     #[cfg(not(feature = "Win32_Foundation"))] usize,
4247     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4248     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4249     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsrmFileConditionType) -> ::windows::runtime::HRESULT,
4251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4252     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4253     #[cfg(not(feature = "Win32_Foundation"))] usize,
4254     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4255     #[cfg(not(feature = "Win32_Foundation"))] usize,
4256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsrmFileSystemPropertyId) -> ::windows::runtime::HRESULT,
4257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsrmFileSystemPropertyId) -> ::windows::runtime::HRESULT,
4258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsrmPropertyConditionType) -> ::windows::runtime::HRESULT,
4259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsrmPropertyConditionType) -> ::windows::runtime::HRESULT,
4260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsrmPropertyValueType) -> ::windows::runtime::HRESULT,
4261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsrmPropertyValueType) -> ::windows::runtime::HRESULT,
4262     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4263     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4264     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4265     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4266 );
4267 #[repr(transparent)]
4268 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4269 pub struct IFsrmFileGroup(::windows::runtime::IUnknown);
4270 impl IFsrmFileGroup {
4271     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4272         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4273         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4274     }
4275     #[cfg(feature = "Win32_System_Ole_Automation")]
4276     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4277         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4278         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4279     }
4280     #[cfg(feature = "Win32_Foundation")]
4281     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4282         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4283     }
4284     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4285     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4286         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4287     }
4288     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4289         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4290         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4291     }
4292     #[cfg(feature = "Win32_Foundation")]
4293     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4294         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4295         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4296     }
4297     #[cfg(feature = "Win32_Foundation")]
4298     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
4299         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
4300     }
4301     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
4302         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
4303     }
4304     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
4305         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
4306     }
4307     #[cfg(feature = "Win32_Foundation")]
4308     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4309         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4310         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4311     }
4312     #[cfg(feature = "Win32_Foundation")]
4313     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
4314         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
4315     }
4316     pub unsafe fn Members(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
4317         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4318         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
4319     }
4320     pub unsafe fn SetMembers<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, members: Param0) -> ::windows::runtime::Result<()> {
4321         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), members.into_param().abi()).ok()
4322     }
4323     pub unsafe fn NonMembers(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
4324         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4325         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
4326     }
4327     pub unsafe fn SetNonMembers<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, nonmembers: Param0) -> ::windows::runtime::Result<()> {
4328         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), nonmembers.into_param().abi()).ok()
4329     }
4330 }
4331 unsafe impl ::windows::runtime::Interface for IFsrmFileGroup {
4332     type Vtable = IFsrmFileGroup_abi;
4333     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2379237641, 3636, 19797, [175, 170, 137, 225, 241, 161, 187, 185]);
4334 }
4335 impl ::std::convert::From<IFsrmFileGroup> for ::windows::runtime::IUnknown {
4336     fn from(value: IFsrmFileGroup) -> Self {
4337         unsafe { ::std::mem::transmute(value) }
4338     }
4339 }
4340 impl ::std::convert::From<&IFsrmFileGroup> for ::windows::runtime::IUnknown {
4341     fn from(value: &IFsrmFileGroup) -> Self {
4342         ::std::convert::From::from(::std::clone::Clone::clone(value))
4343     }
4344 }
4345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileGroup {
4346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4348     }
4349 }
4350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileGroup {
4351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4353     }
4354 }
4355 impl ::std::convert::From<IFsrmFileGroup> for IFsrmObject {
4356     fn from(value: IFsrmFileGroup) -> Self {
4357         unsafe { ::std::mem::transmute(value) }
4358     }
4359 }
4360 impl ::std::convert::From<&IFsrmFileGroup> for IFsrmObject {
4361     fn from(value: &IFsrmFileGroup) -> Self {
4362         ::std::convert::From::from(::std::clone::Clone::clone(value))
4363     }
4364 }
4365 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileGroup {
4366     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4367         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
4368     }
4369 }
4370 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileGroup {
4371     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4372         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
4373     }
4374 }
4375 #[cfg(feature = "Win32_System_Ole_Automation")]
4376 impl ::std::convert::From<IFsrmFileGroup> for super::super::System::Ole::Automation::IDispatch {
4377     fn from(value: IFsrmFileGroup) -> Self {
4378         unsafe { ::std::mem::transmute(value) }
4379     }
4380 }
4381 #[cfg(feature = "Win32_System_Ole_Automation")]
4382 impl ::std::convert::From<&IFsrmFileGroup> for super::super::System::Ole::Automation::IDispatch {
4383     fn from(value: &IFsrmFileGroup) -> Self {
4384         ::std::convert::From::from(::std::clone::Clone::clone(value))
4385     }
4386 }
4387 #[cfg(feature = "Win32_System_Ole_Automation")]
4388 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileGroup {
4389     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4390         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4391     }
4392 }
4393 #[cfg(feature = "Win32_System_Ole_Automation")]
4394 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileGroup {
4395     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4396         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4397     }
4398 }
4399 #[repr(C)]
4400 #[doc(hidden)]
4401 pub struct IFsrmFileGroup_abi(
4402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4406     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4407     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4409     #[cfg(not(feature = "Win32_Foundation"))] usize,
4410     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4411     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4412     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4414     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4415     #[cfg(not(feature = "Win32_Foundation"))] usize,
4416     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4417     #[cfg(not(feature = "Win32_Foundation"))] usize,
4418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4421     #[cfg(not(feature = "Win32_Foundation"))] usize,
4422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4423     #[cfg(not(feature = "Win32_Foundation"))] usize,
4424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, members: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, members: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonmembers: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonmembers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4428 );
4429 #[repr(transparent)]
4430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4431 pub struct IFsrmFileGroupImported(::windows::runtime::IUnknown);
4432 impl IFsrmFileGroupImported {
4433     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4434         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4435         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4436     }
4437     #[cfg(feature = "Win32_System_Ole_Automation")]
4438     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4439         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4440         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4441     }
4442     #[cfg(feature = "Win32_Foundation")]
4443     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4444         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4445     }
4446     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4447     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4448         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4449     }
4450     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4451         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4452         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4453     }
4454     #[cfg(feature = "Win32_Foundation")]
4455     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4456         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4457         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4458     }
4459     #[cfg(feature = "Win32_Foundation")]
4460     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
4461         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
4462     }
4463     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
4464         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
4465     }
4466     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
4467         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
4468     }
4469     #[cfg(feature = "Win32_Foundation")]
4470     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4471         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4472         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4473     }
4474     #[cfg(feature = "Win32_Foundation")]
4475     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
4476         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
4477     }
4478     pub unsafe fn Members(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
4479         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4480         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
4481     }
4482     pub unsafe fn SetMembers<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, members: Param0) -> ::windows::runtime::Result<()> {
4483         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), members.into_param().abi()).ok()
4484     }
4485     pub unsafe fn NonMembers(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
4486         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4487         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
4488     }
4489     pub unsafe fn SetNonMembers<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, nonmembers: Param0) -> ::windows::runtime::Result<()> {
4490         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), nonmembers.into_param().abi()).ok()
4491     }
4492     pub unsafe fn OverwriteOnCommit(&self) -> ::windows::runtime::Result<i16> {
4493         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4494         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4495     }
4496     pub unsafe fn SetOverwriteOnCommit(&self, overwrite: i16) -> ::windows::runtime::Result<()> {
4497         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(overwrite)).ok()
4498     }
4499 }
4500 unsafe impl ::windows::runtime::Interface for IFsrmFileGroupImported {
4501     type Vtable = IFsrmFileGroupImported_abi;
4502     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2908090635, 24337, 19431, [148, 239, 217, 238, 46, 71, 13, 237]);
4503 }
4504 impl ::std::convert::From<IFsrmFileGroupImported> for ::windows::runtime::IUnknown {
4505     fn from(value: IFsrmFileGroupImported) -> Self {
4506         unsafe { ::std::mem::transmute(value) }
4507     }
4508 }
4509 impl ::std::convert::From<&IFsrmFileGroupImported> for ::windows::runtime::IUnknown {
4510     fn from(value: &IFsrmFileGroupImported) -> Self {
4511         ::std::convert::From::from(::std::clone::Clone::clone(value))
4512     }
4513 }
4514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileGroupImported {
4515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4517     }
4518 }
4519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileGroupImported {
4520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4521         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4522     }
4523 }
4524 impl ::std::convert::From<IFsrmFileGroupImported> for IFsrmFileGroup {
4525     fn from(value: IFsrmFileGroupImported) -> Self {
4526         unsafe { ::std::mem::transmute(value) }
4527     }
4528 }
4529 impl ::std::convert::From<&IFsrmFileGroupImported> for IFsrmFileGroup {
4530     fn from(value: &IFsrmFileGroupImported) -> Self {
4531         ::std::convert::From::from(::std::clone::Clone::clone(value))
4532     }
4533 }
4534 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileGroup> for IFsrmFileGroupImported {
4535     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileGroup> {
4536         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileGroup>::into(self))
4537     }
4538 }
4539 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileGroup> for &IFsrmFileGroupImported {
4540     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileGroup> {
4541         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileGroup>::into(::std::clone::Clone::clone(self)))
4542     }
4543 }
4544 impl ::std::convert::From<IFsrmFileGroupImported> for IFsrmObject {
4545     fn from(value: IFsrmFileGroupImported) -> Self {
4546         unsafe { ::std::mem::transmute(value) }
4547     }
4548 }
4549 impl ::std::convert::From<&IFsrmFileGroupImported> for IFsrmObject {
4550     fn from(value: &IFsrmFileGroupImported) -> Self {
4551         ::std::convert::From::from(::std::clone::Clone::clone(value))
4552     }
4553 }
4554 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileGroupImported {
4555     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4556         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
4557     }
4558 }
4559 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileGroupImported {
4560     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4561         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
4562     }
4563 }
4564 #[cfg(feature = "Win32_System_Ole_Automation")]
4565 impl ::std::convert::From<IFsrmFileGroupImported> for super::super::System::Ole::Automation::IDispatch {
4566     fn from(value: IFsrmFileGroupImported) -> Self {
4567         unsafe { ::std::mem::transmute(value) }
4568     }
4569 }
4570 #[cfg(feature = "Win32_System_Ole_Automation")]
4571 impl ::std::convert::From<&IFsrmFileGroupImported> for super::super::System::Ole::Automation::IDispatch {
4572     fn from(value: &IFsrmFileGroupImported) -> Self {
4573         ::std::convert::From::from(::std::clone::Clone::clone(value))
4574     }
4575 }
4576 #[cfg(feature = "Win32_System_Ole_Automation")]
4577 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileGroupImported {
4578     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4579         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4580     }
4581 }
4582 #[cfg(feature = "Win32_System_Ole_Automation")]
4583 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileGroupImported {
4584     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4585         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4586     }
4587 }
4588 #[repr(C)]
4589 #[doc(hidden)]
4590 pub struct IFsrmFileGroupImported_abi(
4591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4595     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4596     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4597     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4598     #[cfg(not(feature = "Win32_Foundation"))] usize,
4599     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4600     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4601     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4603     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4604     #[cfg(not(feature = "Win32_Foundation"))] usize,
4605     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4606     #[cfg(not(feature = "Win32_Foundation"))] usize,
4607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4609     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4610     #[cfg(not(feature = "Win32_Foundation"))] usize,
4611     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4612     #[cfg(not(feature = "Win32_Foundation"))] usize,
4613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, members: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, members: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonmembers: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonmembers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: *mut i16) -> ::windows::runtime::HRESULT,
4618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: i16) -> ::windows::runtime::HRESULT,
4619 );
4620 #[repr(transparent)]
4621 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4622 pub struct IFsrmFileGroupManager(::windows::runtime::IUnknown);
4623 impl IFsrmFileGroupManager {
4624     pub unsafe fn CreateFileGroup(&self) -> ::windows::runtime::Result<IFsrmFileGroup> {
4625         let mut result__: <IFsrmFileGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4626         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmFileGroup>(result__)
4627     }
4628     #[cfg(feature = "Win32_Foundation")]
4629     pub unsafe fn GetFileGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmFileGroup> {
4630         let mut result__: <IFsrmFileGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4631         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmFileGroup>(result__)
4632     }
4633     pub unsafe fn EnumFileGroups(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
4634         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4635         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
4636     }
4637     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4638     pub unsafe fn ExportFileGroups(&self, filegroupnamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4639         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4640         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(filegroupnamesarray), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4641     }
4642     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4643     pub unsafe fn ImportFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, serializedfilegroups: Param0, filegroupnamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
4644         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4645         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), serializedfilegroups.into_param().abi(), ::std::mem::transmute(filegroupnamesarray), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
4646     }
4647 }
4648 unsafe impl ::windows::runtime::Interface for IFsrmFileGroupManager {
4649     type Vtable = IFsrmFileGroupManager_abi;
4650     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1114011605, 396, 18524, [138, 81, 32, 184, 109, 0, 189, 196]);
4651 }
4652 impl ::std::convert::From<IFsrmFileGroupManager> for ::windows::runtime::IUnknown {
4653     fn from(value: IFsrmFileGroupManager) -> Self {
4654         unsafe { ::std::mem::transmute(value) }
4655     }
4656 }
4657 impl ::std::convert::From<&IFsrmFileGroupManager> for ::windows::runtime::IUnknown {
4658     fn from(value: &IFsrmFileGroupManager) -> Self {
4659         ::std::convert::From::from(::std::clone::Clone::clone(value))
4660     }
4661 }
4662 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileGroupManager {
4663     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4664         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4665     }
4666 }
4667 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileGroupManager {
4668     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4669         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4670     }
4671 }
4672 #[cfg(feature = "Win32_System_Ole_Automation")]
4673 impl ::std::convert::From<IFsrmFileGroupManager> for super::super::System::Ole::Automation::IDispatch {
4674     fn from(value: IFsrmFileGroupManager) -> Self {
4675         unsafe { ::std::mem::transmute(value) }
4676     }
4677 }
4678 #[cfg(feature = "Win32_System_Ole_Automation")]
4679 impl ::std::convert::From<&IFsrmFileGroupManager> for super::super::System::Ole::Automation::IDispatch {
4680     fn from(value: &IFsrmFileGroupManager) -> Self {
4681         ::std::convert::From::from(::std::clone::Clone::clone(value))
4682     }
4683 }
4684 #[cfg(feature = "Win32_System_Ole_Automation")]
4685 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileGroupManager {
4686     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4687         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4688     }
4689 }
4690 #[cfg(feature = "Win32_System_Ole_Automation")]
4691 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileGroupManager {
4692     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4693         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4694     }
4695 }
4696 #[repr(C)]
4697 #[doc(hidden)]
4698 pub struct IFsrmFileGroupManager_abi(
4699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4703     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4704     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4705     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4706     #[cfg(not(feature = "Win32_Foundation"))] usize,
4707     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4708     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4709     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filegroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4711     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filegroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4712     #[cfg(not(feature = "Win32_Foundation"))] usize,
4713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, filegroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4714     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filegroupnamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, serializedfilegroups: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4715     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4716     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializedfilegroups: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filegroupnamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, filegroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4717     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4718 );
4719 #[repr(transparent)]
4720 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4721 pub struct IFsrmFileManagementJob(::windows::runtime::IUnknown);
4722 impl IFsrmFileManagementJob {
4723     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4724         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4725         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4726     }
4727     #[cfg(feature = "Win32_System_Ole_Automation")]
4728     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4729         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4730         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4731     }
4732     #[cfg(feature = "Win32_Foundation")]
4733     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4734         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4735     }
4736     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4737     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4738         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4739     }
4740     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4741         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4742         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4743     }
4744     #[cfg(feature = "Win32_Foundation")]
4745     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4746         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4747         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4748     }
4749     #[cfg(feature = "Win32_Foundation")]
4750     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
4751         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
4752     }
4753     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
4754         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
4755     }
4756     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
4757         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
4758     }
4759     #[cfg(feature = "Win32_Foundation")]
4760     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4761         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4762         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4763     }
4764     #[cfg(feature = "Win32_Foundation")]
4765     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
4766         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
4767     }
4768     #[cfg(feature = "Win32_System_Com")]
4769     pub unsafe fn NamespaceRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4770         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4771         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4772     }
4773     #[cfg(feature = "Win32_System_Com")]
4774     pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4775         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(namespaceroots)).ok()
4776     }
4777     pub unsafe fn Enabled(&self) -> ::windows::runtime::Result<i16> {
4778         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4779         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4780     }
4781     pub unsafe fn SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()> {
4782         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(enabled)).ok()
4783     }
4784     pub unsafe fn OperationType(&self) -> ::windows::runtime::Result<FsrmFileManagementType> {
4785         let mut result__: <FsrmFileManagementType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4786         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmFileManagementType>(result__)
4787     }
4788     pub unsafe fn SetOperationType(&self, operationtype: FsrmFileManagementType) -> ::windows::runtime::Result<()> {
4789         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(operationtype)).ok()
4790     }
4791     #[cfg(feature = "Win32_Foundation")]
4792     pub unsafe fn ExpirationDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4793         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4794         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4795     }
4796     #[cfg(feature = "Win32_Foundation")]
4797     pub unsafe fn SetExpirationDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, expirationdirectory: Param0) -> ::windows::runtime::Result<()> {
4798         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), expirationdirectory.into_param().abi()).ok()
4799     }
4800     pub unsafe fn CustomAction(&self) -> ::windows::runtime::Result<IFsrmActionCommand> {
4801         let mut result__: <IFsrmActionCommand as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4802         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmActionCommand>(result__)
4803     }
4804     #[cfg(feature = "Win32_System_Com")]
4805     pub unsafe fn Notifications(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4806         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4807         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4808     }
4809     pub unsafe fn Logging(&self) -> ::windows::runtime::Result<i32> {
4810         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4811         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4812     }
4813     pub unsafe fn SetLogging(&self, loggingflags: i32) -> ::windows::runtime::Result<()> {
4814         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(loggingflags)).ok()
4815     }
4816     pub unsafe fn ReportEnabled(&self) -> ::windows::runtime::Result<i16> {
4817         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4818         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4819     }
4820     pub unsafe fn SetReportEnabled(&self, reportenabled: i16) -> ::windows::runtime::Result<()> {
4821         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(reportenabled)).ok()
4822     }
4823     #[cfg(feature = "Win32_System_Com")]
4824     pub unsafe fn Formats(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4825         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4826         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4827     }
4828     #[cfg(feature = "Win32_System_Com")]
4829     pub unsafe fn SetFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4830         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(formats)).ok()
4831     }
4832     #[cfg(feature = "Win32_Foundation")]
4833     pub unsafe fn MailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4834         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4835         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4836     }
4837     #[cfg(feature = "Win32_Foundation")]
4838     pub unsafe fn SetMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
4839         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
4840     }
4841     pub unsafe fn DaysSinceFileCreated(&self) -> ::windows::runtime::Result<i32> {
4842         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4843         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4844     }
4845     pub unsafe fn SetDaysSinceFileCreated(&self, dayssincecreation: i32) -> ::windows::runtime::Result<()> {
4846         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(dayssincecreation)).ok()
4847     }
4848     pub unsafe fn DaysSinceFileLastAccessed(&self) -> ::windows::runtime::Result<i32> {
4849         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4850         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4851     }
4852     pub unsafe fn SetDaysSinceFileLastAccessed(&self, dayssinceaccess: i32) -> ::windows::runtime::Result<()> {
4853         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(dayssinceaccess)).ok()
4854     }
4855     pub unsafe fn DaysSinceFileLastModified(&self) -> ::windows::runtime::Result<i32> {
4856         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4857         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4858     }
4859     pub unsafe fn SetDaysSinceFileLastModified(&self, dayssincemodify: i32) -> ::windows::runtime::Result<()> {
4860         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(dayssincemodify)).ok()
4861     }
4862     pub unsafe fn PropertyConditions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
4863         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4864         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
4865     }
4866     pub unsafe fn FromDate(&self) -> ::windows::runtime::Result<f64> {
4867         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4868         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
4869     }
4870     pub unsafe fn SetFromDate(&self, fromdate: f64) -> ::windows::runtime::Result<()> {
4871         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(fromdate)).ok()
4872     }
4873     #[cfg(feature = "Win32_Foundation")]
4874     pub unsafe fn Task(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4875         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4876         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4877     }
4878     #[cfg(feature = "Win32_Foundation")]
4879     pub unsafe fn SetTask<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0) -> ::windows::runtime::Result<()> {
4880         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), taskname.into_param().abi()).ok()
4881     }
4882     #[cfg(feature = "Win32_System_Com")]
4883     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4884         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4885         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4886     }
4887     #[cfg(feature = "Win32_System_Com")]
4888     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4889         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
4890     }
4891     pub unsafe fn RunningStatus(&self) -> ::windows::runtime::Result<FsrmReportRunningStatus> {
4892         let mut result__: <FsrmReportRunningStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4893         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmReportRunningStatus>(result__)
4894     }
4895     #[cfg(feature = "Win32_Foundation")]
4896     pub unsafe fn LastError(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4897         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4898         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4899     }
4900     #[cfg(feature = "Win32_Foundation")]
4901     pub unsafe fn LastReportPathWithoutExtension(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4902         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4903         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4904     }
4905     pub unsafe fn LastRun(&self) -> ::windows::runtime::Result<f64> {
4906         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4907         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
4908     }
4909     #[cfg(feature = "Win32_Foundation")]
4910     pub unsafe fn FileNamePattern(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4911         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4912         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4913     }
4914     #[cfg(feature = "Win32_Foundation")]
4915     pub unsafe fn SetFileNamePattern<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filenamepattern: Param0) -> ::windows::runtime::Result<()> {
4916         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), filenamepattern.into_param().abi()).ok()
4917     }
4918     pub unsafe fn Run(&self, context: FsrmReportGenerationContext) -> ::windows::runtime::Result<()> {
4919         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(context)).ok()
4920     }
4921     pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
4922         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4923         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
4924     }
4925     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
4926         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self)).ok()
4927     }
4928     pub unsafe fn AddNotification(&self, days: i32) -> ::windows::runtime::Result<()> {
4929         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(days)).ok()
4930     }
4931     pub unsafe fn DeleteNotification(&self, days: i32) -> ::windows::runtime::Result<()> {
4932         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(days)).ok()
4933     }
4934     pub unsafe fn ModifyNotification(&self, days: i32, newdays: i32) -> ::windows::runtime::Result<()> {
4935         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(days), ::std::mem::transmute(newdays)).ok()
4936     }
4937     pub unsafe fn CreateNotificationAction(&self, days: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
4938         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4939         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(days), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
4940     }
4941     pub unsafe fn EnumNotificationActions(&self, days: i32) -> ::windows::runtime::Result<IFsrmCollection> {
4942         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4943         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), ::std::mem::transmute(days), &mut result__).from_abi::<IFsrmCollection>(result__)
4944     }
4945     #[cfg(feature = "Win32_Foundation")]
4946     pub unsafe fn CreatePropertyCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmPropertyCondition> {
4947         let mut result__: <IFsrmPropertyCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4948         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmPropertyCondition>(result__)
4949     }
4950     pub unsafe fn CreateCustomAction(&self) -> ::windows::runtime::Result<IFsrmActionCommand> {
4951         let mut result__: <IFsrmActionCommand as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4952         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmActionCommand>(result__)
4953     }
4954 }
4955 unsafe impl ::windows::runtime::Interface for IFsrmFileManagementJob {
4956     type Vtable = IFsrmFileManagementJob_abi;
4957     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(124807294, 40758, 19823, [135, 120, 89, 157, 24, 132, 97, 201]);
4958 }
4959 impl ::std::convert::From<IFsrmFileManagementJob> for ::windows::runtime::IUnknown {
4960     fn from(value: IFsrmFileManagementJob) -> Self {
4961         unsafe { ::std::mem::transmute(value) }
4962     }
4963 }
4964 impl ::std::convert::From<&IFsrmFileManagementJob> for ::windows::runtime::IUnknown {
4965     fn from(value: &IFsrmFileManagementJob) -> Self {
4966         ::std::convert::From::from(::std::clone::Clone::clone(value))
4967     }
4968 }
4969 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileManagementJob {
4970     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4971         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4972     }
4973 }
4974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileManagementJob {
4975     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4976         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4977     }
4978 }
4979 impl ::std::convert::From<IFsrmFileManagementJob> for IFsrmObject {
4980     fn from(value: IFsrmFileManagementJob) -> Self {
4981         unsafe { ::std::mem::transmute(value) }
4982     }
4983 }
4984 impl ::std::convert::From<&IFsrmFileManagementJob> for IFsrmObject {
4985     fn from(value: &IFsrmFileManagementJob) -> Self {
4986         ::std::convert::From::from(::std::clone::Clone::clone(value))
4987     }
4988 }
4989 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileManagementJob {
4990     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4991         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
4992     }
4993 }
4994 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileManagementJob {
4995     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
4996         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
4997     }
4998 }
4999 #[cfg(feature = "Win32_System_Ole_Automation")]
5000 impl ::std::convert::From<IFsrmFileManagementJob> for super::super::System::Ole::Automation::IDispatch {
5001     fn from(value: IFsrmFileManagementJob) -> Self {
5002         unsafe { ::std::mem::transmute(value) }
5003     }
5004 }
5005 #[cfg(feature = "Win32_System_Ole_Automation")]
5006 impl ::std::convert::From<&IFsrmFileManagementJob> for super::super::System::Ole::Automation::IDispatch {
5007     fn from(value: &IFsrmFileManagementJob) -> Self {
5008         ::std::convert::From::from(::std::clone::Clone::clone(value))
5009     }
5010 }
5011 #[cfg(feature = "Win32_System_Ole_Automation")]
5012 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileManagementJob {
5013     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5014         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5015     }
5016 }
5017 #[cfg(feature = "Win32_System_Ole_Automation")]
5018 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileManagementJob {
5019     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5020         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5021     }
5022 }
5023 #[repr(C)]
5024 #[doc(hidden)]
5025 pub struct IFsrmFileManagementJob_abi(
5026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5030     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5031     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5032     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5033     #[cfg(not(feature = "Win32_Foundation"))] usize,
5034     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5035     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5036     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5038     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5039     #[cfg(not(feature = "Win32_Foundation"))] usize,
5040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5041     #[cfg(not(feature = "Win32_Foundation"))] usize,
5042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5044     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5045     #[cfg(not(feature = "Win32_Foundation"))] usize,
5046     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5047     #[cfg(not(feature = "Win32_Foundation"))] usize,
5048     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5049     #[cfg(not(feature = "Win32_System_Com"))] usize,
5050     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5051     #[cfg(not(feature = "Win32_System_Com"))] usize,
5052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: *mut i16) -> ::windows::runtime::HRESULT,
5053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: i16) -> ::windows::runtime::HRESULT,
5054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, operationtype: *mut FsrmFileManagementType) -> ::windows::runtime::HRESULT,
5055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, operationtype: FsrmFileManagementType) -> ::windows::runtime::HRESULT,
5056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expirationdirectory: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5057     #[cfg(not(feature = "Win32_Foundation"))] usize,
5058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expirationdirectory: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5059     #[cfg(not(feature = "Win32_Foundation"))] usize,
5060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5061     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notifications: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5062     #[cfg(not(feature = "Win32_System_Com"))] usize,
5063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, loggingflags: *mut i32) -> ::windows::runtime::HRESULT,
5064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, loggingflags: i32) -> ::windows::runtime::HRESULT,
5065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: *mut i16) -> ::windows::runtime::HRESULT,
5066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportenabled: i16) -> ::windows::runtime::HRESULT,
5067     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5068     #[cfg(not(feature = "Win32_System_Com"))] usize,
5069     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5070     #[cfg(not(feature = "Win32_System_Com"))] usize,
5071     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5072     #[cfg(not(feature = "Win32_Foundation"))] usize,
5073     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5074     #[cfg(not(feature = "Win32_Foundation"))] usize,
5075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssincecreation: *mut i32) -> ::windows::runtime::HRESULT,
5076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssincecreation: i32) -> ::windows::runtime::HRESULT,
5077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssinceaccess: *mut i32) -> ::windows::runtime::HRESULT,
5078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssinceaccess: i32) -> ::windows::runtime::HRESULT,
5079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssincemodify: *mut i32) -> ::windows::runtime::HRESULT,
5080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dayssincemodify: i32) -> ::windows::runtime::HRESULT,
5081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyconditions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fromdate: *mut f64) -> ::windows::runtime::HRESULT,
5083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fromdate: f64) -> ::windows::runtime::HRESULT,
5084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5085     #[cfg(not(feature = "Win32_Foundation"))] usize,
5086     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5087     #[cfg(not(feature = "Win32_Foundation"))] usize,
5088     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5089     #[cfg(not(feature = "Win32_System_Com"))] usize,
5090     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5091     #[cfg(not(feature = "Win32_System_Com"))] usize,
5092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runningstatus: *mut FsrmReportRunningStatus) -> ::windows::runtime::HRESULT,
5093     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lasterror: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5094     #[cfg(not(feature = "Win32_Foundation"))] usize,
5095     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5096     #[cfg(not(feature = "Win32_Foundation"))] usize,
5097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastrun: *mut f64) -> ::windows::runtime::HRESULT,
5098     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filenamepattern: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5099     #[cfg(not(feature = "Win32_Foundation"))] usize,
5100     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filenamepattern: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5101     #[cfg(not(feature = "Win32_Foundation"))] usize,
5102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext) -> ::windows::runtime::HRESULT,
5103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
5104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, days: i32) -> ::windows::runtime::HRESULT,
5106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, days: i32) -> ::windows::runtime::HRESULT,
5107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, days: i32, newdays: i32) -> ::windows::runtime::HRESULT,
5108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, days: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, days: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5110     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertycondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5111     #[cfg(not(feature = "Win32_Foundation"))] usize,
5112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, customaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5113 );
5114 #[repr(transparent)]
5115 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5116 pub struct IFsrmFileManagementJobManager(::windows::runtime::IUnknown);
5117 impl IFsrmFileManagementJobManager {
5118     #[cfg(feature = "Win32_System_Com")]
5119     pub unsafe fn ActionVariables(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5120         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5121         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5122     }
5123     #[cfg(feature = "Win32_System_Com")]
5124     pub unsafe fn ActionVariableDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5125         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5126         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5127     }
5128     pub unsafe fn EnumFileManagementJobs(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
5129         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5130         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
5131     }
5132     pub unsafe fn CreateFileManagementJob(&self) -> ::windows::runtime::Result<IFsrmFileManagementJob> {
5133         let mut result__: <IFsrmFileManagementJob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5134         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmFileManagementJob>(result__)
5135     }
5136     #[cfg(feature = "Win32_Foundation")]
5137     pub unsafe fn GetFileManagementJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmFileManagementJob> {
5138         let mut result__: <IFsrmFileManagementJob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5139         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmFileManagementJob>(result__)
5140     }
5141 }
5142 unsafe impl ::windows::runtime::Interface for IFsrmFileManagementJobManager {
5143     type Vtable = IFsrmFileManagementJobManager_abi;
5144     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996262091, 55646, 18665, [144, 124, 199, 104, 90, 1, 50, 53]);
5145 }
5146 impl ::std::convert::From<IFsrmFileManagementJobManager> for ::windows::runtime::IUnknown {
5147     fn from(value: IFsrmFileManagementJobManager) -> Self {
5148         unsafe { ::std::mem::transmute(value) }
5149     }
5150 }
5151 impl ::std::convert::From<&IFsrmFileManagementJobManager> for ::windows::runtime::IUnknown {
5152     fn from(value: &IFsrmFileManagementJobManager) -> Self {
5153         ::std::convert::From::from(::std::clone::Clone::clone(value))
5154     }
5155 }
5156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileManagementJobManager {
5157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5159     }
5160 }
5161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileManagementJobManager {
5162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5163         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5164     }
5165 }
5166 #[cfg(feature = "Win32_System_Ole_Automation")]
5167 impl ::std::convert::From<IFsrmFileManagementJobManager> for super::super::System::Ole::Automation::IDispatch {
5168     fn from(value: IFsrmFileManagementJobManager) -> Self {
5169         unsafe { ::std::mem::transmute(value) }
5170     }
5171 }
5172 #[cfg(feature = "Win32_System_Ole_Automation")]
5173 impl ::std::convert::From<&IFsrmFileManagementJobManager> for super::super::System::Ole::Automation::IDispatch {
5174     fn from(value: &IFsrmFileManagementJobManager) -> Self {
5175         ::std::convert::From::from(::std::clone::Clone::clone(value))
5176     }
5177 }
5178 #[cfg(feature = "Win32_System_Ole_Automation")]
5179 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileManagementJobManager {
5180     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5181         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5182     }
5183 }
5184 #[cfg(feature = "Win32_System_Ole_Automation")]
5185 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileManagementJobManager {
5186     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5187         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5188     }
5189 }
5190 #[repr(C)]
5191 #[doc(hidden)]
5192 pub struct IFsrmFileManagementJobManager_abi(
5193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5197     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5198     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5199     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5200     #[cfg(not(feature = "Win32_Foundation"))] usize,
5201     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5202     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5203     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5204     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variables: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5205     #[cfg(not(feature = "Win32_System_Com"))] usize,
5206     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5207     #[cfg(not(feature = "Win32_System_Com"))] usize,
5208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, filemanagementjobs: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filemanagementjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5210     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filemanagementjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5211     #[cfg(not(feature = "Win32_Foundation"))] usize,
5212 );
5213 #[repr(transparent)]
5214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5215 pub struct IFsrmFileScreen(::windows::runtime::IUnknown);
5216 impl IFsrmFileScreen {
5217     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5218         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5219         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5220     }
5221     #[cfg(feature = "Win32_System_Ole_Automation")]
5222     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5223         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5224         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5225     }
5226     #[cfg(feature = "Win32_Foundation")]
5227     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5228         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5229     }
5230     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5231     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5232         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5233     }
5234     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5235         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5236         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5237     }
5238     #[cfg(feature = "Win32_Foundation")]
5239     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5240         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5241         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5242     }
5243     #[cfg(feature = "Win32_Foundation")]
5244     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
5245         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
5246     }
5247     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
5248         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
5249     }
5250     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
5251         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
5252     }
5253     pub unsafe fn BlockedFileGroups(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
5254         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5255         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
5256     }
5257     pub unsafe fn SetBlockedFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, blocklist: Param0) -> ::windows::runtime::Result<()> {
5258         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), blocklist.into_param().abi()).ok()
5259     }
5260     pub unsafe fn FileScreenFlags(&self) -> ::windows::runtime::Result<i32> {
5261         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5262         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5263     }
5264     pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows::runtime::Result<()> {
5265         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(filescreenflags)).ok()
5266     }
5267     pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
5268         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5269         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
5270     }
5271     pub unsafe fn EnumActions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
5272         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5273         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
5274     }
5275     #[cfg(feature = "Win32_Foundation")]
5276     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5277         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5278         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5279     }
5280     #[cfg(feature = "Win32_Foundation")]
5281     pub unsafe fn SourceTemplateName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5282         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5283         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5284     }
5285     pub unsafe fn MatchesSourceTemplate(&self) -> ::windows::runtime::Result<i16> {
5286         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5287         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5288     }
5289     #[cfg(feature = "Win32_Foundation")]
5290     pub unsafe fn UserSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5291         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5292         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5293     }
5294     #[cfg(feature = "Win32_Foundation")]
5295     pub unsafe fn UserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5296         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5297         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5298     }
5299     #[cfg(feature = "Win32_Foundation")]
5300     pub unsafe fn ApplyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filescreentemplatename: Param0) -> ::windows::runtime::Result<()> {
5301         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), filescreentemplatename.into_param().abi()).ok()
5302     }
5303 }
5304 unsafe impl ::windows::runtime::Interface for IFsrmFileScreen {
5305     type Vtable = IFsrmFileScreen_abi;
5306     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1600333267, 52872, 18227, [132, 193, 45, 106, 239, 197, 234, 7]);
5307 }
5308 impl ::std::convert::From<IFsrmFileScreen> for ::windows::runtime::IUnknown {
5309     fn from(value: IFsrmFileScreen) -> Self {
5310         unsafe { ::std::mem::transmute(value) }
5311     }
5312 }
5313 impl ::std::convert::From<&IFsrmFileScreen> for ::windows::runtime::IUnknown {
5314     fn from(value: &IFsrmFileScreen) -> Self {
5315         ::std::convert::From::from(::std::clone::Clone::clone(value))
5316     }
5317 }
5318 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreen {
5319     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5320         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5321     }
5322 }
5323 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreen {
5324     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5325         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5326     }
5327 }
5328 impl ::std::convert::From<IFsrmFileScreen> for IFsrmFileScreenBase {
5329     fn from(value: IFsrmFileScreen) -> Self {
5330         unsafe { ::std::mem::transmute(value) }
5331     }
5332 }
5333 impl ::std::convert::From<&IFsrmFileScreen> for IFsrmFileScreenBase {
5334     fn from(value: &IFsrmFileScreen) -> Self {
5335         ::std::convert::From::from(::std::clone::Clone::clone(value))
5336     }
5337 }
5338 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for IFsrmFileScreen {
5339     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
5340         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(self))
5341     }
5342 }
5343 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for &IFsrmFileScreen {
5344     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
5345         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(::std::clone::Clone::clone(self)))
5346     }
5347 }
5348 impl ::std::convert::From<IFsrmFileScreen> for IFsrmObject {
5349     fn from(value: IFsrmFileScreen) -> Self {
5350         unsafe { ::std::mem::transmute(value) }
5351     }
5352 }
5353 impl ::std::convert::From<&IFsrmFileScreen> for IFsrmObject {
5354     fn from(value: &IFsrmFileScreen) -> Self {
5355         ::std::convert::From::from(::std::clone::Clone::clone(value))
5356     }
5357 }
5358 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileScreen {
5359     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5360         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
5361     }
5362 }
5363 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileScreen {
5364     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5365         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
5366     }
5367 }
5368 #[cfg(feature = "Win32_System_Ole_Automation")]
5369 impl ::std::convert::From<IFsrmFileScreen> for super::super::System::Ole::Automation::IDispatch {
5370     fn from(value: IFsrmFileScreen) -> Self {
5371         unsafe { ::std::mem::transmute(value) }
5372     }
5373 }
5374 #[cfg(feature = "Win32_System_Ole_Automation")]
5375 impl ::std::convert::From<&IFsrmFileScreen> for super::super::System::Ole::Automation::IDispatch {
5376     fn from(value: &IFsrmFileScreen) -> Self {
5377         ::std::convert::From::from(::std::clone::Clone::clone(value))
5378     }
5379 }
5380 #[cfg(feature = "Win32_System_Ole_Automation")]
5381 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreen {
5382     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5383         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5384     }
5385 }
5386 #[cfg(feature = "Win32_System_Ole_Automation")]
5387 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreen {
5388     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5389         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5390     }
5391 }
5392 #[repr(C)]
5393 #[doc(hidden)]
5394 pub struct IFsrmFileScreen_abi(
5395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5399     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5400     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5401     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5402     #[cfg(not(feature = "Win32_Foundation"))] usize,
5403     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5404     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5405     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5407     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5408     #[cfg(not(feature = "Win32_Foundation"))] usize,
5409     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5410     #[cfg(not(feature = "Win32_Foundation"))] usize,
5411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: *mut i32) -> ::windows::runtime::HRESULT,
5416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: i32) -> ::windows::runtime::HRESULT,
5417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5419     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5420     #[cfg(not(feature = "Win32_Foundation"))] usize,
5421     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplatename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5422     #[cfg(not(feature = "Win32_Foundation"))] usize,
5423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, matches: *mut i16) -> ::windows::runtime::HRESULT,
5424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5425     #[cfg(not(feature = "Win32_Foundation"))] usize,
5426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, useraccount: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5427     #[cfg(not(feature = "Win32_Foundation"))] usize,
5428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5429     #[cfg(not(feature = "Win32_Foundation"))] usize,
5430 );
5431 #[repr(transparent)]
5432 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5433 pub struct IFsrmFileScreenBase(::windows::runtime::IUnknown);
5434 impl IFsrmFileScreenBase {
5435     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5436         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5437         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5438     }
5439     #[cfg(feature = "Win32_System_Ole_Automation")]
5440     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5441         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5442         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5443     }
5444     #[cfg(feature = "Win32_Foundation")]
5445     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5446         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5447     }
5448     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5449     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5450         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5451     }
5452     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5453         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5454         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5455     }
5456     #[cfg(feature = "Win32_Foundation")]
5457     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5458         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5459         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5460     }
5461     #[cfg(feature = "Win32_Foundation")]
5462     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
5463         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
5464     }
5465     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
5466         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
5467     }
5468     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
5469         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
5470     }
5471     pub unsafe fn BlockedFileGroups(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
5472         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5473         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
5474     }
5475     pub unsafe fn SetBlockedFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, blocklist: Param0) -> ::windows::runtime::Result<()> {
5476         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), blocklist.into_param().abi()).ok()
5477     }
5478     pub unsafe fn FileScreenFlags(&self) -> ::windows::runtime::Result<i32> {
5479         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5480         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5481     }
5482     pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows::runtime::Result<()> {
5483         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(filescreenflags)).ok()
5484     }
5485     pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
5486         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5487         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
5488     }
5489     pub unsafe fn EnumActions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
5490         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5491         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
5492     }
5493 }
5494 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenBase {
5495     type Vtable = IFsrmFileScreenBase_abi;
5496     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4083383936, 23330, 18987, [166, 55, 187, 182, 66, 180, 28, 252]);
5497 }
5498 impl ::std::convert::From<IFsrmFileScreenBase> for ::windows::runtime::IUnknown {
5499     fn from(value: IFsrmFileScreenBase) -> Self {
5500         unsafe { ::std::mem::transmute(value) }
5501     }
5502 }
5503 impl ::std::convert::From<&IFsrmFileScreenBase> for ::windows::runtime::IUnknown {
5504     fn from(value: &IFsrmFileScreenBase) -> Self {
5505         ::std::convert::From::from(::std::clone::Clone::clone(value))
5506     }
5507 }
5508 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenBase {
5509     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5510         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5511     }
5512 }
5513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenBase {
5514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5515         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5516     }
5517 }
5518 impl ::std::convert::From<IFsrmFileScreenBase> for IFsrmObject {
5519     fn from(value: IFsrmFileScreenBase) -> Self {
5520         unsafe { ::std::mem::transmute(value) }
5521     }
5522 }
5523 impl ::std::convert::From<&IFsrmFileScreenBase> for IFsrmObject {
5524     fn from(value: &IFsrmFileScreenBase) -> Self {
5525         ::std::convert::From::from(::std::clone::Clone::clone(value))
5526     }
5527 }
5528 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileScreenBase {
5529     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5530         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
5531     }
5532 }
5533 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileScreenBase {
5534     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5535         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
5536     }
5537 }
5538 #[cfg(feature = "Win32_System_Ole_Automation")]
5539 impl ::std::convert::From<IFsrmFileScreenBase> for super::super::System::Ole::Automation::IDispatch {
5540     fn from(value: IFsrmFileScreenBase) -> Self {
5541         unsafe { ::std::mem::transmute(value) }
5542     }
5543 }
5544 #[cfg(feature = "Win32_System_Ole_Automation")]
5545 impl ::std::convert::From<&IFsrmFileScreenBase> for super::super::System::Ole::Automation::IDispatch {
5546     fn from(value: &IFsrmFileScreenBase) -> Self {
5547         ::std::convert::From::from(::std::clone::Clone::clone(value))
5548     }
5549 }
5550 #[cfg(feature = "Win32_System_Ole_Automation")]
5551 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenBase {
5552     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5553         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5554     }
5555 }
5556 #[cfg(feature = "Win32_System_Ole_Automation")]
5557 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenBase {
5558     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5559         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5560     }
5561 }
5562 #[repr(C)]
5563 #[doc(hidden)]
5564 pub struct IFsrmFileScreenBase_abi(
5565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5569     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5570     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5571     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5572     #[cfg(not(feature = "Win32_Foundation"))] usize,
5573     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5574     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5575     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5577     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5578     #[cfg(not(feature = "Win32_Foundation"))] usize,
5579     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5580     #[cfg(not(feature = "Win32_Foundation"))] usize,
5581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: *mut i32) -> ::windows::runtime::HRESULT,
5586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: i32) -> ::windows::runtime::HRESULT,
5587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5589 );
5590 #[repr(transparent)]
5591 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5592 pub struct IFsrmFileScreenException(::windows::runtime::IUnknown);
5593 impl IFsrmFileScreenException {
5594     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5595         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5596         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5597     }
5598     #[cfg(feature = "Win32_System_Ole_Automation")]
5599     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5600         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5601         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5602     }
5603     #[cfg(feature = "Win32_Foundation")]
5604     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5605         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5606     }
5607     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5608     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5609         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5610     }
5611     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5612         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5613         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5614     }
5615     #[cfg(feature = "Win32_Foundation")]
5616     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5617         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5618         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5619     }
5620     #[cfg(feature = "Win32_Foundation")]
5621     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
5622         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
5623     }
5624     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
5625         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
5626     }
5627     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
5628         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
5629     }
5630     #[cfg(feature = "Win32_Foundation")]
5631     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5632         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5633         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5634     }
5635     pub unsafe fn AllowedFileGroups(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
5636         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5637         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
5638     }
5639     pub unsafe fn SetAllowedFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, allowlist: Param0) -> ::windows::runtime::Result<()> {
5640         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), allowlist.into_param().abi()).ok()
5641     }
5642 }
5643 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenException {
5644     type Vtable = IFsrmFileScreenException_abi;
5645     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3202862594, 57207, 17685, [147, 137, 120, 240, 28, 90, 252, 26]);
5646 }
5647 impl ::std::convert::From<IFsrmFileScreenException> for ::windows::runtime::IUnknown {
5648     fn from(value: IFsrmFileScreenException) -> Self {
5649         unsafe { ::std::mem::transmute(value) }
5650     }
5651 }
5652 impl ::std::convert::From<&IFsrmFileScreenException> for ::windows::runtime::IUnknown {
5653     fn from(value: &IFsrmFileScreenException) -> Self {
5654         ::std::convert::From::from(::std::clone::Clone::clone(value))
5655     }
5656 }
5657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenException {
5658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5660     }
5661 }
5662 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenException {
5663     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5664         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5665     }
5666 }
5667 impl ::std::convert::From<IFsrmFileScreenException> for IFsrmObject {
5668     fn from(value: IFsrmFileScreenException) -> Self {
5669         unsafe { ::std::mem::transmute(value) }
5670     }
5671 }
5672 impl ::std::convert::From<&IFsrmFileScreenException> for IFsrmObject {
5673     fn from(value: &IFsrmFileScreenException) -> Self {
5674         ::std::convert::From::from(::std::clone::Clone::clone(value))
5675     }
5676 }
5677 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileScreenException {
5678     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5679         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
5680     }
5681 }
5682 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileScreenException {
5683     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
5684         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
5685     }
5686 }
5687 #[cfg(feature = "Win32_System_Ole_Automation")]
5688 impl ::std::convert::From<IFsrmFileScreenException> for super::super::System::Ole::Automation::IDispatch {
5689     fn from(value: IFsrmFileScreenException) -> Self {
5690         unsafe { ::std::mem::transmute(value) }
5691     }
5692 }
5693 #[cfg(feature = "Win32_System_Ole_Automation")]
5694 impl ::std::convert::From<&IFsrmFileScreenException> for super::super::System::Ole::Automation::IDispatch {
5695     fn from(value: &IFsrmFileScreenException) -> Self {
5696         ::std::convert::From::from(::std::clone::Clone::clone(value))
5697     }
5698 }
5699 #[cfg(feature = "Win32_System_Ole_Automation")]
5700 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenException {
5701     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5702         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5703     }
5704 }
5705 #[cfg(feature = "Win32_System_Ole_Automation")]
5706 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenException {
5707     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5708         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5709     }
5710 }
5711 #[repr(C)]
5712 #[doc(hidden)]
5713 pub struct IFsrmFileScreenException_abi(
5714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5718     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5719     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5720     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5721     #[cfg(not(feature = "Win32_Foundation"))] usize,
5722     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5723     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5724     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5727     #[cfg(not(feature = "Win32_Foundation"))] usize,
5728     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5729     #[cfg(not(feature = "Win32_Foundation"))] usize,
5730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5732     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5733     #[cfg(not(feature = "Win32_Foundation"))] usize,
5734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allowlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allowlist: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5736 );
5737 #[repr(transparent)]
5738 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5739 pub struct IFsrmFileScreenManager(::windows::runtime::IUnknown);
5740 impl IFsrmFileScreenManager {
5741     #[cfg(feature = "Win32_System_Com")]
5742     pub unsafe fn ActionVariables(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5743         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5744         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5745     }
5746     #[cfg(feature = "Win32_System_Com")]
5747     pub unsafe fn ActionVariableDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5748         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5749         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5750     }
5751     #[cfg(feature = "Win32_Foundation")]
5752     pub unsafe fn CreateFileScreen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmFileScreen> {
5753         let mut result__: <IFsrmFileScreen as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5754         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmFileScreen>(result__)
5755     }
5756     #[cfg(feature = "Win32_Foundation")]
5757     pub unsafe fn GetFileScreen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmFileScreen> {
5758         let mut result__: <IFsrmFileScreen as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5759         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmFileScreen>(result__)
5760     }
5761     #[cfg(feature = "Win32_Foundation")]
5762     pub unsafe fn EnumFileScreens<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
5763         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5764         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
5765     }
5766     #[cfg(feature = "Win32_Foundation")]
5767     pub unsafe fn CreateFileScreenException<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmFileScreenException> {
5768         let mut result__: <IFsrmFileScreenException as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5769         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmFileScreenException>(result__)
5770     }
5771     #[cfg(feature = "Win32_Foundation")]
5772     pub unsafe fn GetFileScreenException<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmFileScreenException> {
5773         let mut result__: <IFsrmFileScreenException as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5774         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmFileScreenException>(result__)
5775     }
5776     #[cfg(feature = "Win32_Foundation")]
5777     pub unsafe fn EnumFileScreenExceptions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
5778         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5779         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
5780     }
5781     pub unsafe fn CreateFileScreenCollection(&self) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
5782         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5783         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
5784     }
5785 }
5786 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenManager {
5787     type Vtable = IFsrmFileScreenManager_abi;
5788     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4283408462, 23188, 19418, [163, 160, 213, 180, 211, 197, 46, 186]);
5789 }
5790 impl ::std::convert::From<IFsrmFileScreenManager> for ::windows::runtime::IUnknown {
5791     fn from(value: IFsrmFileScreenManager) -> Self {
5792         unsafe { ::std::mem::transmute(value) }
5793     }
5794 }
5795 impl ::std::convert::From<&IFsrmFileScreenManager> for ::windows::runtime::IUnknown {
5796     fn from(value: &IFsrmFileScreenManager) -> Self {
5797         ::std::convert::From::from(::std::clone::Clone::clone(value))
5798     }
5799 }
5800 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenManager {
5801     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5802         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5803     }
5804 }
5805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenManager {
5806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5808     }
5809 }
5810 #[cfg(feature = "Win32_System_Ole_Automation")]
5811 impl ::std::convert::From<IFsrmFileScreenManager> for super::super::System::Ole::Automation::IDispatch {
5812     fn from(value: IFsrmFileScreenManager) -> Self {
5813         unsafe { ::std::mem::transmute(value) }
5814     }
5815 }
5816 #[cfg(feature = "Win32_System_Ole_Automation")]
5817 impl ::std::convert::From<&IFsrmFileScreenManager> for super::super::System::Ole::Automation::IDispatch {
5818     fn from(value: &IFsrmFileScreenManager) -> Self {
5819         ::std::convert::From::from(::std::clone::Clone::clone(value))
5820     }
5821 }
5822 #[cfg(feature = "Win32_System_Ole_Automation")]
5823 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenManager {
5824     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5825         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5826     }
5827 }
5828 #[cfg(feature = "Win32_System_Ole_Automation")]
5829 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenManager {
5830     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5831         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5832     }
5833 }
5834 #[repr(C)]
5835 #[doc(hidden)]
5836 pub struct IFsrmFileScreenManager_abi(
5837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5841     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5842     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5843     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5844     #[cfg(not(feature = "Win32_Foundation"))] usize,
5845     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5846     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5847     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5848     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variables: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5849     #[cfg(not(feature = "Win32_System_Com"))] usize,
5850     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5851     #[cfg(not(feature = "Win32_System_Com"))] usize,
5852     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreen: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5853     #[cfg(not(feature = "Win32_Foundation"))] usize,
5854     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreen: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5855     #[cfg(not(feature = "Win32_Foundation"))] usize,
5856     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, filescreens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5857     #[cfg(not(feature = "Win32_Foundation"))] usize,
5858     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreenexception: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5859     #[cfg(not(feature = "Win32_Foundation"))] usize,
5860     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreenexception: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5861     #[cfg(not(feature = "Win32_Foundation"))] usize,
5862     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, filescreenexceptions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5863     #[cfg(not(feature = "Win32_Foundation"))] usize,
5864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, collection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5865 );
5866 #[repr(transparent)]
5867 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5868 pub struct IFsrmFileScreenTemplate(::windows::runtime::IUnknown);
5869 impl IFsrmFileScreenTemplate {
5870     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5871         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5872         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5873     }
5874     #[cfg(feature = "Win32_System_Ole_Automation")]
5875     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5876         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5877         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5878     }
5879     #[cfg(feature = "Win32_Foundation")]
5880     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5881         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5882     }
5883     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5884     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5885         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5886     }
5887     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5888         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5889         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5890     }
5891     #[cfg(feature = "Win32_Foundation")]
5892     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5893         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5894         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5895     }
5896     #[cfg(feature = "Win32_Foundation")]
5897     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
5898         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
5899     }
5900     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
5901         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
5902     }
5903     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
5904         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
5905     }
5906     pub unsafe fn BlockedFileGroups(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
5907         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5908         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
5909     }
5910     pub unsafe fn SetBlockedFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, blocklist: Param0) -> ::windows::runtime::Result<()> {
5911         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), blocklist.into_param().abi()).ok()
5912     }
5913     pub unsafe fn FileScreenFlags(&self) -> ::windows::runtime::Result<i32> {
5914         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5915         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5916     }
5917     pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows::runtime::Result<()> {
5918         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(filescreenflags)).ok()
5919     }
5920     pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
5921         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5922         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
5923     }
5924     pub unsafe fn EnumActions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
5925         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5926         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
5927     }
5928     #[cfg(feature = "Win32_Foundation")]
5929     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5930         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5931         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5932     }
5933     #[cfg(feature = "Win32_Foundation")]
5934     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
5935         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
5936     }
5937     #[cfg(feature = "Win32_Foundation")]
5938     pub unsafe fn CopyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filescreentemplatename: Param0) -> ::windows::runtime::Result<()> {
5939         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), filescreentemplatename.into_param().abi()).ok()
5940     }
5941     pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows::runtime::Result<IFsrmDerivedObjectsResult> {
5942         let mut result__: <IFsrmDerivedObjectsResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5943         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(commitoptions), ::std::mem::transmute(applyoptions), &mut result__).from_abi::<IFsrmDerivedObjectsResult>(result__)
5944     }
5945 }
5946 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenTemplate {
5947     type Vtable = IFsrmFileScreenTemplate_abi;
5948     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(542895096, 56723, 17706, [149, 166, 50, 181, 102, 179, 88, 40]);
5949 }
5950 impl ::std::convert::From<IFsrmFileScreenTemplate> for ::windows::runtime::IUnknown {
5951     fn from(value: IFsrmFileScreenTemplate) -> Self {
5952         unsafe { ::std::mem::transmute(value) }
5953     }
5954 }
5955 impl ::std::convert::From<&IFsrmFileScreenTemplate> for ::windows::runtime::IUnknown {
5956     fn from(value: &IFsrmFileScreenTemplate) -> Self {
5957         ::std::convert::From::from(::std::clone::Clone::clone(value))
5958     }
5959 }
5960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenTemplate {
5961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5962         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5963     }
5964 }
5965 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenTemplate {
5966     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5967         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5968     }
5969 }
5970 impl ::std::convert::From<IFsrmFileScreenTemplate> for IFsrmFileScreenBase {
5971     fn from(value: IFsrmFileScreenTemplate) -> Self {
5972         unsafe { ::std::mem::transmute(value) }
5973     }
5974 }
5975 impl ::std::convert::From<&IFsrmFileScreenTemplate> for IFsrmFileScreenBase {
5976     fn from(value: &IFsrmFileScreenTemplate) -> Self {
5977         ::std::convert::From::from(::std::clone::Clone::clone(value))
5978     }
5979 }
5980 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for IFsrmFileScreenTemplate {
5981     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
5982         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(self))
5983     }
5984 }
5985 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for &IFsrmFileScreenTemplate {
5986     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
5987         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(::std::clone::Clone::clone(self)))
5988     }
5989 }
5990 impl ::std::convert::From<IFsrmFileScreenTemplate> for IFsrmObject {
5991     fn from(value: IFsrmFileScreenTemplate) -> Self {
5992         unsafe { ::std::mem::transmute(value) }
5993     }
5994 }
5995 impl ::std::convert::From<&IFsrmFileScreenTemplate> for IFsrmObject {
5996     fn from(value: &IFsrmFileScreenTemplate) -> Self {
5997         ::std::convert::From::from(::std::clone::Clone::clone(value))
5998     }
5999 }
6000 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileScreenTemplate {
6001     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6002         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
6003     }
6004 }
6005 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileScreenTemplate {
6006     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6007         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
6008     }
6009 }
6010 #[cfg(feature = "Win32_System_Ole_Automation")]
6011 impl ::std::convert::From<IFsrmFileScreenTemplate> for super::super::System::Ole::Automation::IDispatch {
6012     fn from(value: IFsrmFileScreenTemplate) -> Self {
6013         unsafe { ::std::mem::transmute(value) }
6014     }
6015 }
6016 #[cfg(feature = "Win32_System_Ole_Automation")]
6017 impl ::std::convert::From<&IFsrmFileScreenTemplate> for super::super::System::Ole::Automation::IDispatch {
6018     fn from(value: &IFsrmFileScreenTemplate) -> Self {
6019         ::std::convert::From::from(::std::clone::Clone::clone(value))
6020     }
6021 }
6022 #[cfg(feature = "Win32_System_Ole_Automation")]
6023 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenTemplate {
6024     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6025         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6026     }
6027 }
6028 #[cfg(feature = "Win32_System_Ole_Automation")]
6029 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenTemplate {
6030     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6031         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6032     }
6033 }
6034 #[repr(C)]
6035 #[doc(hidden)]
6036 pub struct IFsrmFileScreenTemplate_abi(
6037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6041     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6042     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6043     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6044     #[cfg(not(feature = "Win32_Foundation"))] usize,
6045     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6046     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6047     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6049     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6050     #[cfg(not(feature = "Win32_Foundation"))] usize,
6051     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6052     #[cfg(not(feature = "Win32_Foundation"))] usize,
6053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: *mut i32) -> ::windows::runtime::HRESULT,
6058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: i32) -> ::windows::runtime::HRESULT,
6059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6061     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6062     #[cfg(not(feature = "Win32_Foundation"))] usize,
6063     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6064     #[cfg(not(feature = "Win32_Foundation"))] usize,
6065     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6066     #[cfg(not(feature = "Win32_Foundation"))] usize,
6067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions, derivedobjectsresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6068 );
6069 #[repr(transparent)]
6070 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6071 pub struct IFsrmFileScreenTemplateImported(::windows::runtime::IUnknown);
6072 impl IFsrmFileScreenTemplateImported {
6073     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
6074         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6075         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6076     }
6077     #[cfg(feature = "Win32_System_Ole_Automation")]
6078     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
6079         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6080         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
6081     }
6082     #[cfg(feature = "Win32_Foundation")]
6083     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
6084         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
6085     }
6086     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6087     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
6088         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
6089     }
6090     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6091         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6092         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6093     }
6094     #[cfg(feature = "Win32_Foundation")]
6095     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6096         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6097         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6098     }
6099     #[cfg(feature = "Win32_Foundation")]
6100     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
6101         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
6102     }
6103     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
6104         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
6105     }
6106     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
6107         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6108     }
6109     pub unsafe fn BlockedFileGroups(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
6110         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6111         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
6112     }
6113     pub unsafe fn SetBlockedFileGroups<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmMutableCollection>>(&self, blocklist: Param0) -> ::windows::runtime::Result<()> {
6114         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), blocklist.into_param().abi()).ok()
6115     }
6116     pub unsafe fn FileScreenFlags(&self) -> ::windows::runtime::Result<i32> {
6117         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6118         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6119     }
6120     pub unsafe fn SetFileScreenFlags(&self, filescreenflags: i32) -> ::windows::runtime::Result<()> {
6121         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(filescreenflags)).ok()
6122     }
6123     pub unsafe fn CreateAction(&self, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
6124         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6125         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
6126     }
6127     pub unsafe fn EnumActions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
6128         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6129         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
6130     }
6131     #[cfg(feature = "Win32_Foundation")]
6132     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6133         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6134         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6135     }
6136     #[cfg(feature = "Win32_Foundation")]
6137     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
6138         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
6139     }
6140     #[cfg(feature = "Win32_Foundation")]
6141     pub unsafe fn CopyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filescreentemplatename: Param0) -> ::windows::runtime::Result<()> {
6142         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), filescreentemplatename.into_param().abi()).ok()
6143     }
6144     pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows::runtime::Result<IFsrmDerivedObjectsResult> {
6145         let mut result__: <IFsrmDerivedObjectsResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6146         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(commitoptions), ::std::mem::transmute(applyoptions), &mut result__).from_abi::<IFsrmDerivedObjectsResult>(result__)
6147     }
6148     pub unsafe fn OverwriteOnCommit(&self) -> ::windows::runtime::Result<i16> {
6149         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6150         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6151     }
6152     pub unsafe fn SetOverwriteOnCommit(&self, overwrite: i16) -> ::windows::runtime::Result<()> {
6153         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(overwrite)).ok()
6154     }
6155 }
6156 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenTemplateImported {
6157     type Vtable = IFsrmFileScreenTemplateImported_abi;
6158     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3774939993, 15965, 20173, [159, 228, 239, 72, 98, 47, 223, 48]);
6159 }
6160 impl ::std::convert::From<IFsrmFileScreenTemplateImported> for ::windows::runtime::IUnknown {
6161     fn from(value: IFsrmFileScreenTemplateImported) -> Self {
6162         unsafe { ::std::mem::transmute(value) }
6163     }
6164 }
6165 impl ::std::convert::From<&IFsrmFileScreenTemplateImported> for ::windows::runtime::IUnknown {
6166     fn from(value: &IFsrmFileScreenTemplateImported) -> Self {
6167         ::std::convert::From::from(::std::clone::Clone::clone(value))
6168     }
6169 }
6170 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenTemplateImported {
6171     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6172         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6173     }
6174 }
6175 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenTemplateImported {
6176     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6177         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6178     }
6179 }
6180 impl ::std::convert::From<IFsrmFileScreenTemplateImported> for IFsrmFileScreenTemplate {
6181     fn from(value: IFsrmFileScreenTemplateImported) -> Self {
6182         unsafe { ::std::mem::transmute(value) }
6183     }
6184 }
6185 impl ::std::convert::From<&IFsrmFileScreenTemplateImported> for IFsrmFileScreenTemplate {
6186     fn from(value: &IFsrmFileScreenTemplateImported) -> Self {
6187         ::std::convert::From::from(::std::clone::Clone::clone(value))
6188     }
6189 }
6190 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenTemplate> for IFsrmFileScreenTemplateImported {
6191     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenTemplate> {
6192         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenTemplate>::into(self))
6193     }
6194 }
6195 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenTemplate> for &IFsrmFileScreenTemplateImported {
6196     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenTemplate> {
6197         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenTemplate>::into(::std::clone::Clone::clone(self)))
6198     }
6199 }
6200 impl ::std::convert::From<IFsrmFileScreenTemplateImported> for IFsrmFileScreenBase {
6201     fn from(value: IFsrmFileScreenTemplateImported) -> Self {
6202         unsafe { ::std::mem::transmute(value) }
6203     }
6204 }
6205 impl ::std::convert::From<&IFsrmFileScreenTemplateImported> for IFsrmFileScreenBase {
6206     fn from(value: &IFsrmFileScreenTemplateImported) -> Self {
6207         ::std::convert::From::from(::std::clone::Clone::clone(value))
6208     }
6209 }
6210 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for IFsrmFileScreenTemplateImported {
6211     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
6212         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(self))
6213     }
6214 }
6215 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmFileScreenBase> for &IFsrmFileScreenTemplateImported {
6216     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmFileScreenBase> {
6217         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmFileScreenBase>::into(::std::clone::Clone::clone(self)))
6218     }
6219 }
6220 impl ::std::convert::From<IFsrmFileScreenTemplateImported> for IFsrmObject {
6221     fn from(value: IFsrmFileScreenTemplateImported) -> Self {
6222         unsafe { ::std::mem::transmute(value) }
6223     }
6224 }
6225 impl ::std::convert::From<&IFsrmFileScreenTemplateImported> for IFsrmObject {
6226     fn from(value: &IFsrmFileScreenTemplateImported) -> Self {
6227         ::std::convert::From::from(::std::clone::Clone::clone(value))
6228     }
6229 }
6230 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmFileScreenTemplateImported {
6231     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6232         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
6233     }
6234 }
6235 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmFileScreenTemplateImported {
6236     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6237         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
6238     }
6239 }
6240 #[cfg(feature = "Win32_System_Ole_Automation")]
6241 impl ::std::convert::From<IFsrmFileScreenTemplateImported> for super::super::System::Ole::Automation::IDispatch {
6242     fn from(value: IFsrmFileScreenTemplateImported) -> Self {
6243         unsafe { ::std::mem::transmute(value) }
6244     }
6245 }
6246 #[cfg(feature = "Win32_System_Ole_Automation")]
6247 impl ::std::convert::From<&IFsrmFileScreenTemplateImported> for super::super::System::Ole::Automation::IDispatch {
6248     fn from(value: &IFsrmFileScreenTemplateImported) -> Self {
6249         ::std::convert::From::from(::std::clone::Clone::clone(value))
6250     }
6251 }
6252 #[cfg(feature = "Win32_System_Ole_Automation")]
6253 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenTemplateImported {
6254     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6255         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6256     }
6257 }
6258 #[cfg(feature = "Win32_System_Ole_Automation")]
6259 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenTemplateImported {
6260     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6261         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6262     }
6263 }
6264 #[repr(C)]
6265 #[doc(hidden)]
6266 pub struct IFsrmFileScreenTemplateImported_abi(
6267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6271     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6272     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6273     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6274     #[cfg(not(feature = "Win32_Foundation"))] usize,
6275     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6276     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6277     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6279     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6280     #[cfg(not(feature = "Win32_Foundation"))] usize,
6281     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6282     #[cfg(not(feature = "Win32_Foundation"))] usize,
6283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocklist: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: *mut i32) -> ::windows::runtime::HRESULT,
6288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreenflags: i32) -> ::windows::runtime::HRESULT,
6289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6291     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6292     #[cfg(not(feature = "Win32_Foundation"))] usize,
6293     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6294     #[cfg(not(feature = "Win32_Foundation"))] usize,
6295     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6296     #[cfg(not(feature = "Win32_Foundation"))] usize,
6297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions, derivedobjectsresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: *mut i16) -> ::windows::runtime::HRESULT,
6299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: i16) -> ::windows::runtime::HRESULT,
6300 );
6301 #[repr(transparent)]
6302 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6303 pub struct IFsrmFileScreenTemplateManager(::windows::runtime::IUnknown);
6304 impl IFsrmFileScreenTemplateManager {
6305     pub unsafe fn CreateTemplate(&self) -> ::windows::runtime::Result<IFsrmFileScreenTemplate> {
6306         let mut result__: <IFsrmFileScreenTemplate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6307         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmFileScreenTemplate>(result__)
6308     }
6309     #[cfg(feature = "Win32_Foundation")]
6310     pub unsafe fn GetTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmFileScreenTemplate> {
6311         let mut result__: <IFsrmFileScreenTemplate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6312         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmFileScreenTemplate>(result__)
6313     }
6314     pub unsafe fn EnumTemplates(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
6315         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6316         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
6317     }
6318     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6319     pub unsafe fn ExportTemplates(&self, filescreentemplatenamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6320         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6321         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(filescreentemplatenamesarray), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6322     }
6323     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6324     pub unsafe fn ImportTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, serializedfilescreentemplates: Param0, filescreentemplatenamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
6325         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6326         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), serializedfilescreentemplates.into_param().abi(), ::std::mem::transmute(filescreentemplatenamesarray), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
6327     }
6328 }
6329 unsafe impl ::windows::runtime::Interface for IFsrmFileScreenTemplateManager {
6330     type Vtable = IFsrmFileScreenTemplateManager_abi;
6331     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3487788218, 6473, 20084, [161, 79, 241, 213, 128, 206, 175, 19]);
6332 }
6333 impl ::std::convert::From<IFsrmFileScreenTemplateManager> for ::windows::runtime::IUnknown {
6334     fn from(value: IFsrmFileScreenTemplateManager) -> Self {
6335         unsafe { ::std::mem::transmute(value) }
6336     }
6337 }
6338 impl ::std::convert::From<&IFsrmFileScreenTemplateManager> for ::windows::runtime::IUnknown {
6339     fn from(value: &IFsrmFileScreenTemplateManager) -> Self {
6340         ::std::convert::From::from(::std::clone::Clone::clone(value))
6341     }
6342 }
6343 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmFileScreenTemplateManager {
6344     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6345         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6346     }
6347 }
6348 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmFileScreenTemplateManager {
6349     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6350         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6351     }
6352 }
6353 #[cfg(feature = "Win32_System_Ole_Automation")]
6354 impl ::std::convert::From<IFsrmFileScreenTemplateManager> for super::super::System::Ole::Automation::IDispatch {
6355     fn from(value: IFsrmFileScreenTemplateManager) -> Self {
6356         unsafe { ::std::mem::transmute(value) }
6357     }
6358 }
6359 #[cfg(feature = "Win32_System_Ole_Automation")]
6360 impl ::std::convert::From<&IFsrmFileScreenTemplateManager> for super::super::System::Ole::Automation::IDispatch {
6361     fn from(value: &IFsrmFileScreenTemplateManager) -> Self {
6362         ::std::convert::From::from(::std::clone::Clone::clone(value))
6363     }
6364 }
6365 #[cfg(feature = "Win32_System_Ole_Automation")]
6366 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmFileScreenTemplateManager {
6367     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6368         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6369     }
6370 }
6371 #[cfg(feature = "Win32_System_Ole_Automation")]
6372 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmFileScreenTemplateManager {
6373     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6374         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6375     }
6376 }
6377 #[repr(C)]
6378 #[doc(hidden)]
6379 pub struct IFsrmFileScreenTemplateManager_abi(
6380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6384     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6385     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6386     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6387     #[cfg(not(feature = "Win32_Foundation"))] usize,
6388     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6389     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6390     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6392     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreentemplate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6393     #[cfg(not(feature = "Win32_Foundation"))] usize,
6394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, filescreentemplates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6395     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filescreentemplatenamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, serializedfilescreentemplates: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6396     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6397     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializedfilescreentemplates: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filescreentemplatenamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, filescreentemplates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6398     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6399 );
6400 #[repr(transparent)]
6401 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6402 pub struct IFsrmMutableCollection(::windows::runtime::IUnknown);
6403 impl IFsrmMutableCollection {
6404     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
6405         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6406         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6407     }
6408     #[cfg(feature = "Win32_System_Ole_Automation")]
6409     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
6410         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6411         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
6412     }
6413     #[cfg(feature = "Win32_Foundation")]
6414     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
6415         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
6416     }
6417     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6418     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
6419         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
6420     }
6421     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6422         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6423         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6424     }
6425     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6426     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6427         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6428         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6429     }
6430     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
6431         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6432         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6433     }
6434     pub unsafe fn State(&self) -> ::windows::runtime::Result<FsrmCollectionState> {
6435         let mut result__: <FsrmCollectionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6436         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmCollectionState>(result__)
6437     }
6438     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
6439         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6440     }
6441     pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
6442         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6443         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
6444     }
6445     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6446     pub unsafe fn GetById<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6447         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6448         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), id.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6449     }
6450     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6451     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, item: Param0) -> ::windows::runtime::Result<()> {
6452         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), item.into_param().abi()).ok()
6453     }
6454     pub unsafe fn Remove(&self, index: i32) -> ::windows::runtime::Result<()> {
6455         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)).ok()
6456     }
6457     pub unsafe fn RemoveById<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, id: Param0) -> ::windows::runtime::Result<()> {
6458         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), id.into_param().abi()).ok()
6459     }
6460     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IFsrmMutableCollection> {
6461         let mut result__: <IFsrmMutableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6462         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmMutableCollection>(result__)
6463     }
6464 }
6465 unsafe impl ::windows::runtime::Interface for IFsrmMutableCollection {
6466     type Vtable = IFsrmMutableCollection_abi;
6467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(464918456, 14470, 18908, [175, 130, 166, 201, 15, 163, 93, 218]);
6468 }
6469 impl ::std::convert::From<IFsrmMutableCollection> for ::windows::runtime::IUnknown {
6470     fn from(value: IFsrmMutableCollection) -> Self {
6471         unsafe { ::std::mem::transmute(value) }
6472     }
6473 }
6474 impl ::std::convert::From<&IFsrmMutableCollection> for ::windows::runtime::IUnknown {
6475     fn from(value: &IFsrmMutableCollection) -> Self {
6476         ::std::convert::From::from(::std::clone::Clone::clone(value))
6477     }
6478 }
6479 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmMutableCollection {
6480     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6481         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6482     }
6483 }
6484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmMutableCollection {
6485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6487     }
6488 }
6489 impl ::std::convert::From<IFsrmMutableCollection> for IFsrmCollection {
6490     fn from(value: IFsrmMutableCollection) -> Self {
6491         unsafe { ::std::mem::transmute(value) }
6492     }
6493 }
6494 impl ::std::convert::From<&IFsrmMutableCollection> for IFsrmCollection {
6495     fn from(value: &IFsrmMutableCollection) -> Self {
6496         ::std::convert::From::from(::std::clone::Clone::clone(value))
6497     }
6498 }
6499 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmCollection> for IFsrmMutableCollection {
6500     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmCollection> {
6501         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmCollection>::into(self))
6502     }
6503 }
6504 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmCollection> for &IFsrmMutableCollection {
6505     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmCollection> {
6506         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmCollection>::into(::std::clone::Clone::clone(self)))
6507     }
6508 }
6509 #[cfg(feature = "Win32_System_Ole_Automation")]
6510 impl ::std::convert::From<IFsrmMutableCollection> for super::super::System::Ole::Automation::IDispatch {
6511     fn from(value: IFsrmMutableCollection) -> Self {
6512         unsafe { ::std::mem::transmute(value) }
6513     }
6514 }
6515 #[cfg(feature = "Win32_System_Ole_Automation")]
6516 impl ::std::convert::From<&IFsrmMutableCollection> for super::super::System::Ole::Automation::IDispatch {
6517     fn from(value: &IFsrmMutableCollection) -> Self {
6518         ::std::convert::From::from(::std::clone::Clone::clone(value))
6519     }
6520 }
6521 #[cfg(feature = "Win32_System_Ole_Automation")]
6522 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmMutableCollection {
6523     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6524         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6525     }
6526 }
6527 #[cfg(feature = "Win32_System_Ole_Automation")]
6528 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmMutableCollection {
6529     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6530         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6531     }
6532 }
6533 #[repr(C)]
6534 #[doc(hidden)]
6535 pub struct IFsrmMutableCollection_abi(
6536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6540     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6541     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6542     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6543     #[cfg(not(feature = "Win32_Foundation"))] usize,
6544     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6545     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6546     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6548     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, item: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6549     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
6551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut FsrmCollectionState) -> ::windows::runtime::HRESULT,
6552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
6554     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::windows::runtime::GUID, entry: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6555     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6556     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6557     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32) -> ::windows::runtime::HRESULT,
6559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, collection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6561 );
6562 #[repr(transparent)]
6563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6564 pub struct IFsrmObject(::windows::runtime::IUnknown);
6565 impl IFsrmObject {
6566     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6567         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6568         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6569     }
6570     #[cfg(feature = "Win32_Foundation")]
6571     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6572         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6573         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6574     }
6575     #[cfg(feature = "Win32_Foundation")]
6576     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
6577         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
6578     }
6579     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
6580         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
6581     }
6582     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
6583         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6584     }
6585 }
6586 unsafe impl ::windows::runtime::Interface for IFsrmObject {
6587     type Vtable = IFsrmObject_abi;
6588     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582807443, 19007, 16771, [137, 249, 47, 139, 138, 98, 138, 238]);
6589 }
6590 impl ::std::convert::From<IFsrmObject> for ::windows::runtime::IUnknown {
6591     fn from(value: IFsrmObject) -> Self {
6592         unsafe { ::std::mem::transmute(value) }
6593     }
6594 }
6595 impl ::std::convert::From<&IFsrmObject> for ::windows::runtime::IUnknown {
6596     fn from(value: &IFsrmObject) -> Self {
6597         ::std::convert::From::from(::std::clone::Clone::clone(value))
6598     }
6599 }
6600 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmObject {
6601     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6602         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6603     }
6604 }
6605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmObject {
6606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6607         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6608     }
6609 }
6610 #[cfg(feature = "Win32_System_Ole_Automation")]
6611 impl ::std::convert::From<IFsrmObject> for super::super::System::Ole::Automation::IDispatch {
6612     fn from(value: IFsrmObject) -> Self {
6613         unsafe { ::std::mem::transmute(value) }
6614     }
6615 }
6616 #[cfg(feature = "Win32_System_Ole_Automation")]
6617 impl ::std::convert::From<&IFsrmObject> for super::super::System::Ole::Automation::IDispatch {
6618     fn from(value: &IFsrmObject) -> Self {
6619         ::std::convert::From::from(::std::clone::Clone::clone(value))
6620     }
6621 }
6622 #[cfg(feature = "Win32_System_Ole_Automation")]
6623 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmObject {
6624     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6625         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6626     }
6627 }
6628 #[cfg(feature = "Win32_System_Ole_Automation")]
6629 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmObject {
6630     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6631         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6632     }
6633 }
6634 #[repr(C)]
6635 #[doc(hidden)]
6636 pub struct IFsrmObject_abi(
6637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6641     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6642     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6643     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6644     #[cfg(not(feature = "Win32_Foundation"))] usize,
6645     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6646     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6647     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6649     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6650     #[cfg(not(feature = "Win32_Foundation"))] usize,
6651     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6652     #[cfg(not(feature = "Win32_Foundation"))] usize,
6653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6655 );
6656 #[repr(transparent)]
6657 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6658 pub struct IFsrmPathMapper(::windows::runtime::IUnknown);
6659 impl IFsrmPathMapper {
6660     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6661     pub unsafe fn GetSharePathsForLocalPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, localpath: Param0) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6662         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6663         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), localpath.into_param().abi(), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6664     }
6665 }
6666 unsafe impl ::windows::runtime::Interface for IFsrmPathMapper {
6667     type Vtable = IFsrmPathMapper_abi;
6668     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1867366399, 26912, 18465, [166, 195, 183, 233, 76, 31, 214, 12]);
6669 }
6670 impl ::std::convert::From<IFsrmPathMapper> for ::windows::runtime::IUnknown {
6671     fn from(value: IFsrmPathMapper) -> Self {
6672         unsafe { ::std::mem::transmute(value) }
6673     }
6674 }
6675 impl ::std::convert::From<&IFsrmPathMapper> for ::windows::runtime::IUnknown {
6676     fn from(value: &IFsrmPathMapper) -> Self {
6677         ::std::convert::From::from(::std::clone::Clone::clone(value))
6678     }
6679 }
6680 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPathMapper {
6681     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6682         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6683     }
6684 }
6685 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPathMapper {
6686     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6687         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6688     }
6689 }
6690 #[cfg(feature = "Win32_System_Ole_Automation")]
6691 impl ::std::convert::From<IFsrmPathMapper> for super::super::System::Ole::Automation::IDispatch {
6692     fn from(value: IFsrmPathMapper) -> Self {
6693         unsafe { ::std::mem::transmute(value) }
6694     }
6695 }
6696 #[cfg(feature = "Win32_System_Ole_Automation")]
6697 impl ::std::convert::From<&IFsrmPathMapper> for super::super::System::Ole::Automation::IDispatch {
6698     fn from(value: &IFsrmPathMapper) -> Self {
6699         ::std::convert::From::from(::std::clone::Clone::clone(value))
6700     }
6701 }
6702 #[cfg(feature = "Win32_System_Ole_Automation")]
6703 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPathMapper {
6704     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6705         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6706     }
6707 }
6708 #[cfg(feature = "Win32_System_Ole_Automation")]
6709 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPathMapper {
6710     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6711         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6712     }
6713 }
6714 #[repr(C)]
6715 #[doc(hidden)]
6716 pub struct IFsrmPathMapper_abi(
6717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6721     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6722     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6723     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6724     #[cfg(not(feature = "Win32_Foundation"))] usize,
6725     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6726     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6727     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6728     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, localpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sharepaths: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6729     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6730 );
6731 #[repr(transparent)]
6732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6733 pub struct IFsrmPipelineModuleConnector(::windows::runtime::IUnknown);
6734 impl IFsrmPipelineModuleConnector {
6735     pub unsafe fn ModuleImplementation(&self) -> ::windows::runtime::Result<IFsrmPipelineModuleImplementation> {
6736         let mut result__: <IFsrmPipelineModuleImplementation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6737         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmPipelineModuleImplementation>(result__)
6738     }
6739     #[cfg(feature = "Win32_Foundation")]
6740     pub unsafe fn ModuleName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6741         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6742         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6743     }
6744     #[cfg(feature = "Win32_Foundation")]
6745     pub unsafe fn HostingUserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6746         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6747         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6748     }
6749     pub unsafe fn HostingProcessPid(&self) -> ::windows::runtime::Result<i32> {
6750         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6751         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6752     }
6753     pub unsafe fn Bind<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition>, Param1: ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleImplementation>>(&self, moduledefinition: Param0, moduleimplementation: Param1) -> ::windows::runtime::Result<()> {
6754         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), moduledefinition.into_param().abi(), moduleimplementation.into_param().abi()).ok()
6755     }
6756 }
6757 unsafe impl ::windows::runtime::Interface for IFsrmPipelineModuleConnector {
6758     type Vtable = IFsrmPipelineModuleConnector_abi;
6759     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3244299507, 39585, 18099, [176, 167, 171, 20, 110, 178, 5, 242]);
6760 }
6761 impl ::std::convert::From<IFsrmPipelineModuleConnector> for ::windows::runtime::IUnknown {
6762     fn from(value: IFsrmPipelineModuleConnector) -> Self {
6763         unsafe { ::std::mem::transmute(value) }
6764     }
6765 }
6766 impl ::std::convert::From<&IFsrmPipelineModuleConnector> for ::windows::runtime::IUnknown {
6767     fn from(value: &IFsrmPipelineModuleConnector) -> Self {
6768         ::std::convert::From::from(::std::clone::Clone::clone(value))
6769     }
6770 }
6771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPipelineModuleConnector {
6772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6773         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6774     }
6775 }
6776 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPipelineModuleConnector {
6777     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6778         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6779     }
6780 }
6781 #[cfg(feature = "Win32_System_Ole_Automation")]
6782 impl ::std::convert::From<IFsrmPipelineModuleConnector> for super::super::System::Ole::Automation::IDispatch {
6783     fn from(value: IFsrmPipelineModuleConnector) -> Self {
6784         unsafe { ::std::mem::transmute(value) }
6785     }
6786 }
6787 #[cfg(feature = "Win32_System_Ole_Automation")]
6788 impl ::std::convert::From<&IFsrmPipelineModuleConnector> for super::super::System::Ole::Automation::IDispatch {
6789     fn from(value: &IFsrmPipelineModuleConnector) -> Self {
6790         ::std::convert::From::from(::std::clone::Clone::clone(value))
6791     }
6792 }
6793 #[cfg(feature = "Win32_System_Ole_Automation")]
6794 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPipelineModuleConnector {
6795     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6796         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6797     }
6798 }
6799 #[cfg(feature = "Win32_System_Ole_Automation")]
6800 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPipelineModuleConnector {
6801     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6802         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6803     }
6804 }
6805 #[repr(C)]
6806 #[doc(hidden)]
6807 pub struct IFsrmPipelineModuleConnector_abi(
6808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6812     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6813     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6814     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6815     #[cfg(not(feature = "Win32_Foundation"))] usize,
6816     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6817     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6818     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipelinemoduleimplementation: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6820     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6821     #[cfg(not(feature = "Win32_Foundation"))] usize,
6822     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, useraccount: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6823     #[cfg(not(feature = "Win32_Foundation"))] usize,
6824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: *mut i32) -> ::windows::runtime::HRESULT,
6825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinition: ::windows::runtime::RawPtr, moduleimplementation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6826 );
6827 #[repr(transparent)]
6828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6829 pub struct IFsrmPipelineModuleDefinition(::windows::runtime::IUnknown);
6830 impl IFsrmPipelineModuleDefinition {
6831     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
6832         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6833         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6834     }
6835     #[cfg(feature = "Win32_System_Ole_Automation")]
6836     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
6837         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6838         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
6839     }
6840     #[cfg(feature = "Win32_Foundation")]
6841     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
6842         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
6843     }
6844     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6845     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
6846         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
6847     }
6848     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6849         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6850         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6851     }
6852     #[cfg(feature = "Win32_Foundation")]
6853     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6854         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6855         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6856     }
6857     #[cfg(feature = "Win32_Foundation")]
6858     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
6859         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
6860     }
6861     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
6862         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
6863     }
6864     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
6865         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6866     }
6867     #[cfg(feature = "Win32_Foundation")]
6868     pub unsafe fn ModuleClsid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6869         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6870         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6871     }
6872     #[cfg(feature = "Win32_Foundation")]
6873     pub unsafe fn SetModuleClsid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, moduleclsid: Param0) -> ::windows::runtime::Result<()> {
6874         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), moduleclsid.into_param().abi()).ok()
6875     }
6876     #[cfg(feature = "Win32_Foundation")]
6877     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6878         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6879         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6880     }
6881     #[cfg(feature = "Win32_Foundation")]
6882     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
6883         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
6884     }
6885     #[cfg(feature = "Win32_Foundation")]
6886     pub unsafe fn Company(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6887         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6888         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6889     }
6890     #[cfg(feature = "Win32_Foundation")]
6891     pub unsafe fn SetCompany<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, company: Param0) -> ::windows::runtime::Result<()> {
6892         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), company.into_param().abi()).ok()
6893     }
6894     #[cfg(feature = "Win32_Foundation")]
6895     pub unsafe fn Version(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6896         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6897         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6898     }
6899     #[cfg(feature = "Win32_Foundation")]
6900     pub unsafe fn SetVersion<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, version: Param0) -> ::windows::runtime::Result<()> {
6901         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), version.into_param().abi()).ok()
6902     }
6903     pub unsafe fn ModuleType(&self) -> ::windows::runtime::Result<FsrmPipelineModuleType> {
6904         let mut result__: <FsrmPipelineModuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6905         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPipelineModuleType>(result__)
6906     }
6907     pub unsafe fn Enabled(&self) -> ::windows::runtime::Result<i16> {
6908         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6909         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6910     }
6911     pub unsafe fn SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()> {
6912         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(enabled)).ok()
6913     }
6914     pub unsafe fn NeedsFileContent(&self) -> ::windows::runtime::Result<i16> {
6915         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6916         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6917     }
6918     pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: i16) -> ::windows::runtime::Result<()> {
6919         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(needsfilecontent)).ok()
6920     }
6921     pub unsafe fn Account(&self) -> ::windows::runtime::Result<FsrmAccountType> {
6922         let mut result__: <FsrmAccountType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6923         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmAccountType>(result__)
6924     }
6925     pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows::runtime::Result<()> {
6926         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(retrievalaccount)).ok()
6927     }
6928     #[cfg(feature = "Win32_System_Com")]
6929     pub unsafe fn SupportedExtensions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6930         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6931         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6932     }
6933     #[cfg(feature = "Win32_System_Com")]
6934     pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6935         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(supportedextensions)).ok()
6936     }
6937     #[cfg(feature = "Win32_System_Com")]
6938     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6939         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6940         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6941     }
6942     #[cfg(feature = "Win32_System_Com")]
6943     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6944         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
6945     }
6946 }
6947 unsafe impl ::windows::runtime::Interface for IFsrmPipelineModuleDefinition {
6948     type Vtable = IFsrmPipelineModuleDefinition_abi;
6949     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1364988535, 11393, 17422, [143, 207, 54, 121, 33, 237, 79, 89]);
6950 }
6951 impl ::std::convert::From<IFsrmPipelineModuleDefinition> for ::windows::runtime::IUnknown {
6952     fn from(value: IFsrmPipelineModuleDefinition) -> Self {
6953         unsafe { ::std::mem::transmute(value) }
6954     }
6955 }
6956 impl ::std::convert::From<&IFsrmPipelineModuleDefinition> for ::windows::runtime::IUnknown {
6957     fn from(value: &IFsrmPipelineModuleDefinition) -> Self {
6958         ::std::convert::From::from(::std::clone::Clone::clone(value))
6959     }
6960 }
6961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPipelineModuleDefinition {
6962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6963         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6964     }
6965 }
6966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPipelineModuleDefinition {
6967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6969     }
6970 }
6971 impl ::std::convert::From<IFsrmPipelineModuleDefinition> for IFsrmObject {
6972     fn from(value: IFsrmPipelineModuleDefinition) -> Self {
6973         unsafe { ::std::mem::transmute(value) }
6974     }
6975 }
6976 impl ::std::convert::From<&IFsrmPipelineModuleDefinition> for IFsrmObject {
6977     fn from(value: &IFsrmPipelineModuleDefinition) -> Self {
6978         ::std::convert::From::from(::std::clone::Clone::clone(value))
6979     }
6980 }
6981 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmPipelineModuleDefinition {
6982     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6983         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
6984     }
6985 }
6986 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmPipelineModuleDefinition {
6987     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
6988         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
6989     }
6990 }
6991 #[cfg(feature = "Win32_System_Ole_Automation")]
6992 impl ::std::convert::From<IFsrmPipelineModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
6993     fn from(value: IFsrmPipelineModuleDefinition) -> Self {
6994         unsafe { ::std::mem::transmute(value) }
6995     }
6996 }
6997 #[cfg(feature = "Win32_System_Ole_Automation")]
6998 impl ::std::convert::From<&IFsrmPipelineModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
6999     fn from(value: &IFsrmPipelineModuleDefinition) -> Self {
7000         ::std::convert::From::from(::std::clone::Clone::clone(value))
7001     }
7002 }
7003 #[cfg(feature = "Win32_System_Ole_Automation")]
7004 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPipelineModuleDefinition {
7005     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7006         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7007     }
7008 }
7009 #[cfg(feature = "Win32_System_Ole_Automation")]
7010 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPipelineModuleDefinition {
7011     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7012         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7013     }
7014 }
7015 #[repr(C)]
7016 #[doc(hidden)]
7017 pub struct IFsrmPipelineModuleDefinition_abi(
7018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7022     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7023     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7024     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7025     #[cfg(not(feature = "Win32_Foundation"))] usize,
7026     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7027     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7028     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7030     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7031     #[cfg(not(feature = "Win32_Foundation"))] usize,
7032     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7033     #[cfg(not(feature = "Win32_Foundation"))] usize,
7034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7036     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7037     #[cfg(not(feature = "Win32_Foundation"))] usize,
7038     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7039     #[cfg(not(feature = "Win32_Foundation"))] usize,
7040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7041     #[cfg(not(feature = "Win32_Foundation"))] usize,
7042     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7043     #[cfg(not(feature = "Win32_Foundation"))] usize,
7044     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7045     #[cfg(not(feature = "Win32_Foundation"))] usize,
7046     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7047     #[cfg(not(feature = "Win32_Foundation"))] usize,
7048     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7049     #[cfg(not(feature = "Win32_Foundation"))] usize,
7050     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7051     #[cfg(not(feature = "Win32_Foundation"))] usize,
7052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: *mut FsrmPipelineModuleType) -> ::windows::runtime::HRESULT,
7053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: *mut i16) -> ::windows::runtime::HRESULT,
7054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: i16) -> ::windows::runtime::HRESULT,
7055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: *mut i16) -> ::windows::runtime::HRESULT,
7056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: i16) -> ::windows::runtime::HRESULT,
7057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: *mut FsrmAccountType) -> ::windows::runtime::HRESULT,
7058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: FsrmAccountType) -> ::windows::runtime::HRESULT,
7059     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7060     #[cfg(not(feature = "Win32_System_Com"))] usize,
7061     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7062     #[cfg(not(feature = "Win32_System_Com"))] usize,
7063     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7064     #[cfg(not(feature = "Win32_System_Com"))] usize,
7065     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7066     #[cfg(not(feature = "Win32_System_Com"))] usize,
7067 );
7068 #[repr(transparent)]
7069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7070 pub struct IFsrmPipelineModuleImplementation(::windows::runtime::IUnknown);
7071 impl IFsrmPipelineModuleImplementation {
7072     pub unsafe fn OnLoad<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition>>(&self, moduledefinition: Param0) -> ::windows::runtime::Result<IFsrmPipelineModuleConnector> {
7073         let mut result__: <IFsrmPipelineModuleConnector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7074         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), moduledefinition.into_param().abi(), &mut result__).from_abi::<IFsrmPipelineModuleConnector>(result__)
7075     }
7076     pub unsafe fn OnUnload(&self) -> ::windows::runtime::Result<()> {
7077         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
7078     }
7079 }
7080 unsafe impl ::windows::runtime::Interface for IFsrmPipelineModuleImplementation {
7081     type Vtable = IFsrmPipelineModuleImplementation_abi;
7082     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3079698694, 11010, 19637, [132, 169, 253, 245, 70, 19, 214, 205]);
7083 }
7084 impl ::std::convert::From<IFsrmPipelineModuleImplementation> for ::windows::runtime::IUnknown {
7085     fn from(value: IFsrmPipelineModuleImplementation) -> Self {
7086         unsafe { ::std::mem::transmute(value) }
7087     }
7088 }
7089 impl ::std::convert::From<&IFsrmPipelineModuleImplementation> for ::windows::runtime::IUnknown {
7090     fn from(value: &IFsrmPipelineModuleImplementation) -> Self {
7091         ::std::convert::From::from(::std::clone::Clone::clone(value))
7092     }
7093 }
7094 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPipelineModuleImplementation {
7095     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7096         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7097     }
7098 }
7099 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPipelineModuleImplementation {
7100     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7101         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7102     }
7103 }
7104 #[cfg(feature = "Win32_System_Ole_Automation")]
7105 impl ::std::convert::From<IFsrmPipelineModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
7106     fn from(value: IFsrmPipelineModuleImplementation) -> Self {
7107         unsafe { ::std::mem::transmute(value) }
7108     }
7109 }
7110 #[cfg(feature = "Win32_System_Ole_Automation")]
7111 impl ::std::convert::From<&IFsrmPipelineModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
7112     fn from(value: &IFsrmPipelineModuleImplementation) -> Self {
7113         ::std::convert::From::from(::std::clone::Clone::clone(value))
7114     }
7115 }
7116 #[cfg(feature = "Win32_System_Ole_Automation")]
7117 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPipelineModuleImplementation {
7118     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7119         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7120     }
7121 }
7122 #[cfg(feature = "Win32_System_Ole_Automation")]
7123 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPipelineModuleImplementation {
7124     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7125         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7126     }
7127 }
7128 #[repr(C)]
7129 #[doc(hidden)]
7130 pub struct IFsrmPipelineModuleImplementation_abi(
7131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7135     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7136     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7138     #[cfg(not(feature = "Win32_Foundation"))] usize,
7139     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7140     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7141     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinition: ::windows::runtime::RawPtr, moduleconnector: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7144 );
7145 #[repr(transparent)]
7146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7147 pub struct IFsrmProperty(::windows::runtime::IUnknown);
7148 impl IFsrmProperty {
7149     #[cfg(feature = "Win32_Foundation")]
7150     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7151         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7152         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7153     }
7154     #[cfg(feature = "Win32_Foundation")]
7155     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7156         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7157         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7158     }
7159     #[cfg(feature = "Win32_System_Com")]
7160     pub unsafe fn Sources(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7161         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7162         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7163     }
7164     pub unsafe fn PropertyFlags(&self) -> ::windows::runtime::Result<i32> {
7165         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7166         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7167     }
7168 }
7169 unsafe impl ::windows::runtime::Interface for IFsrmProperty {
7170     type Vtable = IFsrmProperty_abi;
7171     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1249115876, 16642, 20428, [159, 251, 56, 97, 79, 158, 231, 104]);
7172 }
7173 impl ::std::convert::From<IFsrmProperty> for ::windows::runtime::IUnknown {
7174     fn from(value: IFsrmProperty) -> Self {
7175         unsafe { ::std::mem::transmute(value) }
7176     }
7177 }
7178 impl ::std::convert::From<&IFsrmProperty> for ::windows::runtime::IUnknown {
7179     fn from(value: &IFsrmProperty) -> Self {
7180         ::std::convert::From::from(::std::clone::Clone::clone(value))
7181     }
7182 }
7183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmProperty {
7184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7185         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7186     }
7187 }
7188 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmProperty {
7189     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7190         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7191     }
7192 }
7193 #[cfg(feature = "Win32_System_Ole_Automation")]
7194 impl ::std::convert::From<IFsrmProperty> for super::super::System::Ole::Automation::IDispatch {
7195     fn from(value: IFsrmProperty) -> Self {
7196         unsafe { ::std::mem::transmute(value) }
7197     }
7198 }
7199 #[cfg(feature = "Win32_System_Ole_Automation")]
7200 impl ::std::convert::From<&IFsrmProperty> for super::super::System::Ole::Automation::IDispatch {
7201     fn from(value: &IFsrmProperty) -> Self {
7202         ::std::convert::From::from(::std::clone::Clone::clone(value))
7203     }
7204 }
7205 #[cfg(feature = "Win32_System_Ole_Automation")]
7206 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmProperty {
7207     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7208         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7209     }
7210 }
7211 #[cfg(feature = "Win32_System_Ole_Automation")]
7212 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmProperty {
7213     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7214         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7215     }
7216 }
7217 #[repr(C)]
7218 #[doc(hidden)]
7219 pub struct IFsrmProperty_abi(
7220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7224     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7225     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7226     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7227     #[cfg(not(feature = "Win32_Foundation"))] usize,
7228     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7229     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7230     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7231     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7232     #[cfg(not(feature = "Win32_Foundation"))] usize,
7233     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7234     #[cfg(not(feature = "Win32_Foundation"))] usize,
7235     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sources: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7236     #[cfg(not(feature = "Win32_System_Com"))] usize,
7237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut i32) -> ::windows::runtime::HRESULT,
7238 );
7239 #[repr(transparent)]
7240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7241 pub struct IFsrmPropertyBag(::windows::runtime::IUnknown);
7242 impl IFsrmPropertyBag {
7243     #[cfg(feature = "Win32_Foundation")]
7244     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7245         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7246         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7247     }
7248     #[cfg(feature = "Win32_Foundation")]
7249     pub unsafe fn RelativePath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7250         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7251         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7252     }
7253     #[cfg(feature = "Win32_Foundation")]
7254     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7255         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7256         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7257     }
7258     #[cfg(feature = "Win32_Foundation")]
7259     pub unsafe fn RelativeNamespaceRoot(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7260         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7261         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7262     }
7263     pub unsafe fn VolumeIndex(&self) -> ::windows::runtime::Result<u32> {
7264         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7265         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7266     }
7267     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7268     pub unsafe fn FileId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7269         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7270         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7271     }
7272     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7273     pub unsafe fn ParentDirectoryId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7274         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7275         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7276     }
7277     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7278     pub unsafe fn Size(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7279         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7280         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7281     }
7282     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7283     pub unsafe fn SizeAllocated(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7284         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7285         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7286     }
7287     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7288     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7289         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7290         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7291     }
7292     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7293     pub unsafe fn LastAccessTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7294         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7295         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7296     }
7297     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7298     pub unsafe fn LastModificationTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7299         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7300         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7301     }
7302     pub unsafe fn Attributes(&self) -> ::windows::runtime::Result<u32> {
7303         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7304         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7305     }
7306     #[cfg(feature = "Win32_Foundation")]
7307     pub unsafe fn OwnerSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7308         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7309         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7310     }
7311     #[cfg(feature = "Win32_System_Com")]
7312     pub unsafe fn FilePropertyNames(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7313         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7314         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7315     }
7316     #[cfg(feature = "Win32_System_Com")]
7317     pub unsafe fn Messages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7318         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7319         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7320     }
7321     pub unsafe fn PropertyBagFlags(&self) -> ::windows::runtime::Result<u32> {
7322         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7323         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7324     }
7325     #[cfg(feature = "Win32_Foundation")]
7326     pub unsafe fn GetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmProperty> {
7327         let mut result__: <IFsrmProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7328         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmProperty>(result__)
7329     }
7330     #[cfg(feature = "Win32_Foundation")]
7331     pub unsafe fn SetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: Param1) -> ::windows::runtime::Result<()> {
7332         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), name.into_param().abi(), value.into_param().abi()).ok()
7333     }
7334     #[cfg(feature = "Win32_Foundation")]
7335     pub unsafe fn AddMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, message: Param0) -> ::windows::runtime::Result<()> {
7336         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), message.into_param().abi()).ok()
7337     }
7338     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7339     pub unsafe fn GetFileStreamInterface(&self, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7340         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7341         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(accessmode), ::std::mem::transmute(interfacetype), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7342     }
7343 }
7344 unsafe impl ::windows::runtime::Interface for IFsrmPropertyBag {
7345     type Vtable = IFsrmPropertyBag_abi;
7346     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2001045969, 54016, 20346, [154, 36, 247, 183, 102, 128, 2, 80]);
7347 }
7348 impl ::std::convert::From<IFsrmPropertyBag> for ::windows::runtime::IUnknown {
7349     fn from(value: IFsrmPropertyBag) -> Self {
7350         unsafe { ::std::mem::transmute(value) }
7351     }
7352 }
7353 impl ::std::convert::From<&IFsrmPropertyBag> for ::windows::runtime::IUnknown {
7354     fn from(value: &IFsrmPropertyBag) -> Self {
7355         ::std::convert::From::from(::std::clone::Clone::clone(value))
7356     }
7357 }
7358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyBag {
7359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7361     }
7362 }
7363 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyBag {
7364     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7365         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7366     }
7367 }
7368 #[cfg(feature = "Win32_System_Ole_Automation")]
7369 impl ::std::convert::From<IFsrmPropertyBag> for super::super::System::Ole::Automation::IDispatch {
7370     fn from(value: IFsrmPropertyBag) -> Self {
7371         unsafe { ::std::mem::transmute(value) }
7372     }
7373 }
7374 #[cfg(feature = "Win32_System_Ole_Automation")]
7375 impl ::std::convert::From<&IFsrmPropertyBag> for super::super::System::Ole::Automation::IDispatch {
7376     fn from(value: &IFsrmPropertyBag) -> Self {
7377         ::std::convert::From::from(::std::clone::Clone::clone(value))
7378     }
7379 }
7380 #[cfg(feature = "Win32_System_Ole_Automation")]
7381 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyBag {
7382     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7383         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7384     }
7385 }
7386 #[cfg(feature = "Win32_System_Ole_Automation")]
7387 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyBag {
7388     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7389         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7390     }
7391 }
7392 #[repr(C)]
7393 #[doc(hidden)]
7394 pub struct IFsrmPropertyBag_abi(
7395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7399     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7400     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7401     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7402     #[cfg(not(feature = "Win32_Foundation"))] usize,
7403     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7404     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7405     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7407     #[cfg(not(feature = "Win32_Foundation"))] usize,
7408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7409     #[cfg(not(feature = "Win32_Foundation"))] usize,
7410     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volumename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7411     #[cfg(not(feature = "Win32_Foundation"))] usize,
7412     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, relativenamespaceroot: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7413     #[cfg(not(feature = "Win32_Foundation"))] usize,
7414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volumeid: *mut u32) -> ::windows::runtime::HRESULT,
7415     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fileid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7416     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7417     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parentdirectoryid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7418     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7419     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7420     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7421     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizeallocated: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7422     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7423     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, creationtime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7424     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7425     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastaccesstime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7426     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7427     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastmodificationtime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7428     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributes: *mut u32) -> ::windows::runtime::HRESULT,
7430     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ownersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7431     #[cfg(not(feature = "Win32_Foundation"))] usize,
7432     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepropertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7433     #[cfg(not(feature = "Win32_System_Com"))] usize,
7434     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messages: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7435     #[cfg(not(feature = "Win32_System_Com"))] usize,
7436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut u32) -> ::windows::runtime::HRESULT,
7437     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, fileproperty: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7438     #[cfg(not(feature = "Win32_Foundation"))] usize,
7439     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7440     #[cfg(not(feature = "Win32_Foundation"))] usize,
7441     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, message: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7442     #[cfg(not(feature = "Win32_Foundation"))] usize,
7443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType, pstreaminterface: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7444     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7445 );
7446 #[repr(transparent)]
7447 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7448 pub struct IFsrmPropertyBag2(::windows::runtime::IUnknown);
7449 impl IFsrmPropertyBag2 {
7450     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7451         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7452         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7453     }
7454     #[cfg(feature = "Win32_System_Ole_Automation")]
7455     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7456         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7457         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7458     }
7459     #[cfg(feature = "Win32_Foundation")]
7460     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7461         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7462     }
7463     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7464     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7465         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7466     }
7467     #[cfg(feature = "Win32_Foundation")]
7468     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7469         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7470         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7471     }
7472     #[cfg(feature = "Win32_Foundation")]
7473     pub unsafe fn RelativePath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7474         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7475         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7476     }
7477     #[cfg(feature = "Win32_Foundation")]
7478     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7479         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7480         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7481     }
7482     #[cfg(feature = "Win32_Foundation")]
7483     pub unsafe fn RelativeNamespaceRoot(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7484         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7485         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7486     }
7487     pub unsafe fn VolumeIndex(&self) -> ::windows::runtime::Result<u32> {
7488         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7489         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7490     }
7491     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7492     pub unsafe fn FileId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7493         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7494         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7495     }
7496     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7497     pub unsafe fn ParentDirectoryId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7498         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7499         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7500     }
7501     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7502     pub unsafe fn Size(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7503         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7504         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7505     }
7506     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7507     pub unsafe fn SizeAllocated(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7508         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7509         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7510     }
7511     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7512     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7513         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7514         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7515     }
7516     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7517     pub unsafe fn LastAccessTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7518         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7519         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7520     }
7521     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7522     pub unsafe fn LastModificationTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7523         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7524         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7525     }
7526     pub unsafe fn Attributes(&self) -> ::windows::runtime::Result<u32> {
7527         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7528         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7529     }
7530     #[cfg(feature = "Win32_Foundation")]
7531     pub unsafe fn OwnerSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7532         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7533         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7534     }
7535     #[cfg(feature = "Win32_System_Com")]
7536     pub unsafe fn FilePropertyNames(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7537         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7538         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7539     }
7540     #[cfg(feature = "Win32_System_Com")]
7541     pub unsafe fn Messages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7542         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7543         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7544     }
7545     pub unsafe fn PropertyBagFlags(&self) -> ::windows::runtime::Result<u32> {
7546         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7547         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7548     }
7549     #[cfg(feature = "Win32_Foundation")]
7550     pub unsafe fn GetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmProperty> {
7551         let mut result__: <IFsrmProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7552         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmProperty>(result__)
7553     }
7554     #[cfg(feature = "Win32_Foundation")]
7555     pub unsafe fn SetFileProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: Param1) -> ::windows::runtime::Result<()> {
7556         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), name.into_param().abi(), value.into_param().abi()).ok()
7557     }
7558     #[cfg(feature = "Win32_Foundation")]
7559     pub unsafe fn AddMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, message: Param0) -> ::windows::runtime::Result<()> {
7560         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), message.into_param().abi()).ok()
7561     }
7562     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7563     pub unsafe fn GetFileStreamInterface(&self, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7564         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7565         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(accessmode), ::std::mem::transmute(interfacetype), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7566     }
7567     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7568     pub unsafe fn GetFieldValue(&self, field: FsrmPropertyBagField) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7569         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7570         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(field), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7571     }
7572     pub unsafe fn GetUntrustedInFileProperties(&self) -> ::windows::runtime::Result<IFsrmCollection> {
7573         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7574         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
7575     }
7576 }
7577 unsafe impl ::windows::runtime::Interface for IFsrmPropertyBag2 {
7578     type Vtable = IFsrmPropertyBag2_abi;
7579     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(239517117, 9218, 20461, [156, 48, 146, 102, 230, 235, 44, 201]);
7580 }
7581 impl ::std::convert::From<IFsrmPropertyBag2> for ::windows::runtime::IUnknown {
7582     fn from(value: IFsrmPropertyBag2) -> Self {
7583         unsafe { ::std::mem::transmute(value) }
7584     }
7585 }
7586 impl ::std::convert::From<&IFsrmPropertyBag2> for ::windows::runtime::IUnknown {
7587     fn from(value: &IFsrmPropertyBag2) -> Self {
7588         ::std::convert::From::from(::std::clone::Clone::clone(value))
7589     }
7590 }
7591 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyBag2 {
7592     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7593         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7594     }
7595 }
7596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyBag2 {
7597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7599     }
7600 }
7601 impl ::std::convert::From<IFsrmPropertyBag2> for IFsrmPropertyBag {
7602     fn from(value: IFsrmPropertyBag2) -> Self {
7603         unsafe { ::std::mem::transmute(value) }
7604     }
7605 }
7606 impl ::std::convert::From<&IFsrmPropertyBag2> for IFsrmPropertyBag {
7607     fn from(value: &IFsrmPropertyBag2) -> Self {
7608         ::std::convert::From::from(::std::clone::Clone::clone(value))
7609     }
7610 }
7611 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPropertyBag> for IFsrmPropertyBag2 {
7612     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPropertyBag> {
7613         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPropertyBag>::into(self))
7614     }
7615 }
7616 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPropertyBag> for &IFsrmPropertyBag2 {
7617     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPropertyBag> {
7618         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPropertyBag>::into(::std::clone::Clone::clone(self)))
7619     }
7620 }
7621 #[cfg(feature = "Win32_System_Ole_Automation")]
7622 impl ::std::convert::From<IFsrmPropertyBag2> for super::super::System::Ole::Automation::IDispatch {
7623     fn from(value: IFsrmPropertyBag2) -> Self {
7624         unsafe { ::std::mem::transmute(value) }
7625     }
7626 }
7627 #[cfg(feature = "Win32_System_Ole_Automation")]
7628 impl ::std::convert::From<&IFsrmPropertyBag2> for super::super::System::Ole::Automation::IDispatch {
7629     fn from(value: &IFsrmPropertyBag2) -> Self {
7630         ::std::convert::From::from(::std::clone::Clone::clone(value))
7631     }
7632 }
7633 #[cfg(feature = "Win32_System_Ole_Automation")]
7634 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyBag2 {
7635     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7636         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7637     }
7638 }
7639 #[cfg(feature = "Win32_System_Ole_Automation")]
7640 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyBag2 {
7641     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7642         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7643     }
7644 }
7645 #[repr(C)]
7646 #[doc(hidden)]
7647 pub struct IFsrmPropertyBag2_abi(
7648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7652     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7653     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7654     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7655     #[cfg(not(feature = "Win32_Foundation"))] usize,
7656     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7657     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7658     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7659     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7660     #[cfg(not(feature = "Win32_Foundation"))] usize,
7661     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7662     #[cfg(not(feature = "Win32_Foundation"))] usize,
7663     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volumename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7664     #[cfg(not(feature = "Win32_Foundation"))] usize,
7665     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, relativenamespaceroot: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7666     #[cfg(not(feature = "Win32_Foundation"))] usize,
7667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volumeid: *mut u32) -> ::windows::runtime::HRESULT,
7668     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fileid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7669     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7670     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parentdirectoryid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7671     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7672     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7673     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7674     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizeallocated: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7675     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7676     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, creationtime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7677     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7678     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastaccesstime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7679     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7680     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastmodificationtime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7681     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributes: *mut u32) -> ::windows::runtime::HRESULT,
7683     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ownersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7684     #[cfg(not(feature = "Win32_Foundation"))] usize,
7685     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filepropertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7686     #[cfg(not(feature = "Win32_System_Com"))] usize,
7687     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messages: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7688     #[cfg(not(feature = "Win32_System_Com"))] usize,
7689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut u32) -> ::windows::runtime::HRESULT,
7690     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, fileproperty: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7691     #[cfg(not(feature = "Win32_Foundation"))] usize,
7692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7693     #[cfg(not(feature = "Win32_Foundation"))] usize,
7694     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, message: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7695     #[cfg(not(feature = "Win32_Foundation"))] usize,
7696     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessmode: FsrmFileStreamingMode, interfacetype: FsrmFileStreamingInterfaceType, pstreaminterface: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7697     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7698     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, field: FsrmPropertyBagField, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7699     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, props: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7701 );
7702 #[repr(transparent)]
7703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7704 pub struct IFsrmPropertyCondition(::windows::runtime::IUnknown);
7705 impl IFsrmPropertyCondition {
7706     #[cfg(feature = "Win32_Foundation")]
7707     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7708         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7709         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7710     }
7711     #[cfg(feature = "Win32_Foundation")]
7712     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
7713         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
7714     }
7715     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmPropertyConditionType> {
7716         let mut result__: <FsrmPropertyConditionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7717         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPropertyConditionType>(result__)
7718     }
7719     pub unsafe fn SetType(&self, r#type: FsrmPropertyConditionType) -> ::windows::runtime::Result<()> {
7720         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type)).ok()
7721     }
7722     #[cfg(feature = "Win32_Foundation")]
7723     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7724         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7725         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7726     }
7727     #[cfg(feature = "Win32_Foundation")]
7728     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7729         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
7730     }
7731     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
7732         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
7733     }
7734 }
7735 unsafe impl ::windows::runtime::Interface for IFsrmPropertyCondition {
7736     type Vtable = IFsrmPropertyCondition_abi;
7737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(845870703, 10944, 20328, [191, 140, 71, 89, 240, 84, 250, 41]);
7738 }
7739 impl ::std::convert::From<IFsrmPropertyCondition> for ::windows::runtime::IUnknown {
7740     fn from(value: IFsrmPropertyCondition) -> Self {
7741         unsafe { ::std::mem::transmute(value) }
7742     }
7743 }
7744 impl ::std::convert::From<&IFsrmPropertyCondition> for ::windows::runtime::IUnknown {
7745     fn from(value: &IFsrmPropertyCondition) -> Self {
7746         ::std::convert::From::from(::std::clone::Clone::clone(value))
7747     }
7748 }
7749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyCondition {
7750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7752     }
7753 }
7754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyCondition {
7755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7757     }
7758 }
7759 #[cfg(feature = "Win32_System_Ole_Automation")]
7760 impl ::std::convert::From<IFsrmPropertyCondition> for super::super::System::Ole::Automation::IDispatch {
7761     fn from(value: IFsrmPropertyCondition) -> Self {
7762         unsafe { ::std::mem::transmute(value) }
7763     }
7764 }
7765 #[cfg(feature = "Win32_System_Ole_Automation")]
7766 impl ::std::convert::From<&IFsrmPropertyCondition> for super::super::System::Ole::Automation::IDispatch {
7767     fn from(value: &IFsrmPropertyCondition) -> Self {
7768         ::std::convert::From::from(::std::clone::Clone::clone(value))
7769     }
7770 }
7771 #[cfg(feature = "Win32_System_Ole_Automation")]
7772 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyCondition {
7773     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7774         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7775     }
7776 }
7777 #[cfg(feature = "Win32_System_Ole_Automation")]
7778 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyCondition {
7779     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7780         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7781     }
7782 }
7783 #[repr(C)]
7784 #[doc(hidden)]
7785 pub struct IFsrmPropertyCondition_abi(
7786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7790     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7791     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7793     #[cfg(not(feature = "Win32_Foundation"))] usize,
7794     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7795     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7796     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7797     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7798     #[cfg(not(feature = "Win32_Foundation"))] usize,
7799     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7800     #[cfg(not(feature = "Win32_Foundation"))] usize,
7801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: *mut FsrmPropertyConditionType) -> ::windows::runtime::HRESULT,
7802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: FsrmPropertyConditionType) -> ::windows::runtime::HRESULT,
7803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7804     #[cfg(not(feature = "Win32_Foundation"))] usize,
7805     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7806     #[cfg(not(feature = "Win32_Foundation"))] usize,
7807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7808 );
7809 #[repr(transparent)]
7810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7811 pub struct IFsrmPropertyDefinition(::windows::runtime::IUnknown);
7812 impl IFsrmPropertyDefinition {
7813     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7814         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7815         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7816     }
7817     #[cfg(feature = "Win32_System_Ole_Automation")]
7818     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7819         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7820         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7821     }
7822     #[cfg(feature = "Win32_Foundation")]
7823     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7824         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7825     }
7826     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7827     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7828         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7829     }
7830     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
7831         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7832         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
7833     }
7834     #[cfg(feature = "Win32_Foundation")]
7835     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7836         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7837         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7838     }
7839     #[cfg(feature = "Win32_Foundation")]
7840     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
7841         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
7842     }
7843     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
7844         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
7845     }
7846     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
7847         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
7848     }
7849     #[cfg(feature = "Win32_Foundation")]
7850     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7851         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7852         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7853     }
7854     #[cfg(feature = "Win32_Foundation")]
7855     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
7856         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
7857     }
7858     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmPropertyDefinitionType> {
7859         let mut result__: <FsrmPropertyDefinitionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7860         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPropertyDefinitionType>(result__)
7861     }
7862     pub unsafe fn SetType(&self, r#type: FsrmPropertyDefinitionType) -> ::windows::runtime::Result<()> {
7863         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type)).ok()
7864     }
7865     #[cfg(feature = "Win32_System_Com")]
7866     pub unsafe fn PossibleValues(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7867         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7868         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7869     }
7870     #[cfg(feature = "Win32_System_Com")]
7871     pub unsafe fn SetPossibleValues(&self, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
7872         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(possiblevalues)).ok()
7873     }
7874     #[cfg(feature = "Win32_System_Com")]
7875     pub unsafe fn ValueDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7876         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7877         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7878     }
7879     #[cfg(feature = "Win32_System_Com")]
7880     pub unsafe fn SetValueDescriptions(&self, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
7881         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuedescriptions)).ok()
7882     }
7883     #[cfg(feature = "Win32_System_Com")]
7884     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7885         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7886         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7887     }
7888     #[cfg(feature = "Win32_System_Com")]
7889     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
7890         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
7891     }
7892 }
7893 unsafe impl ::windows::runtime::Interface for IFsrmPropertyDefinition {
7894     type Vtable = IFsrmPropertyDefinition_abi;
7895     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3990885647, 59811, 16796, [135, 124, 1, 254, 93, 36, 197, 211]);
7896 }
7897 impl ::std::convert::From<IFsrmPropertyDefinition> for ::windows::runtime::IUnknown {
7898     fn from(value: IFsrmPropertyDefinition) -> Self {
7899         unsafe { ::std::mem::transmute(value) }
7900     }
7901 }
7902 impl ::std::convert::From<&IFsrmPropertyDefinition> for ::windows::runtime::IUnknown {
7903     fn from(value: &IFsrmPropertyDefinition) -> Self {
7904         ::std::convert::From::from(::std::clone::Clone::clone(value))
7905     }
7906 }
7907 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyDefinition {
7908     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7909         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7910     }
7911 }
7912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyDefinition {
7913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7914         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7915     }
7916 }
7917 impl ::std::convert::From<IFsrmPropertyDefinition> for IFsrmObject {
7918     fn from(value: IFsrmPropertyDefinition) -> Self {
7919         unsafe { ::std::mem::transmute(value) }
7920     }
7921 }
7922 impl ::std::convert::From<&IFsrmPropertyDefinition> for IFsrmObject {
7923     fn from(value: &IFsrmPropertyDefinition) -> Self {
7924         ::std::convert::From::from(::std::clone::Clone::clone(value))
7925     }
7926 }
7927 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmPropertyDefinition {
7928     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
7929         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
7930     }
7931 }
7932 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmPropertyDefinition {
7933     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
7934         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
7935     }
7936 }
7937 #[cfg(feature = "Win32_System_Ole_Automation")]
7938 impl ::std::convert::From<IFsrmPropertyDefinition> for super::super::System::Ole::Automation::IDispatch {
7939     fn from(value: IFsrmPropertyDefinition) -> Self {
7940         unsafe { ::std::mem::transmute(value) }
7941     }
7942 }
7943 #[cfg(feature = "Win32_System_Ole_Automation")]
7944 impl ::std::convert::From<&IFsrmPropertyDefinition> for super::super::System::Ole::Automation::IDispatch {
7945     fn from(value: &IFsrmPropertyDefinition) -> Self {
7946         ::std::convert::From::from(::std::clone::Clone::clone(value))
7947     }
7948 }
7949 #[cfg(feature = "Win32_System_Ole_Automation")]
7950 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyDefinition {
7951     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7952         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7953     }
7954 }
7955 #[cfg(feature = "Win32_System_Ole_Automation")]
7956 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyDefinition {
7957     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7958         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7959     }
7960 }
7961 #[repr(C)]
7962 #[doc(hidden)]
7963 pub struct IFsrmPropertyDefinition_abi(
7964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7968     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7969     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7970     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7971     #[cfg(not(feature = "Win32_Foundation"))] usize,
7972     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7973     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7974     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7976     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7977     #[cfg(not(feature = "Win32_Foundation"))] usize,
7978     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7979     #[cfg(not(feature = "Win32_Foundation"))] usize,
7980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7982     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7983     #[cfg(not(feature = "Win32_Foundation"))] usize,
7984     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7985     #[cfg(not(feature = "Win32_Foundation"))] usize,
7986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: *mut FsrmPropertyDefinitionType) -> ::windows::runtime::HRESULT,
7987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: FsrmPropertyDefinitionType) -> ::windows::runtime::HRESULT,
7988     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, possiblevalues: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7989     #[cfg(not(feature = "Win32_System_Com"))] usize,
7990     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7991     #[cfg(not(feature = "Win32_System_Com"))] usize,
7992     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuedescriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7993     #[cfg(not(feature = "Win32_System_Com"))] usize,
7994     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7995     #[cfg(not(feature = "Win32_System_Com"))] usize,
7996     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7997     #[cfg(not(feature = "Win32_System_Com"))] usize,
7998     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7999     #[cfg(not(feature = "Win32_System_Com"))] usize,
8000 );
8001 #[repr(transparent)]
8002 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8003 pub struct IFsrmPropertyDefinition2(::windows::runtime::IUnknown);
8004 impl IFsrmPropertyDefinition2 {
8005     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
8006         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8007         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8008     }
8009     #[cfg(feature = "Win32_System_Ole_Automation")]
8010     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
8011         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8012         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
8013     }
8014     #[cfg(feature = "Win32_Foundation")]
8015     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
8016         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
8017     }
8018     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8019     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
8020         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
8021     }
8022     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
8023         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8024         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
8025     }
8026     #[cfg(feature = "Win32_Foundation")]
8027     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8028         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8029         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8030     }
8031     #[cfg(feature = "Win32_Foundation")]
8032     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
8033         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
8034     }
8035     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
8036         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
8037     }
8038     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
8039         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
8040     }
8041     #[cfg(feature = "Win32_Foundation")]
8042     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8043         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8044         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8045     }
8046     #[cfg(feature = "Win32_Foundation")]
8047     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
8048         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
8049     }
8050     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmPropertyDefinitionType> {
8051         let mut result__: <FsrmPropertyDefinitionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8052         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPropertyDefinitionType>(result__)
8053     }
8054     pub unsafe fn SetType(&self, r#type: FsrmPropertyDefinitionType) -> ::windows::runtime::Result<()> {
8055         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type)).ok()
8056     }
8057     #[cfg(feature = "Win32_System_Com")]
8058     pub unsafe fn PossibleValues(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8059         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8060         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8061     }
8062     #[cfg(feature = "Win32_System_Com")]
8063     pub unsafe fn SetPossibleValues(&self, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
8064         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(possiblevalues)).ok()
8065     }
8066     #[cfg(feature = "Win32_System_Com")]
8067     pub unsafe fn ValueDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8068         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8069         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8070     }
8071     #[cfg(feature = "Win32_System_Com")]
8072     pub unsafe fn SetValueDescriptions(&self, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
8073         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuedescriptions)).ok()
8074     }
8075     #[cfg(feature = "Win32_System_Com")]
8076     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8077         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8078         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8079     }
8080     #[cfg(feature = "Win32_System_Com")]
8081     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
8082         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
8083     }
8084     pub unsafe fn PropertyDefinitionFlags(&self) -> ::windows::runtime::Result<i32> {
8085         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8086         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8087     }
8088     #[cfg(feature = "Win32_Foundation")]
8089     pub unsafe fn DisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8090         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8091         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8092     }
8093     #[cfg(feature = "Win32_Foundation")]
8094     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
8095         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
8096     }
8097     pub unsafe fn AppliesTo(&self) -> ::windows::runtime::Result<i32> {
8098         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8099         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8100     }
8101     pub unsafe fn ValueDefinitions(&self) -> ::windows::runtime::Result<IFsrmCollection> {
8102         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8103         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
8104     }
8105 }
8106 unsafe impl ::windows::runtime::Interface for IFsrmPropertyDefinition2 {
8107     type Vtable = IFsrmPropertyDefinition2_abi;
8108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1199055186, 53612, 16937, [180, 225, 13, 223, 227, 8, 185, 246]);
8109 }
8110 impl ::std::convert::From<IFsrmPropertyDefinition2> for ::windows::runtime::IUnknown {
8111     fn from(value: IFsrmPropertyDefinition2) -> Self {
8112         unsafe { ::std::mem::transmute(value) }
8113     }
8114 }
8115 impl ::std::convert::From<&IFsrmPropertyDefinition2> for ::windows::runtime::IUnknown {
8116     fn from(value: &IFsrmPropertyDefinition2) -> Self {
8117         ::std::convert::From::from(::std::clone::Clone::clone(value))
8118     }
8119 }
8120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyDefinition2 {
8121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8122         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8123     }
8124 }
8125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyDefinition2 {
8126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8128     }
8129 }
8130 impl ::std::convert::From<IFsrmPropertyDefinition2> for IFsrmPropertyDefinition {
8131     fn from(value: IFsrmPropertyDefinition2) -> Self {
8132         unsafe { ::std::mem::transmute(value) }
8133     }
8134 }
8135 impl ::std::convert::From<&IFsrmPropertyDefinition2> for IFsrmPropertyDefinition {
8136     fn from(value: &IFsrmPropertyDefinition2) -> Self {
8137         ::std::convert::From::from(::std::clone::Clone::clone(value))
8138     }
8139 }
8140 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPropertyDefinition> for IFsrmPropertyDefinition2 {
8141     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPropertyDefinition> {
8142         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPropertyDefinition>::into(self))
8143     }
8144 }
8145 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPropertyDefinition> for &IFsrmPropertyDefinition2 {
8146     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPropertyDefinition> {
8147         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPropertyDefinition>::into(::std::clone::Clone::clone(self)))
8148     }
8149 }
8150 impl ::std::convert::From<IFsrmPropertyDefinition2> for IFsrmObject {
8151     fn from(value: IFsrmPropertyDefinition2) -> Self {
8152         unsafe { ::std::mem::transmute(value) }
8153     }
8154 }
8155 impl ::std::convert::From<&IFsrmPropertyDefinition2> for IFsrmObject {
8156     fn from(value: &IFsrmPropertyDefinition2) -> Self {
8157         ::std::convert::From::from(::std::clone::Clone::clone(value))
8158     }
8159 }
8160 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmPropertyDefinition2 {
8161     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8162         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
8163     }
8164 }
8165 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmPropertyDefinition2 {
8166     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8167         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
8168     }
8169 }
8170 #[cfg(feature = "Win32_System_Ole_Automation")]
8171 impl ::std::convert::From<IFsrmPropertyDefinition2> for super::super::System::Ole::Automation::IDispatch {
8172     fn from(value: IFsrmPropertyDefinition2) -> Self {
8173         unsafe { ::std::mem::transmute(value) }
8174     }
8175 }
8176 #[cfg(feature = "Win32_System_Ole_Automation")]
8177 impl ::std::convert::From<&IFsrmPropertyDefinition2> for super::super::System::Ole::Automation::IDispatch {
8178     fn from(value: &IFsrmPropertyDefinition2) -> Self {
8179         ::std::convert::From::from(::std::clone::Clone::clone(value))
8180     }
8181 }
8182 #[cfg(feature = "Win32_System_Ole_Automation")]
8183 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyDefinition2 {
8184     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8185         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8186     }
8187 }
8188 #[cfg(feature = "Win32_System_Ole_Automation")]
8189 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyDefinition2 {
8190     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8191         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8192     }
8193 }
8194 #[repr(C)]
8195 #[doc(hidden)]
8196 pub struct IFsrmPropertyDefinition2_abi(
8197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8201     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8202     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8203     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8204     #[cfg(not(feature = "Win32_Foundation"))] usize,
8205     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8206     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8207     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
8209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8210     #[cfg(not(feature = "Win32_Foundation"))] usize,
8211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8212     #[cfg(not(feature = "Win32_Foundation"))] usize,
8213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8215     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8216     #[cfg(not(feature = "Win32_Foundation"))] usize,
8217     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8218     #[cfg(not(feature = "Win32_Foundation"))] usize,
8219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: *mut FsrmPropertyDefinitionType) -> ::windows::runtime::HRESULT,
8220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: FsrmPropertyDefinitionType) -> ::windows::runtime::HRESULT,
8221     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, possiblevalues: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8222     #[cfg(not(feature = "Win32_System_Com"))] usize,
8223     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, possiblevalues: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8224     #[cfg(not(feature = "Win32_System_Com"))] usize,
8225     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuedescriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8226     #[cfg(not(feature = "Win32_System_Com"))] usize,
8227     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuedescriptions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8228     #[cfg(not(feature = "Win32_System_Com"))] usize,
8229     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8230     #[cfg(not(feature = "Win32_System_Com"))] usize,
8231     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8232     #[cfg(not(feature = "Win32_System_Com"))] usize,
8233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertydefinitionflags: *mut i32) -> ::windows::runtime::HRESULT,
8234     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8235     #[cfg(not(feature = "Win32_Foundation"))] usize,
8236     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8237     #[cfg(not(feature = "Win32_Foundation"))] usize,
8238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, appliesto: *mut i32) -> ::windows::runtime::HRESULT,
8239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuedefinitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8240 );
8241 #[repr(transparent)]
8242 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8243 pub struct IFsrmPropertyDefinitionValue(::windows::runtime::IUnknown);
8244 impl IFsrmPropertyDefinitionValue {
8245     #[cfg(feature = "Win32_Foundation")]
8246     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8247         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8248         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8249     }
8250     #[cfg(feature = "Win32_Foundation")]
8251     pub unsafe fn DisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8252         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8253         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8254     }
8255     #[cfg(feature = "Win32_Foundation")]
8256     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8257         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8258         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8259     }
8260     #[cfg(feature = "Win32_Foundation")]
8261     pub unsafe fn UniqueID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8262         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8263         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8264     }
8265 }
8266 unsafe impl ::windows::runtime::Interface for IFsrmPropertyDefinitionValue {
8267     type Vtable = IFsrmPropertyDefinitionValue_abi;
8268     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3913732424, 48487, 16760, [142, 34, 28, 68, 146, 94, 215, 16]);
8269 }
8270 impl ::std::convert::From<IFsrmPropertyDefinitionValue> for ::windows::runtime::IUnknown {
8271     fn from(value: IFsrmPropertyDefinitionValue) -> Self {
8272         unsafe { ::std::mem::transmute(value) }
8273     }
8274 }
8275 impl ::std::convert::From<&IFsrmPropertyDefinitionValue> for ::windows::runtime::IUnknown {
8276     fn from(value: &IFsrmPropertyDefinitionValue) -> Self {
8277         ::std::convert::From::from(::std::clone::Clone::clone(value))
8278     }
8279 }
8280 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmPropertyDefinitionValue {
8281     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8282         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8283     }
8284 }
8285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmPropertyDefinitionValue {
8286     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8287         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8288     }
8289 }
8290 #[cfg(feature = "Win32_System_Ole_Automation")]
8291 impl ::std::convert::From<IFsrmPropertyDefinitionValue> for super::super::System::Ole::Automation::IDispatch {
8292     fn from(value: IFsrmPropertyDefinitionValue) -> Self {
8293         unsafe { ::std::mem::transmute(value) }
8294     }
8295 }
8296 #[cfg(feature = "Win32_System_Ole_Automation")]
8297 impl ::std::convert::From<&IFsrmPropertyDefinitionValue> for super::super::System::Ole::Automation::IDispatch {
8298     fn from(value: &IFsrmPropertyDefinitionValue) -> Self {
8299         ::std::convert::From::from(::std::clone::Clone::clone(value))
8300     }
8301 }
8302 #[cfg(feature = "Win32_System_Ole_Automation")]
8303 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmPropertyDefinitionValue {
8304     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8305         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8306     }
8307 }
8308 #[cfg(feature = "Win32_System_Ole_Automation")]
8309 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmPropertyDefinitionValue {
8310     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8311         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8312     }
8313 }
8314 #[repr(C)]
8315 #[doc(hidden)]
8316 pub struct IFsrmPropertyDefinitionValue_abi(
8317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8321     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8322     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8323     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8324     #[cfg(not(feature = "Win32_Foundation"))] usize,
8325     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8326     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8327     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8329     #[cfg(not(feature = "Win32_Foundation"))] usize,
8330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8331     #[cfg(not(feature = "Win32_Foundation"))] usize,
8332     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8333     #[cfg(not(feature = "Win32_Foundation"))] usize,
8334     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniqueid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8335     #[cfg(not(feature = "Win32_Foundation"))] usize,
8336 );
8337 #[repr(transparent)]
8338 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8339 pub struct IFsrmQuota(::windows::runtime::IUnknown);
8340 impl IFsrmQuota {
8341     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
8342         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8343         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8344     }
8345     #[cfg(feature = "Win32_System_Ole_Automation")]
8346     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
8347         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8348         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
8349     }
8350     #[cfg(feature = "Win32_Foundation")]
8351     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
8352         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
8353     }
8354     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8355     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
8356         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
8357     }
8358     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
8359         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8360         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
8361     }
8362     #[cfg(feature = "Win32_Foundation")]
8363     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8364         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8365         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8366     }
8367     #[cfg(feature = "Win32_Foundation")]
8368     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
8369         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
8370     }
8371     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
8372         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
8373     }
8374     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
8375         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
8376     }
8377     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8378     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8379         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8380         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8381     }
8382     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8383     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
8384         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
8385     }
8386     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
8387         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8388         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8389     }
8390     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
8391         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
8392     }
8393     #[cfg(feature = "Win32_System_Com")]
8394     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8395         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8396         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8397     }
8398     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
8399         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
8400     }
8401     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
8402         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
8403     }
8404     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
8405         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
8406     }
8407     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
8408         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8409         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
8410     }
8411     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
8412         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8413         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
8414     }
8415     #[cfg(feature = "Win32_Foundation")]
8416     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8417         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8418         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8419     }
8420     #[cfg(feature = "Win32_Foundation")]
8421     pub unsafe fn UserSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8422         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8423         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8424     }
8425     #[cfg(feature = "Win32_Foundation")]
8426     pub unsafe fn UserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8427         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8428         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8429     }
8430     #[cfg(feature = "Win32_Foundation")]
8431     pub unsafe fn SourceTemplateName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8432         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8433         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8434     }
8435     pub unsafe fn MatchesSourceTemplate(&self) -> ::windows::runtime::Result<i16> {
8436         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8437         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
8438     }
8439     #[cfg(feature = "Win32_Foundation")]
8440     pub unsafe fn ApplyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0) -> ::windows::runtime::Result<()> {
8441         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi()).ok()
8442     }
8443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8444     pub unsafe fn QuotaUsed(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8445         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8446         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8447     }
8448     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8449     pub unsafe fn QuotaPeakUsage(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8450         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8451         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8452     }
8453     pub unsafe fn QuotaPeakUsageTime(&self) -> ::windows::runtime::Result<f64> {
8454         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8455         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
8456     }
8457     pub unsafe fn ResetPeakUsage(&self) -> ::windows::runtime::Result<()> {
8458         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self)).ok()
8459     }
8460     pub unsafe fn RefreshUsageProperties(&self) -> ::windows::runtime::Result<()> {
8461         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self)).ok()
8462     }
8463 }
8464 unsafe impl ::windows::runtime::Interface for IFsrmQuota {
8465     type Vtable = IFsrmQuota_abi;
8466     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(931099549, 38471, 19342, [151, 210, 95, 252, 230, 215, 89, 205]);
8467 }
8468 impl ::std::convert::From<IFsrmQuota> for ::windows::runtime::IUnknown {
8469     fn from(value: IFsrmQuota) -> Self {
8470         unsafe { ::std::mem::transmute(value) }
8471     }
8472 }
8473 impl ::std::convert::From<&IFsrmQuota> for ::windows::runtime::IUnknown {
8474     fn from(value: &IFsrmQuota) -> Self {
8475         ::std::convert::From::from(::std::clone::Clone::clone(value))
8476     }
8477 }
8478 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuota {
8479     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8480         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8481     }
8482 }
8483 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuota {
8484     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8485         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8486     }
8487 }
8488 impl ::std::convert::From<IFsrmQuota> for IFsrmQuotaObject {
8489     fn from(value: IFsrmQuota) -> Self {
8490         unsafe { ::std::mem::transmute(value) }
8491     }
8492 }
8493 impl ::std::convert::From<&IFsrmQuota> for IFsrmQuotaObject {
8494     fn from(value: &IFsrmQuota) -> Self {
8495         ::std::convert::From::from(::std::clone::Clone::clone(value))
8496     }
8497 }
8498 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaObject> for IFsrmQuota {
8499     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaObject> {
8500         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaObject>::into(self))
8501     }
8502 }
8503 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaObject> for &IFsrmQuota {
8504     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaObject> {
8505         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaObject>::into(::std::clone::Clone::clone(self)))
8506     }
8507 }
8508 impl ::std::convert::From<IFsrmQuota> for IFsrmQuotaBase {
8509     fn from(value: IFsrmQuota) -> Self {
8510         unsafe { ::std::mem::transmute(value) }
8511     }
8512 }
8513 impl ::std::convert::From<&IFsrmQuota> for IFsrmQuotaBase {
8514     fn from(value: &IFsrmQuota) -> Self {
8515         ::std::convert::From::from(::std::clone::Clone::clone(value))
8516     }
8517 }
8518 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for IFsrmQuota {
8519     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
8520         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(self))
8521     }
8522 }
8523 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for &IFsrmQuota {
8524     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
8525         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(::std::clone::Clone::clone(self)))
8526     }
8527 }
8528 impl ::std::convert::From<IFsrmQuota> for IFsrmObject {
8529     fn from(value: IFsrmQuota) -> Self {
8530         unsafe { ::std::mem::transmute(value) }
8531     }
8532 }
8533 impl ::std::convert::From<&IFsrmQuota> for IFsrmObject {
8534     fn from(value: &IFsrmQuota) -> Self {
8535         ::std::convert::From::from(::std::clone::Clone::clone(value))
8536     }
8537 }
8538 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmQuota {
8539     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8540         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
8541     }
8542 }
8543 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmQuota {
8544     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8545         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
8546     }
8547 }
8548 #[cfg(feature = "Win32_System_Ole_Automation")]
8549 impl ::std::convert::From<IFsrmQuota> for super::super::System::Ole::Automation::IDispatch {
8550     fn from(value: IFsrmQuota) -> Self {
8551         unsafe { ::std::mem::transmute(value) }
8552     }
8553 }
8554 #[cfg(feature = "Win32_System_Ole_Automation")]
8555 impl ::std::convert::From<&IFsrmQuota> for super::super::System::Ole::Automation::IDispatch {
8556     fn from(value: &IFsrmQuota) -> Self {
8557         ::std::convert::From::from(::std::clone::Clone::clone(value))
8558     }
8559 }
8560 #[cfg(feature = "Win32_System_Ole_Automation")]
8561 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuota {
8562     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8563         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8564     }
8565 }
8566 #[cfg(feature = "Win32_System_Ole_Automation")]
8567 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuota {
8568     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8569         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8570     }
8571 }
8572 #[repr(C)]
8573 #[doc(hidden)]
8574 pub struct IFsrmQuota_abi(
8575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8579     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8580     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8581     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8582     #[cfg(not(feature = "Win32_Foundation"))] usize,
8583     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8584     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8585     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
8587     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8588     #[cfg(not(feature = "Win32_Foundation"))] usize,
8589     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8590     #[cfg(not(feature = "Win32_Foundation"))] usize,
8591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8593     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8594     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8595     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8596     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
8598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
8599     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8600     #[cfg(not(feature = "Win32_System_Com"))] usize,
8601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
8602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
8603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
8604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8607     #[cfg(not(feature = "Win32_Foundation"))] usize,
8608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8609     #[cfg(not(feature = "Win32_Foundation"))] usize,
8610     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, useraccount: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8611     #[cfg(not(feature = "Win32_Foundation"))] usize,
8612     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8613     #[cfg(not(feature = "Win32_Foundation"))] usize,
8614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, matches: *mut i16) -> ::windows::runtime::HRESULT,
8615     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8616     #[cfg(not(feature = "Win32_Foundation"))] usize,
8617     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, used: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8618     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8619     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peakusage: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8620     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peakusagedatetime: *mut f64) -> ::windows::runtime::HRESULT,
8622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8624 );
8625 #[repr(transparent)]
8626 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8627 pub struct IFsrmQuotaBase(::windows::runtime::IUnknown);
8628 impl IFsrmQuotaBase {
8629     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
8630         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8631         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8632     }
8633     #[cfg(feature = "Win32_System_Ole_Automation")]
8634     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
8635         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8636         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
8637     }
8638     #[cfg(feature = "Win32_Foundation")]
8639     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
8640         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
8641     }
8642     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8643     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
8644         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
8645     }
8646     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
8647         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8648         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
8649     }
8650     #[cfg(feature = "Win32_Foundation")]
8651     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8652         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8653         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8654     }
8655     #[cfg(feature = "Win32_Foundation")]
8656     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
8657         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
8658     }
8659     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
8660         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
8661     }
8662     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
8663         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
8664     }
8665     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8666     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8667         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8668         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8669     }
8670     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8671     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
8672         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
8673     }
8674     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
8675         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8676         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8677     }
8678     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
8679         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
8680     }
8681     #[cfg(feature = "Win32_System_Com")]
8682     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8683         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8684         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8685     }
8686     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
8687         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
8688     }
8689     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
8690         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
8691     }
8692     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
8693         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
8694     }
8695     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
8696         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8697         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
8698     }
8699     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
8700         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8701         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
8702     }
8703 }
8704 unsafe impl ::windows::runtime::Interface for IFsrmQuotaBase {
8705     type Vtable = IFsrmQuotaBase_abi;
8706     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(359180181, 14628, 16664, [183, 75, 104, 216, 240, 250, 93, 175]);
8707 }
8708 impl ::std::convert::From<IFsrmQuotaBase> for ::windows::runtime::IUnknown {
8709     fn from(value: IFsrmQuotaBase) -> Self {
8710         unsafe { ::std::mem::transmute(value) }
8711     }
8712 }
8713 impl ::std::convert::From<&IFsrmQuotaBase> for ::windows::runtime::IUnknown {
8714     fn from(value: &IFsrmQuotaBase) -> Self {
8715         ::std::convert::From::from(::std::clone::Clone::clone(value))
8716     }
8717 }
8718 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaBase {
8719     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8720         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8721     }
8722 }
8723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaBase {
8724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8726     }
8727 }
8728 impl ::std::convert::From<IFsrmQuotaBase> for IFsrmObject {
8729     fn from(value: IFsrmQuotaBase) -> Self {
8730         unsafe { ::std::mem::transmute(value) }
8731     }
8732 }
8733 impl ::std::convert::From<&IFsrmQuotaBase> for IFsrmObject {
8734     fn from(value: &IFsrmQuotaBase) -> Self {
8735         ::std::convert::From::from(::std::clone::Clone::clone(value))
8736     }
8737 }
8738 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmQuotaBase {
8739     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8740         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
8741     }
8742 }
8743 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmQuotaBase {
8744     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
8745         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
8746     }
8747 }
8748 #[cfg(feature = "Win32_System_Ole_Automation")]
8749 impl ::std::convert::From<IFsrmQuotaBase> for super::super::System::Ole::Automation::IDispatch {
8750     fn from(value: IFsrmQuotaBase) -> Self {
8751         unsafe { ::std::mem::transmute(value) }
8752     }
8753 }
8754 #[cfg(feature = "Win32_System_Ole_Automation")]
8755 impl ::std::convert::From<&IFsrmQuotaBase> for super::super::System::Ole::Automation::IDispatch {
8756     fn from(value: &IFsrmQuotaBase) -> Self {
8757         ::std::convert::From::from(::std::clone::Clone::clone(value))
8758     }
8759 }
8760 #[cfg(feature = "Win32_System_Ole_Automation")]
8761 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaBase {
8762     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8763         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8764     }
8765 }
8766 #[cfg(feature = "Win32_System_Ole_Automation")]
8767 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaBase {
8768     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8769         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8770     }
8771 }
8772 #[repr(C)]
8773 #[doc(hidden)]
8774 pub struct IFsrmQuotaBase_abi(
8775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8779     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8780     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8781     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8782     #[cfg(not(feature = "Win32_Foundation"))] usize,
8783     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8784     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8785     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
8787     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8788     #[cfg(not(feature = "Win32_Foundation"))] usize,
8789     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8790     #[cfg(not(feature = "Win32_Foundation"))] usize,
8791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8793     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8794     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8795     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8796     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
8798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
8799     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8800     #[cfg(not(feature = "Win32_System_Com"))] usize,
8801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
8802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
8803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
8804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8806 );
8807 #[repr(transparent)]
8808 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8809 pub struct IFsrmQuotaManager(::windows::runtime::IUnknown);
8810 impl IFsrmQuotaManager {
8811     #[cfg(feature = "Win32_System_Com")]
8812     pub unsafe fn ActionVariables(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8813         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8814         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8815     }
8816     #[cfg(feature = "Win32_System_Com")]
8817     pub unsafe fn ActionVariableDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8818         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8819         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8820     }
8821     #[cfg(feature = "Win32_Foundation")]
8822     pub unsafe fn CreateQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
8823         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8824         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
8825     }
8826     #[cfg(feature = "Win32_Foundation")]
8827     pub unsafe fn CreateAutoApplyQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0, path: Param1) -> ::windows::runtime::Result<IFsrmAutoApplyQuota> {
8828         let mut result__: <IFsrmAutoApplyQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8829         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).from_abi::<IFsrmAutoApplyQuota>(result__)
8830     }
8831     #[cfg(feature = "Win32_Foundation")]
8832     pub unsafe fn GetQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
8833         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8834         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
8835     }
8836     #[cfg(feature = "Win32_Foundation")]
8837     pub unsafe fn GetAutoApplyQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmAutoApplyQuota> {
8838         let mut result__: <IFsrmAutoApplyQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8839         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmAutoApplyQuota>(result__)
8840     }
8841     #[cfg(feature = "Win32_Foundation")]
8842     pub unsafe fn GetRestrictiveQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
8843         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8844         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
8845     }
8846     #[cfg(feature = "Win32_Foundation")]
8847     pub unsafe fn EnumQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
8848         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8849         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
8850     }
8851     #[cfg(feature = "Win32_Foundation")]
8852     pub unsafe fn EnumAutoApplyQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
8853         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8854         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
8855     }
8856     #[cfg(feature = "Win32_Foundation")]
8857     pub unsafe fn EnumEffectiveQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
8858         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8859         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
8860     }
8861     #[cfg(feature = "Win32_Foundation")]
8862     pub unsafe fn Scan<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, strpath: Param0) -> ::windows::runtime::Result<()> {
8863         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), strpath.into_param().abi()).ok()
8864     }
8865     pub unsafe fn CreateQuotaCollection(&self) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
8866         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8867         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
8868     }
8869 }
8870 unsafe impl ::windows::runtime::Interface for IFsrmQuotaManager {
8871     type Vtable = IFsrmQuotaManager_abi;
8872     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2343996541, 6616, 20475, [128, 158, 190, 79, 193, 115, 64, 20]);
8873 }
8874 impl ::std::convert::From<IFsrmQuotaManager> for ::windows::runtime::IUnknown {
8875     fn from(value: IFsrmQuotaManager) -> Self {
8876         unsafe { ::std::mem::transmute(value) }
8877     }
8878 }
8879 impl ::std::convert::From<&IFsrmQuotaManager> for ::windows::runtime::IUnknown {
8880     fn from(value: &IFsrmQuotaManager) -> Self {
8881         ::std::convert::From::from(::std::clone::Clone::clone(value))
8882     }
8883 }
8884 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaManager {
8885     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8886         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8887     }
8888 }
8889 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaManager {
8890     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8891         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8892     }
8893 }
8894 #[cfg(feature = "Win32_System_Ole_Automation")]
8895 impl ::std::convert::From<IFsrmQuotaManager> for super::super::System::Ole::Automation::IDispatch {
8896     fn from(value: IFsrmQuotaManager) -> Self {
8897         unsafe { ::std::mem::transmute(value) }
8898     }
8899 }
8900 #[cfg(feature = "Win32_System_Ole_Automation")]
8901 impl ::std::convert::From<&IFsrmQuotaManager> for super::super::System::Ole::Automation::IDispatch {
8902     fn from(value: &IFsrmQuotaManager) -> Self {
8903         ::std::convert::From::from(::std::clone::Clone::clone(value))
8904     }
8905 }
8906 #[cfg(feature = "Win32_System_Ole_Automation")]
8907 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaManager {
8908     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8909         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8910     }
8911 }
8912 #[cfg(feature = "Win32_System_Ole_Automation")]
8913 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaManager {
8914     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8915         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8916     }
8917 }
8918 #[repr(C)]
8919 #[doc(hidden)]
8920 pub struct IFsrmQuotaManager_abi(
8921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8925     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8926     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8928     #[cfg(not(feature = "Win32_Foundation"))] usize,
8929     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8930     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8931     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8932     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variables: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8933     #[cfg(not(feature = "Win32_System_Com"))] usize,
8934     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8935     #[cfg(not(feature = "Win32_System_Com"))] usize,
8936     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8937     #[cfg(not(feature = "Win32_Foundation"))] usize,
8938     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8939     #[cfg(not(feature = "Win32_Foundation"))] usize,
8940     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8941     #[cfg(not(feature = "Win32_Foundation"))] usize,
8942     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8943     #[cfg(not(feature = "Win32_Foundation"))] usize,
8944     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8945     #[cfg(not(feature = "Win32_Foundation"))] usize,
8946     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8947     #[cfg(not(feature = "Win32_Foundation"))] usize,
8948     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8949     #[cfg(not(feature = "Win32_Foundation"))] usize,
8950     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8951     #[cfg(not(feature = "Win32_Foundation"))] usize,
8952     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8953     #[cfg(not(feature = "Win32_Foundation"))] usize,
8954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, collection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8955 );
8956 #[repr(transparent)]
8957 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8958 pub struct IFsrmQuotaManagerEx(::windows::runtime::IUnknown);
8959 impl IFsrmQuotaManagerEx {
8960     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
8961         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8962         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8963     }
8964     #[cfg(feature = "Win32_System_Ole_Automation")]
8965     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
8966         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8967         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
8968     }
8969     #[cfg(feature = "Win32_Foundation")]
8970     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
8971         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
8972     }
8973     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8974     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
8975         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
8976     }
8977     #[cfg(feature = "Win32_System_Com")]
8978     pub unsafe fn ActionVariables(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8979         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8980         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8981     }
8982     #[cfg(feature = "Win32_System_Com")]
8983     pub unsafe fn ActionVariableDescriptions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8984         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8985         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8986     }
8987     #[cfg(feature = "Win32_Foundation")]
8988     pub unsafe fn CreateQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
8989         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8990         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
8991     }
8992     #[cfg(feature = "Win32_Foundation")]
8993     pub unsafe fn CreateAutoApplyQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0, path: Param1) -> ::windows::runtime::Result<IFsrmAutoApplyQuota> {
8994         let mut result__: <IFsrmAutoApplyQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8995         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi(), path.into_param().abi(), &mut result__).from_abi::<IFsrmAutoApplyQuota>(result__)
8996     }
8997     #[cfg(feature = "Win32_Foundation")]
8998     pub unsafe fn GetQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
8999         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9000         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
9001     }
9002     #[cfg(feature = "Win32_Foundation")]
9003     pub unsafe fn GetAutoApplyQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmAutoApplyQuota> {
9004         let mut result__: <IFsrmAutoApplyQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9005         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmAutoApplyQuota>(result__)
9006     }
9007     #[cfg(feature = "Win32_Foundation")]
9008     pub unsafe fn GetRestrictiveQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsrmQuota> {
9009         let mut result__: <IFsrmQuota as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9010         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsrmQuota>(result__)
9011     }
9012     #[cfg(feature = "Win32_Foundation")]
9013     pub unsafe fn EnumQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9014         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9015         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9016     }
9017     #[cfg(feature = "Win32_Foundation")]
9018     pub unsafe fn EnumAutoApplyQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9019         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9020         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9021     }
9022     #[cfg(feature = "Win32_Foundation")]
9023     pub unsafe fn EnumEffectiveQuotas<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9024         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9025         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9026     }
9027     #[cfg(feature = "Win32_Foundation")]
9028     pub unsafe fn Scan<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, strpath: Param0) -> ::windows::runtime::Result<()> {
9029         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), strpath.into_param().abi()).ok()
9030     }
9031     pub unsafe fn CreateQuotaCollection(&self) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9032         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9033         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9034     }
9035     #[cfg(feature = "Win32_Foundation")]
9036     pub unsafe fn IsAffectedByQuota<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0, options: FsrmEnumOptions) -> ::windows::runtime::Result<i16> {
9037         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9038         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), path.into_param().abi(), ::std::mem::transmute(options), &mut result__).from_abi::<i16>(result__)
9039     }
9040 }
9041 unsafe impl ::windows::runtime::Interface for IFsrmQuotaManagerEx {
9042     type Vtable = IFsrmQuotaManagerEx_abi;
9043     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1212599041, 54320, 18767, [171, 180, 177, 5, 73, 153, 251, 9]);
9044 }
9045 impl ::std::convert::From<IFsrmQuotaManagerEx> for ::windows::runtime::IUnknown {
9046     fn from(value: IFsrmQuotaManagerEx) -> Self {
9047         unsafe { ::std::mem::transmute(value) }
9048     }
9049 }
9050 impl ::std::convert::From<&IFsrmQuotaManagerEx> for ::windows::runtime::IUnknown {
9051     fn from(value: &IFsrmQuotaManagerEx) -> Self {
9052         ::std::convert::From::from(::std::clone::Clone::clone(value))
9053     }
9054 }
9055 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaManagerEx {
9056     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9057         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9058     }
9059 }
9060 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaManagerEx {
9061     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9062         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9063     }
9064 }
9065 impl ::std::convert::From<IFsrmQuotaManagerEx> for IFsrmQuotaManager {
9066     fn from(value: IFsrmQuotaManagerEx) -> Self {
9067         unsafe { ::std::mem::transmute(value) }
9068     }
9069 }
9070 impl ::std::convert::From<&IFsrmQuotaManagerEx> for IFsrmQuotaManager {
9071     fn from(value: &IFsrmQuotaManagerEx) -> Self {
9072         ::std::convert::From::from(::std::clone::Clone::clone(value))
9073     }
9074 }
9075 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaManager> for IFsrmQuotaManagerEx {
9076     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaManager> {
9077         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaManager>::into(self))
9078     }
9079 }
9080 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaManager> for &IFsrmQuotaManagerEx {
9081     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaManager> {
9082         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaManager>::into(::std::clone::Clone::clone(self)))
9083     }
9084 }
9085 #[cfg(feature = "Win32_System_Ole_Automation")]
9086 impl ::std::convert::From<IFsrmQuotaManagerEx> for super::super::System::Ole::Automation::IDispatch {
9087     fn from(value: IFsrmQuotaManagerEx) -> Self {
9088         unsafe { ::std::mem::transmute(value) }
9089     }
9090 }
9091 #[cfg(feature = "Win32_System_Ole_Automation")]
9092 impl ::std::convert::From<&IFsrmQuotaManagerEx> for super::super::System::Ole::Automation::IDispatch {
9093     fn from(value: &IFsrmQuotaManagerEx) -> Self {
9094         ::std::convert::From::from(::std::clone::Clone::clone(value))
9095     }
9096 }
9097 #[cfg(feature = "Win32_System_Ole_Automation")]
9098 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaManagerEx {
9099     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9100         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9101     }
9102 }
9103 #[cfg(feature = "Win32_System_Ole_Automation")]
9104 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaManagerEx {
9105     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9106         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9107     }
9108 }
9109 #[repr(C)]
9110 #[doc(hidden)]
9111 pub struct IFsrmQuotaManagerEx_abi(
9112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9116     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9117     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9118     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9119     #[cfg(not(feature = "Win32_Foundation"))] usize,
9120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9121     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9122     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9123     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variables: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9124     #[cfg(not(feature = "Win32_System_Com"))] usize,
9125     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9126     #[cfg(not(feature = "Win32_System_Com"))] usize,
9127     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9128     #[cfg(not(feature = "Win32_Foundation"))] usize,
9129     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9130     #[cfg(not(feature = "Win32_Foundation"))] usize,
9131     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9132     #[cfg(not(feature = "Win32_Foundation"))] usize,
9133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9134     #[cfg(not(feature = "Win32_Foundation"))] usize,
9135     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quota: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9136     #[cfg(not(feature = "Win32_Foundation"))] usize,
9137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9138     #[cfg(not(feature = "Win32_Foundation"))] usize,
9139     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9140     #[cfg(not(feature = "Win32_Foundation"))] usize,
9141     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, quotas: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9142     #[cfg(not(feature = "Win32_Foundation"))] usize,
9143     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9144     #[cfg(not(feature = "Win32_Foundation"))] usize,
9145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, collection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9146     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, options: FsrmEnumOptions, affected: *mut i16) -> ::windows::runtime::HRESULT,
9147     #[cfg(not(feature = "Win32_Foundation"))] usize,
9148 );
9149 #[repr(transparent)]
9150 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9151 pub struct IFsrmQuotaObject(::windows::runtime::IUnknown);
9152 impl IFsrmQuotaObject {
9153     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
9154         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9155         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
9156     }
9157     #[cfg(feature = "Win32_System_Ole_Automation")]
9158     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
9159         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9160         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
9161     }
9162     #[cfg(feature = "Win32_Foundation")]
9163     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
9164         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
9165     }
9166     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9167     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
9168         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
9169     }
9170     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
9171         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9172         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
9173     }
9174     #[cfg(feature = "Win32_Foundation")]
9175     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9176         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9177         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9178     }
9179     #[cfg(feature = "Win32_Foundation")]
9180     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
9181         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
9182     }
9183     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
9184         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
9185     }
9186     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
9187         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
9188     }
9189     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9190     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9191         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9192         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9193     }
9194     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9195     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
9196         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
9197     }
9198     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
9199         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9200         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9201     }
9202     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
9203         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
9204     }
9205     #[cfg(feature = "Win32_System_Com")]
9206     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
9207         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9208         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
9209     }
9210     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9211         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9212     }
9213     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9214         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9215     }
9216     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
9217         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
9218     }
9219     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
9220         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9221         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
9222     }
9223     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
9224         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9225         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
9226     }
9227     #[cfg(feature = "Win32_Foundation")]
9228     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9229         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9230         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9231     }
9232     #[cfg(feature = "Win32_Foundation")]
9233     pub unsafe fn UserSid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9234         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9235         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9236     }
9237     #[cfg(feature = "Win32_Foundation")]
9238     pub unsafe fn UserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9239         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9240         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9241     }
9242     #[cfg(feature = "Win32_Foundation")]
9243     pub unsafe fn SourceTemplateName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9244         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9245         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9246     }
9247     pub unsafe fn MatchesSourceTemplate(&self) -> ::windows::runtime::Result<i16> {
9248         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9249         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
9250     }
9251     #[cfg(feature = "Win32_Foundation")]
9252     pub unsafe fn ApplyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0) -> ::windows::runtime::Result<()> {
9253         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi()).ok()
9254     }
9255 }
9256 unsafe impl ::windows::runtime::Interface for IFsrmQuotaObject {
9257     type Vtable = IFsrmQuotaObject_abi;
9258     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1121727761, 25045, 18606, [182, 220, 89, 252, 0, 192, 168, 214]);
9259 }
9260 impl ::std::convert::From<IFsrmQuotaObject> for ::windows::runtime::IUnknown {
9261     fn from(value: IFsrmQuotaObject) -> Self {
9262         unsafe { ::std::mem::transmute(value) }
9263     }
9264 }
9265 impl ::std::convert::From<&IFsrmQuotaObject> for ::windows::runtime::IUnknown {
9266     fn from(value: &IFsrmQuotaObject) -> Self {
9267         ::std::convert::From::from(::std::clone::Clone::clone(value))
9268     }
9269 }
9270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaObject {
9271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9273     }
9274 }
9275 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaObject {
9276     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9277         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9278     }
9279 }
9280 impl ::std::convert::From<IFsrmQuotaObject> for IFsrmQuotaBase {
9281     fn from(value: IFsrmQuotaObject) -> Self {
9282         unsafe { ::std::mem::transmute(value) }
9283     }
9284 }
9285 impl ::std::convert::From<&IFsrmQuotaObject> for IFsrmQuotaBase {
9286     fn from(value: &IFsrmQuotaObject) -> Self {
9287         ::std::convert::From::from(::std::clone::Clone::clone(value))
9288     }
9289 }
9290 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for IFsrmQuotaObject {
9291     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9292         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(self))
9293     }
9294 }
9295 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for &IFsrmQuotaObject {
9296     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9297         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(::std::clone::Clone::clone(self)))
9298     }
9299 }
9300 impl ::std::convert::From<IFsrmQuotaObject> for IFsrmObject {
9301     fn from(value: IFsrmQuotaObject) -> Self {
9302         unsafe { ::std::mem::transmute(value) }
9303     }
9304 }
9305 impl ::std::convert::From<&IFsrmQuotaObject> for IFsrmObject {
9306     fn from(value: &IFsrmQuotaObject) -> Self {
9307         ::std::convert::From::from(::std::clone::Clone::clone(value))
9308     }
9309 }
9310 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmQuotaObject {
9311     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9312         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
9313     }
9314 }
9315 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmQuotaObject {
9316     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9317         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
9318     }
9319 }
9320 #[cfg(feature = "Win32_System_Ole_Automation")]
9321 impl ::std::convert::From<IFsrmQuotaObject> for super::super::System::Ole::Automation::IDispatch {
9322     fn from(value: IFsrmQuotaObject) -> Self {
9323         unsafe { ::std::mem::transmute(value) }
9324     }
9325 }
9326 #[cfg(feature = "Win32_System_Ole_Automation")]
9327 impl ::std::convert::From<&IFsrmQuotaObject> for super::super::System::Ole::Automation::IDispatch {
9328     fn from(value: &IFsrmQuotaObject) -> Self {
9329         ::std::convert::From::from(::std::clone::Clone::clone(value))
9330     }
9331 }
9332 #[cfg(feature = "Win32_System_Ole_Automation")]
9333 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaObject {
9334     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9335         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9336     }
9337 }
9338 #[cfg(feature = "Win32_System_Ole_Automation")]
9339 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaObject {
9340     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9341         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9342     }
9343 }
9344 #[repr(C)]
9345 #[doc(hidden)]
9346 pub struct IFsrmQuotaObject_abi(
9347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9351     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9352     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9353     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9354     #[cfg(not(feature = "Win32_Foundation"))] usize,
9355     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9356     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9357     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
9359     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9360     #[cfg(not(feature = "Win32_Foundation"))] usize,
9361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9362     #[cfg(not(feature = "Win32_Foundation"))] usize,
9363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9365     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9366     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9367     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9368     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
9370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
9371     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9372     #[cfg(not(feature = "Win32_System_Com"))] usize,
9373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
9376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9378     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9379     #[cfg(not(feature = "Win32_Foundation"))] usize,
9380     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usersid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9381     #[cfg(not(feature = "Win32_Foundation"))] usize,
9382     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, useraccount: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9383     #[cfg(not(feature = "Win32_Foundation"))] usize,
9384     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9385     #[cfg(not(feature = "Win32_Foundation"))] usize,
9386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, matches: *mut i16) -> ::windows::runtime::HRESULT,
9387     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9388     #[cfg(not(feature = "Win32_Foundation"))] usize,
9389 );
9390 #[repr(transparent)]
9391 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9392 pub struct IFsrmQuotaTemplate(::windows::runtime::IUnknown);
9393 impl IFsrmQuotaTemplate {
9394     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
9395         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9396         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
9397     }
9398     #[cfg(feature = "Win32_System_Ole_Automation")]
9399     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
9400         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9401         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
9402     }
9403     #[cfg(feature = "Win32_Foundation")]
9404     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
9405         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
9406     }
9407     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9408     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
9409         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
9410     }
9411     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
9412         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9413         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
9414     }
9415     #[cfg(feature = "Win32_Foundation")]
9416     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9417         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9418         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9419     }
9420     #[cfg(feature = "Win32_Foundation")]
9421     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
9422         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
9423     }
9424     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
9425         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
9426     }
9427     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
9428         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
9429     }
9430     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9431     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9432         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9433         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9434     }
9435     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9436     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
9437         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
9438     }
9439     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
9440         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9441         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9442     }
9443     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
9444         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
9445     }
9446     #[cfg(feature = "Win32_System_Com")]
9447     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
9448         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9449         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
9450     }
9451     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9452         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9453     }
9454     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9455         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9456     }
9457     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
9458         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
9459     }
9460     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
9461         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9462         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
9463     }
9464     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
9465         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9466         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
9467     }
9468     #[cfg(feature = "Win32_Foundation")]
9469     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9470         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9471         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9472     }
9473     #[cfg(feature = "Win32_Foundation")]
9474     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
9475         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
9476     }
9477     #[cfg(feature = "Win32_Foundation")]
9478     pub unsafe fn CopyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0) -> ::windows::runtime::Result<()> {
9479         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi()).ok()
9480     }
9481     pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows::runtime::Result<IFsrmDerivedObjectsResult> {
9482         let mut result__: <IFsrmDerivedObjectsResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9483         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(commitoptions), ::std::mem::transmute(applyoptions), &mut result__).from_abi::<IFsrmDerivedObjectsResult>(result__)
9484     }
9485 }
9486 unsafe impl ::windows::runtime::Interface for IFsrmQuotaTemplate {
9487     type Vtable = IFsrmQuotaTemplate_abi;
9488     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2733615921, 10590, 18107, [185, 118, 232, 109, 88, 181, 46, 139]);
9489 }
9490 impl ::std::convert::From<IFsrmQuotaTemplate> for ::windows::runtime::IUnknown {
9491     fn from(value: IFsrmQuotaTemplate) -> Self {
9492         unsafe { ::std::mem::transmute(value) }
9493     }
9494 }
9495 impl ::std::convert::From<&IFsrmQuotaTemplate> for ::windows::runtime::IUnknown {
9496     fn from(value: &IFsrmQuotaTemplate) -> Self {
9497         ::std::convert::From::from(::std::clone::Clone::clone(value))
9498     }
9499 }
9500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaTemplate {
9501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9502         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9503     }
9504 }
9505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaTemplate {
9506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9507         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9508     }
9509 }
9510 impl ::std::convert::From<IFsrmQuotaTemplate> for IFsrmQuotaBase {
9511     fn from(value: IFsrmQuotaTemplate) -> Self {
9512         unsafe { ::std::mem::transmute(value) }
9513     }
9514 }
9515 impl ::std::convert::From<&IFsrmQuotaTemplate> for IFsrmQuotaBase {
9516     fn from(value: &IFsrmQuotaTemplate) -> Self {
9517         ::std::convert::From::from(::std::clone::Clone::clone(value))
9518     }
9519 }
9520 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for IFsrmQuotaTemplate {
9521     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9522         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(self))
9523     }
9524 }
9525 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for &IFsrmQuotaTemplate {
9526     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9527         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(::std::clone::Clone::clone(self)))
9528     }
9529 }
9530 impl ::std::convert::From<IFsrmQuotaTemplate> for IFsrmObject {
9531     fn from(value: IFsrmQuotaTemplate) -> Self {
9532         unsafe { ::std::mem::transmute(value) }
9533     }
9534 }
9535 impl ::std::convert::From<&IFsrmQuotaTemplate> for IFsrmObject {
9536     fn from(value: &IFsrmQuotaTemplate) -> Self {
9537         ::std::convert::From::from(::std::clone::Clone::clone(value))
9538     }
9539 }
9540 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmQuotaTemplate {
9541     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9542         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
9543     }
9544 }
9545 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmQuotaTemplate {
9546     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9547         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
9548     }
9549 }
9550 #[cfg(feature = "Win32_System_Ole_Automation")]
9551 impl ::std::convert::From<IFsrmQuotaTemplate> for super::super::System::Ole::Automation::IDispatch {
9552     fn from(value: IFsrmQuotaTemplate) -> Self {
9553         unsafe { ::std::mem::transmute(value) }
9554     }
9555 }
9556 #[cfg(feature = "Win32_System_Ole_Automation")]
9557 impl ::std::convert::From<&IFsrmQuotaTemplate> for super::super::System::Ole::Automation::IDispatch {
9558     fn from(value: &IFsrmQuotaTemplate) -> Self {
9559         ::std::convert::From::from(::std::clone::Clone::clone(value))
9560     }
9561 }
9562 #[cfg(feature = "Win32_System_Ole_Automation")]
9563 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaTemplate {
9564     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9565         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9566     }
9567 }
9568 #[cfg(feature = "Win32_System_Ole_Automation")]
9569 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaTemplate {
9570     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9571         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9572     }
9573 }
9574 #[repr(C)]
9575 #[doc(hidden)]
9576 pub struct IFsrmQuotaTemplate_abi(
9577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9581     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9582     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9583     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9584     #[cfg(not(feature = "Win32_Foundation"))] usize,
9585     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9586     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9587     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
9589     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9590     #[cfg(not(feature = "Win32_Foundation"))] usize,
9591     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9592     #[cfg(not(feature = "Win32_Foundation"))] usize,
9593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9595     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9596     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9597     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9598     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
9600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
9601     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9602     #[cfg(not(feature = "Win32_System_Com"))] usize,
9603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
9606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9609     #[cfg(not(feature = "Win32_Foundation"))] usize,
9610     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9611     #[cfg(not(feature = "Win32_Foundation"))] usize,
9612     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9613     #[cfg(not(feature = "Win32_Foundation"))] usize,
9614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions, derivedobjectsresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9615 );
9616 #[repr(transparent)]
9617 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9618 pub struct IFsrmQuotaTemplateImported(::windows::runtime::IUnknown);
9619 impl IFsrmQuotaTemplateImported {
9620     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
9621         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9622         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
9623     }
9624     #[cfg(feature = "Win32_System_Ole_Automation")]
9625     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
9626         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9627         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
9628     }
9629     #[cfg(feature = "Win32_Foundation")]
9630     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
9631         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
9632     }
9633     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9634     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
9635         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
9636     }
9637     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
9638         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9639         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
9640     }
9641     #[cfg(feature = "Win32_Foundation")]
9642     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9643         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9644         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9645     }
9646     #[cfg(feature = "Win32_Foundation")]
9647     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
9648         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
9649     }
9650     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
9651         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
9652     }
9653     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
9654         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
9655     }
9656     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9657     pub unsafe fn QuotaLimit(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9658         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9659         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9660     }
9661     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9662     pub unsafe fn SetQuotaLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, quotalimit: Param0) -> ::windows::runtime::Result<()> {
9663         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), quotalimit.into_param().abi()).ok()
9664     }
9665     pub unsafe fn QuotaFlags(&self) -> ::windows::runtime::Result<i32> {
9666         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9667         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9668     }
9669     pub unsafe fn SetQuotaFlags(&self, quotaflags: i32) -> ::windows::runtime::Result<()> {
9670         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotaflags)).ok()
9671     }
9672     #[cfg(feature = "Win32_System_Com")]
9673     pub unsafe fn Thresholds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
9674         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9675         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
9676     }
9677     pub unsafe fn AddThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9678         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9679     }
9680     pub unsafe fn DeleteThreshold(&self, threshold: i32) -> ::windows::runtime::Result<()> {
9681         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold)).ok()
9682     }
9683     pub unsafe fn ModifyThreshold(&self, threshold: i32, newthreshold: i32) -> ::windows::runtime::Result<()> {
9684         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(newthreshold)).ok()
9685     }
9686     pub unsafe fn CreateThresholdAction(&self, threshold: i32, actiontype: FsrmActionType) -> ::windows::runtime::Result<IFsrmAction> {
9687         let mut result__: <IFsrmAction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9688         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), ::std::mem::transmute(actiontype), &mut result__).from_abi::<IFsrmAction>(result__)
9689     }
9690     pub unsafe fn EnumThresholdActions(&self, threshold: i32) -> ::windows::runtime::Result<IFsrmCollection> {
9691         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9692         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(threshold), &mut result__).from_abi::<IFsrmCollection>(result__)
9693     }
9694     #[cfg(feature = "Win32_Foundation")]
9695     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9696         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9697         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9698     }
9699     #[cfg(feature = "Win32_Foundation")]
9700     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
9701         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
9702     }
9703     #[cfg(feature = "Win32_Foundation")]
9704     pub unsafe fn CopyTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, quotatemplatename: Param0) -> ::windows::runtime::Result<()> {
9705         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), quotatemplatename.into_param().abi()).ok()
9706     }
9707     pub unsafe fn CommitAndUpdateDerived(&self, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions) -> ::windows::runtime::Result<IFsrmDerivedObjectsResult> {
9708         let mut result__: <IFsrmDerivedObjectsResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9709         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(commitoptions), ::std::mem::transmute(applyoptions), &mut result__).from_abi::<IFsrmDerivedObjectsResult>(result__)
9710     }
9711     pub unsafe fn OverwriteOnCommit(&self) -> ::windows::runtime::Result<i16> {
9712         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9713         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
9714     }
9715     pub unsafe fn SetOverwriteOnCommit(&self, overwrite: i16) -> ::windows::runtime::Result<()> {
9716         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(overwrite)).ok()
9717     }
9718 }
9719 unsafe impl ::windows::runtime::Interface for IFsrmQuotaTemplateImported {
9720     type Vtable = IFsrmQuotaTemplateImported_abi;
9721     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2586571027, 41769, 17612, [128, 154, 92, 0, 252, 232, 218, 64]);
9722 }
9723 impl ::std::convert::From<IFsrmQuotaTemplateImported> for ::windows::runtime::IUnknown {
9724     fn from(value: IFsrmQuotaTemplateImported) -> Self {
9725         unsafe { ::std::mem::transmute(value) }
9726     }
9727 }
9728 impl ::std::convert::From<&IFsrmQuotaTemplateImported> for ::windows::runtime::IUnknown {
9729     fn from(value: &IFsrmQuotaTemplateImported) -> Self {
9730         ::std::convert::From::from(::std::clone::Clone::clone(value))
9731     }
9732 }
9733 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaTemplateImported {
9734     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9735         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9736     }
9737 }
9738 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaTemplateImported {
9739     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9740         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9741     }
9742 }
9743 impl ::std::convert::From<IFsrmQuotaTemplateImported> for IFsrmQuotaTemplate {
9744     fn from(value: IFsrmQuotaTemplateImported) -> Self {
9745         unsafe { ::std::mem::transmute(value) }
9746     }
9747 }
9748 impl ::std::convert::From<&IFsrmQuotaTemplateImported> for IFsrmQuotaTemplate {
9749     fn from(value: &IFsrmQuotaTemplateImported) -> Self {
9750         ::std::convert::From::from(::std::clone::Clone::clone(value))
9751     }
9752 }
9753 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaTemplate> for IFsrmQuotaTemplateImported {
9754     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaTemplate> {
9755         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaTemplate>::into(self))
9756     }
9757 }
9758 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaTemplate> for &IFsrmQuotaTemplateImported {
9759     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaTemplate> {
9760         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaTemplate>::into(::std::clone::Clone::clone(self)))
9761     }
9762 }
9763 impl ::std::convert::From<IFsrmQuotaTemplateImported> for IFsrmQuotaBase {
9764     fn from(value: IFsrmQuotaTemplateImported) -> Self {
9765         unsafe { ::std::mem::transmute(value) }
9766     }
9767 }
9768 impl ::std::convert::From<&IFsrmQuotaTemplateImported> for IFsrmQuotaBase {
9769     fn from(value: &IFsrmQuotaTemplateImported) -> Self {
9770         ::std::convert::From::from(::std::clone::Clone::clone(value))
9771     }
9772 }
9773 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for IFsrmQuotaTemplateImported {
9774     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9775         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(self))
9776     }
9777 }
9778 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmQuotaBase> for &IFsrmQuotaTemplateImported {
9779     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmQuotaBase> {
9780         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmQuotaBase>::into(::std::clone::Clone::clone(self)))
9781     }
9782 }
9783 impl ::std::convert::From<IFsrmQuotaTemplateImported> for IFsrmObject {
9784     fn from(value: IFsrmQuotaTemplateImported) -> Self {
9785         unsafe { ::std::mem::transmute(value) }
9786     }
9787 }
9788 impl ::std::convert::From<&IFsrmQuotaTemplateImported> for IFsrmObject {
9789     fn from(value: &IFsrmQuotaTemplateImported) -> Self {
9790         ::std::convert::From::from(::std::clone::Clone::clone(value))
9791     }
9792 }
9793 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmQuotaTemplateImported {
9794     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9795         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
9796     }
9797 }
9798 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmQuotaTemplateImported {
9799     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
9800         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
9801     }
9802 }
9803 #[cfg(feature = "Win32_System_Ole_Automation")]
9804 impl ::std::convert::From<IFsrmQuotaTemplateImported> for super::super::System::Ole::Automation::IDispatch {
9805     fn from(value: IFsrmQuotaTemplateImported) -> Self {
9806         unsafe { ::std::mem::transmute(value) }
9807     }
9808 }
9809 #[cfg(feature = "Win32_System_Ole_Automation")]
9810 impl ::std::convert::From<&IFsrmQuotaTemplateImported> for super::super::System::Ole::Automation::IDispatch {
9811     fn from(value: &IFsrmQuotaTemplateImported) -> Self {
9812         ::std::convert::From::from(::std::clone::Clone::clone(value))
9813     }
9814 }
9815 #[cfg(feature = "Win32_System_Ole_Automation")]
9816 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaTemplateImported {
9817     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9818         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9819     }
9820 }
9821 #[cfg(feature = "Win32_System_Ole_Automation")]
9822 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaTemplateImported {
9823     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9824         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9825     }
9826 }
9827 #[repr(C)]
9828 #[doc(hidden)]
9829 pub struct IFsrmQuotaTemplateImported_abi(
9830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9834     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9835     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9836     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9837     #[cfg(not(feature = "Win32_Foundation"))] usize,
9838     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9839     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9840     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
9842     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9843     #[cfg(not(feature = "Win32_Foundation"))] usize,
9844     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9845     #[cfg(not(feature = "Win32_Foundation"))] usize,
9846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9848     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9849     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9850     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotalimit: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9851     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: *mut i32) -> ::windows::runtime::HRESULT,
9853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotaflags: i32) -> ::windows::runtime::HRESULT,
9854     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, thresholds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9855     #[cfg(not(feature = "Win32_System_Com"))] usize,
9856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32) -> ::windows::runtime::HRESULT,
9858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, newthreshold: i32) -> ::windows::runtime::HRESULT,
9859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actiontype: FsrmActionType, action: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threshold: i32, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9861     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9862     #[cfg(not(feature = "Win32_Foundation"))] usize,
9863     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9864     #[cfg(not(feature = "Win32_Foundation"))] usize,
9865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9866     #[cfg(not(feature = "Win32_Foundation"))] usize,
9867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commitoptions: FsrmCommitOptions, applyoptions: FsrmTemplateApplyOptions, derivedobjectsresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: *mut i16) -> ::windows::runtime::HRESULT,
9869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overwrite: i16) -> ::windows::runtime::HRESULT,
9870 );
9871 #[repr(transparent)]
9872 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9873 pub struct IFsrmQuotaTemplateManager(::windows::runtime::IUnknown);
9874 impl IFsrmQuotaTemplateManager {
9875     pub unsafe fn CreateTemplate(&self) -> ::windows::runtime::Result<IFsrmQuotaTemplate> {
9876         let mut result__: <IFsrmQuotaTemplate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9877         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmQuotaTemplate>(result__)
9878     }
9879     #[cfg(feature = "Win32_Foundation")]
9880     pub unsafe fn GetTemplate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsrmQuotaTemplate> {
9881         let mut result__: <IFsrmQuotaTemplate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9882         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsrmQuotaTemplate>(result__)
9883     }
9884     pub unsafe fn EnumTemplates(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9885         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9886         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9887     }
9888     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9889     pub unsafe fn ExportTemplates(&self, quotatemplatenamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9890         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9891         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(quotatemplatenamesarray), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9892     }
9893     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9894     pub unsafe fn ImportTemplates<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, serializedquotatemplates: Param0, quotatemplatenamesarray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<IFsrmCommittableCollection> {
9895         let mut result__: <IFsrmCommittableCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9896         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), serializedquotatemplates.into_param().abi(), ::std::mem::transmute(quotatemplatenamesarray), &mut result__).from_abi::<IFsrmCommittableCollection>(result__)
9897     }
9898 }
9899 unsafe impl ::windows::runtime::Interface for IFsrmQuotaTemplateManager {
9900     type Vtable = IFsrmQuotaTemplateManager_abi;
9901     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1098099777, 5933, 19794, [150, 60, 253, 199, 228, 21, 247, 23]);
9902 }
9903 impl ::std::convert::From<IFsrmQuotaTemplateManager> for ::windows::runtime::IUnknown {
9904     fn from(value: IFsrmQuotaTemplateManager) -> Self {
9905         unsafe { ::std::mem::transmute(value) }
9906     }
9907 }
9908 impl ::std::convert::From<&IFsrmQuotaTemplateManager> for ::windows::runtime::IUnknown {
9909     fn from(value: &IFsrmQuotaTemplateManager) -> Self {
9910         ::std::convert::From::from(::std::clone::Clone::clone(value))
9911     }
9912 }
9913 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmQuotaTemplateManager {
9914     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9915         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9916     }
9917 }
9918 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmQuotaTemplateManager {
9919     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9920         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9921     }
9922 }
9923 #[cfg(feature = "Win32_System_Ole_Automation")]
9924 impl ::std::convert::From<IFsrmQuotaTemplateManager> for super::super::System::Ole::Automation::IDispatch {
9925     fn from(value: IFsrmQuotaTemplateManager) -> Self {
9926         unsafe { ::std::mem::transmute(value) }
9927     }
9928 }
9929 #[cfg(feature = "Win32_System_Ole_Automation")]
9930 impl ::std::convert::From<&IFsrmQuotaTemplateManager> for super::super::System::Ole::Automation::IDispatch {
9931     fn from(value: &IFsrmQuotaTemplateManager) -> Self {
9932         ::std::convert::From::from(::std::clone::Clone::clone(value))
9933     }
9934 }
9935 #[cfg(feature = "Win32_System_Ole_Automation")]
9936 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmQuotaTemplateManager {
9937     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9938         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9939     }
9940 }
9941 #[cfg(feature = "Win32_System_Ole_Automation")]
9942 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmQuotaTemplateManager {
9943     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9944         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9945     }
9946 }
9947 #[repr(C)]
9948 #[doc(hidden)]
9949 pub struct IFsrmQuotaTemplateManager_abi(
9950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9954     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9955     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9956     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9957     #[cfg(not(feature = "Win32_Foundation"))] usize,
9958     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9959     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9960     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quotatemplate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9963     #[cfg(not(feature = "Win32_Foundation"))] usize,
9964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, quotatemplates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9965     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quotatemplatenamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, serializedquotatemplates: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9966     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9967     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializedquotatemplates: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, quotatemplatenamesarray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, quotatemplates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9968     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9969 );
9970 #[repr(transparent)]
9971 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9972 pub struct IFsrmReport(::windows::runtime::IUnknown);
9973 impl IFsrmReport {
9974     pub unsafe fn Type(&self) -> ::windows::runtime::Result<FsrmReportType> {
9975         let mut result__: <FsrmReportType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9976         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmReportType>(result__)
9977     }
9978     #[cfg(feature = "Win32_Foundation")]
9979     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9980         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9981         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9982     }
9983     #[cfg(feature = "Win32_Foundation")]
9984     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
9985         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
9986     }
9987     #[cfg(feature = "Win32_Foundation")]
9988     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9989         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9990         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9991     }
9992     #[cfg(feature = "Win32_Foundation")]
9993     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
9994         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
9995     }
9996     #[cfg(feature = "Win32_Foundation")]
9997     pub unsafe fn LastGeneratedFileNamePrefix(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9998         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9999         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10000     }
10001     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10002     pub unsafe fn GetFilter(&self, filter: FsrmReportFilter) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10003         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10004         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(filter), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10005     }
10006     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10007     pub unsafe fn SetFilter<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, filter: FsrmReportFilter, filtervalue: Param1) -> ::windows::runtime::Result<()> {
10008         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(filter), filtervalue.into_param().abi()).ok()
10009     }
10010     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
10011         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
10012     }
10013 }
10014 unsafe impl ::windows::runtime::Interface for IFsrmReport {
10015     type Vtable = IFsrmReport_abi;
10016     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3637281241, 18104, 20388, [191, 165, 74, 169, 222, 201, 182, 56]);
10017 }
10018 impl ::std::convert::From<IFsrmReport> for ::windows::runtime::IUnknown {
10019     fn from(value: IFsrmReport) -> Self {
10020         unsafe { ::std::mem::transmute(value) }
10021     }
10022 }
10023 impl ::std::convert::From<&IFsrmReport> for ::windows::runtime::IUnknown {
10024     fn from(value: &IFsrmReport) -> Self {
10025         ::std::convert::From::from(::std::clone::Clone::clone(value))
10026     }
10027 }
10028 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmReport {
10029     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10030         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10031     }
10032 }
10033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmReport {
10034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10036     }
10037 }
10038 #[cfg(feature = "Win32_System_Ole_Automation")]
10039 impl ::std::convert::From<IFsrmReport> for super::super::System::Ole::Automation::IDispatch {
10040     fn from(value: IFsrmReport) -> Self {
10041         unsafe { ::std::mem::transmute(value) }
10042     }
10043 }
10044 #[cfg(feature = "Win32_System_Ole_Automation")]
10045 impl ::std::convert::From<&IFsrmReport> for super::super::System::Ole::Automation::IDispatch {
10046     fn from(value: &IFsrmReport) -> Self {
10047         ::std::convert::From::from(::std::clone::Clone::clone(value))
10048     }
10049 }
10050 #[cfg(feature = "Win32_System_Ole_Automation")]
10051 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmReport {
10052     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10053         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10054     }
10055 }
10056 #[cfg(feature = "Win32_System_Ole_Automation")]
10057 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmReport {
10058     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10059         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10060     }
10061 }
10062 #[repr(C)]
10063 #[doc(hidden)]
10064 pub struct IFsrmReport_abi(
10065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10069     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10070     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10071     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10072     #[cfg(not(feature = "Win32_Foundation"))] usize,
10073     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10074     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10075     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttype: *mut FsrmReportType) -> ::windows::runtime::HRESULT,
10077     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10078     #[cfg(not(feature = "Win32_Foundation"))] usize,
10079     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10080     #[cfg(not(feature = "Win32_Foundation"))] usize,
10081     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10082     #[cfg(not(feature = "Win32_Foundation"))] usize,
10083     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10084     #[cfg(not(feature = "Win32_Foundation"))] usize,
10085     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prefix: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10086     #[cfg(not(feature = "Win32_Foundation"))] usize,
10087     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filter: FsrmReportFilter, filtervalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10088     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10089     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filter: FsrmReportFilter, filtervalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10090     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10092 );
10093 #[repr(transparent)]
10094 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10095 pub struct IFsrmReportJob(::windows::runtime::IUnknown);
10096 impl IFsrmReportJob {
10097     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
10098         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10099         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
10100     }
10101     #[cfg(feature = "Win32_System_Ole_Automation")]
10102     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
10103         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10104         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
10105     }
10106     #[cfg(feature = "Win32_Foundation")]
10107     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
10108         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
10109     }
10110     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10111     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
10112         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
10113     }
10114     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
10115         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10116         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
10117     }
10118     #[cfg(feature = "Win32_Foundation")]
10119     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10120         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10121         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10122     }
10123     #[cfg(feature = "Win32_Foundation")]
10124     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
10125         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
10126     }
10127     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
10128         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
10129     }
10130     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
10131         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
10132     }
10133     #[cfg(feature = "Win32_Foundation")]
10134     pub unsafe fn Task(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10135         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10136         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10137     }
10138     #[cfg(feature = "Win32_Foundation")]
10139     pub unsafe fn SetTask<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0) -> ::windows::runtime::Result<()> {
10140         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), taskname.into_param().abi()).ok()
10141     }
10142     #[cfg(feature = "Win32_System_Com")]
10143     pub unsafe fn NamespaceRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10144         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10145         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10146     }
10147     #[cfg(feature = "Win32_System_Com")]
10148     pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
10149         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(namespaceroots)).ok()
10150     }
10151     #[cfg(feature = "Win32_System_Com")]
10152     pub unsafe fn Formats(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10153         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10154         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10155     }
10156     #[cfg(feature = "Win32_System_Com")]
10157     pub unsafe fn SetFormats(&self, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
10158         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(formats)).ok()
10159     }
10160     #[cfg(feature = "Win32_Foundation")]
10161     pub unsafe fn MailTo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10162         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10163         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10164     }
10165     #[cfg(feature = "Win32_Foundation")]
10166     pub unsafe fn SetMailTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
10167         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
10168     }
10169     pub unsafe fn RunningStatus(&self) -> ::windows::runtime::Result<FsrmReportRunningStatus> {
10170         let mut result__: <FsrmReportRunningStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10171         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmReportRunningStatus>(result__)
10172     }
10173     pub unsafe fn LastRun(&self) -> ::windows::runtime::Result<f64> {
10174         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10175         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
10176     }
10177     #[cfg(feature = "Win32_Foundation")]
10178     pub unsafe fn LastError(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10179         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10180         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10181     }
10182     #[cfg(feature = "Win32_Foundation")]
10183     pub unsafe fn LastGeneratedInDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10184         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10185         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10186     }
10187     pub unsafe fn EnumReports(&self) -> ::windows::runtime::Result<IFsrmCollection> {
10188         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10189         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmCollection>(result__)
10190     }
10191     pub unsafe fn CreateReport(&self, reporttype: FsrmReportType) -> ::windows::runtime::Result<IFsrmReport> {
10192         let mut result__: <IFsrmReport as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10193         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(reporttype), &mut result__).from_abi::<IFsrmReport>(result__)
10194     }
10195     pub unsafe fn Run(&self, context: FsrmReportGenerationContext) -> ::windows::runtime::Result<()> {
10196         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(context)).ok()
10197     }
10198     pub unsafe fn WaitForCompletion(&self, waitseconds: i32) -> ::windows::runtime::Result<i16> {
10199         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10200         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(waitseconds), &mut result__).from_abi::<i16>(result__)
10201     }
10202     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
10203         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self)).ok()
10204     }
10205 }
10206 unsafe impl ::windows::runtime::Interface for IFsrmReportJob {
10207     type Vtable = IFsrmReportJob_abi;
10208     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(954757760, 29020, 19581, [162, 128, 234, 22, 81, 161, 159, 239]);
10209 }
10210 impl ::std::convert::From<IFsrmReportJob> for ::windows::runtime::IUnknown {
10211     fn from(value: IFsrmReportJob) -> Self {
10212         unsafe { ::std::mem::transmute(value) }
10213     }
10214 }
10215 impl ::std::convert::From<&IFsrmReportJob> for ::windows::runtime::IUnknown {
10216     fn from(value: &IFsrmReportJob) -> Self {
10217         ::std::convert::From::from(::std::clone::Clone::clone(value))
10218     }
10219 }
10220 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmReportJob {
10221     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10222         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10223     }
10224 }
10225 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmReportJob {
10226     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10227         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10228     }
10229 }
10230 impl ::std::convert::From<IFsrmReportJob> for IFsrmObject {
10231     fn from(value: IFsrmReportJob) -> Self {
10232         unsafe { ::std::mem::transmute(value) }
10233     }
10234 }
10235 impl ::std::convert::From<&IFsrmReportJob> for IFsrmObject {
10236     fn from(value: &IFsrmReportJob) -> Self {
10237         ::std::convert::From::from(::std::clone::Clone::clone(value))
10238     }
10239 }
10240 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmReportJob {
10241     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
10242         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
10243     }
10244 }
10245 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmReportJob {
10246     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
10247         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
10248     }
10249 }
10250 #[cfg(feature = "Win32_System_Ole_Automation")]
10251 impl ::std::convert::From<IFsrmReportJob> for super::super::System::Ole::Automation::IDispatch {
10252     fn from(value: IFsrmReportJob) -> Self {
10253         unsafe { ::std::mem::transmute(value) }
10254     }
10255 }
10256 #[cfg(feature = "Win32_System_Ole_Automation")]
10257 impl ::std::convert::From<&IFsrmReportJob> for super::super::System::Ole::Automation::IDispatch {
10258     fn from(value: &IFsrmReportJob) -> Self {
10259         ::std::convert::From::from(::std::clone::Clone::clone(value))
10260     }
10261 }
10262 #[cfg(feature = "Win32_System_Ole_Automation")]
10263 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmReportJob {
10264     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10265         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10266     }
10267 }
10268 #[cfg(feature = "Win32_System_Ole_Automation")]
10269 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmReportJob {
10270     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10271         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10272     }
10273 }
10274 #[repr(C)]
10275 #[doc(hidden)]
10276 pub struct IFsrmReportJob_abi(
10277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10281     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10282     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10283     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10284     #[cfg(not(feature = "Win32_Foundation"))] usize,
10285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10286     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10287     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
10289     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10290     #[cfg(not(feature = "Win32_Foundation"))] usize,
10291     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10292     #[cfg(not(feature = "Win32_Foundation"))] usize,
10293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10295     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10296     #[cfg(not(feature = "Win32_Foundation"))] usize,
10297     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10298     #[cfg(not(feature = "Win32_Foundation"))] usize,
10299     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10300     #[cfg(not(feature = "Win32_System_Com"))] usize,
10301     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10302     #[cfg(not(feature = "Win32_System_Com"))] usize,
10303     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10304     #[cfg(not(feature = "Win32_System_Com"))] usize,
10305     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formats: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10306     #[cfg(not(feature = "Win32_System_Com"))] usize,
10307     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10308     #[cfg(not(feature = "Win32_Foundation"))] usize,
10309     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10310     #[cfg(not(feature = "Win32_Foundation"))] usize,
10311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runningstatus: *mut FsrmReportRunningStatus) -> ::windows::runtime::HRESULT,
10312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastrun: *mut f64) -> ::windows::runtime::HRESULT,
10313     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lasterror: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10314     #[cfg(not(feature = "Win32_Foundation"))] usize,
10315     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10316     #[cfg(not(feature = "Win32_Foundation"))] usize,
10317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reports: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttype: FsrmReportType, report: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext) -> ::windows::runtime::HRESULT,
10320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitseconds: i32, completed: *mut i16) -> ::windows::runtime::HRESULT,
10321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10322 );
10323 #[repr(transparent)]
10324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10325 pub struct IFsrmReportManager(::windows::runtime::IUnknown);
10326 impl IFsrmReportManager {
10327     pub unsafe fn EnumReportJobs(&self, options: FsrmEnumOptions) -> ::windows::runtime::Result<IFsrmCollection> {
10328         let mut result__: <IFsrmCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10329         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IFsrmCollection>(result__)
10330     }
10331     pub unsafe fn CreateReportJob(&self) -> ::windows::runtime::Result<IFsrmReportJob> {
10332         let mut result__: <IFsrmReportJob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10333         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsrmReportJob>(result__)
10334     }
10335     #[cfg(feature = "Win32_Foundation")]
10336     pub unsafe fn GetReportJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0) -> ::windows::runtime::Result<IFsrmReportJob> {
10337         let mut result__: <IFsrmReportJob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10338         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), taskname.into_param().abi(), &mut result__).from_abi::<IFsrmReportJob>(result__)
10339     }
10340     #[cfg(feature = "Win32_Foundation")]
10341     pub unsafe fn GetOutputDirectory(&self, context: FsrmReportGenerationContext) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10342         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10343         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(context), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10344     }
10345     #[cfg(feature = "Win32_Foundation")]
10346     pub unsafe fn SetOutputDirectory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, context: FsrmReportGenerationContext, path: Param1) -> ::windows::runtime::Result<()> {
10347         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(context), path.into_param().abi()).ok()
10348     }
10349     pub unsafe fn IsFilterValidForReportType(&self, reporttype: FsrmReportType, filter: FsrmReportFilter) -> ::windows::runtime::Result<i16> {
10350         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10351         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(reporttype), ::std::mem::transmute(filter), &mut result__).from_abi::<i16>(result__)
10352     }
10353     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10354     pub unsafe fn GetDefaultFilter(&self, reporttype: FsrmReportType, filter: FsrmReportFilter) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10355         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10356         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(reporttype), ::std::mem::transmute(filter), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10357     }
10358     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10359     pub unsafe fn SetDefaultFilter<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, reporttype: FsrmReportType, filter: FsrmReportFilter, filtervalue: Param2) -> ::windows::runtime::Result<()> {
10360         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(reporttype), ::std::mem::transmute(filter), filtervalue.into_param().abi()).ok()
10361     }
10362     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10363     pub unsafe fn GetReportSizeLimit(&self, limit: FsrmReportLimit) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10364         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10365         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(limit), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10366     }
10367     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10368     pub unsafe fn SetReportSizeLimit<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, limit: FsrmReportLimit, limitvalue: Param1) -> ::windows::runtime::Result<()> {
10369         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(limit), limitvalue.into_param().abi()).ok()
10370     }
10371 }
10372 unsafe impl ::windows::runtime::Interface for IFsrmReportManager {
10373     type Vtable = IFsrmReportManager_abi;
10374     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(666409470, 28666, 17537, [161, 132, 211, 218, 173, 232, 160, 43]);
10375 }
10376 impl ::std::convert::From<IFsrmReportManager> for ::windows::runtime::IUnknown {
10377     fn from(value: IFsrmReportManager) -> Self {
10378         unsafe { ::std::mem::transmute(value) }
10379     }
10380 }
10381 impl ::std::convert::From<&IFsrmReportManager> for ::windows::runtime::IUnknown {
10382     fn from(value: &IFsrmReportManager) -> Self {
10383         ::std::convert::From::from(::std::clone::Clone::clone(value))
10384     }
10385 }
10386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmReportManager {
10387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10389     }
10390 }
10391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmReportManager {
10392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10394     }
10395 }
10396 #[cfg(feature = "Win32_System_Ole_Automation")]
10397 impl ::std::convert::From<IFsrmReportManager> for super::super::System::Ole::Automation::IDispatch {
10398     fn from(value: IFsrmReportManager) -> Self {
10399         unsafe { ::std::mem::transmute(value) }
10400     }
10401 }
10402 #[cfg(feature = "Win32_System_Ole_Automation")]
10403 impl ::std::convert::From<&IFsrmReportManager> for super::super::System::Ole::Automation::IDispatch {
10404     fn from(value: &IFsrmReportManager) -> Self {
10405         ::std::convert::From::from(::std::clone::Clone::clone(value))
10406     }
10407 }
10408 #[cfg(feature = "Win32_System_Ole_Automation")]
10409 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmReportManager {
10410     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10411         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10412     }
10413 }
10414 #[cfg(feature = "Win32_System_Ole_Automation")]
10415 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmReportManager {
10416     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10417         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10418     }
10419 }
10420 #[repr(C)]
10421 #[doc(hidden)]
10422 pub struct IFsrmReportManager_abi(
10423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10427     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10428     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10429     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10430     #[cfg(not(feature = "Win32_Foundation"))] usize,
10431     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10432     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10433     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: FsrmEnumOptions, reportjobs: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reportjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10436     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, reportjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10437     #[cfg(not(feature = "Win32_Foundation"))] usize,
10438     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext, path: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10439     #[cfg(not(feature = "Win32_Foundation"))] usize,
10440     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: FsrmReportGenerationContext, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10441     #[cfg(not(feature = "Win32_Foundation"))] usize,
10442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttype: FsrmReportType, filter: FsrmReportFilter, valid: *mut i16) -> ::windows::runtime::HRESULT,
10443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttype: FsrmReportType, filter: FsrmReportFilter, filtervalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10444     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10445     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reporttype: FsrmReportType, filter: FsrmReportFilter, filtervalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10446     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10447     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, limit: FsrmReportLimit, limitvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10448     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10449     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, limit: FsrmReportLimit, limitvalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10450     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10451 );
10452 #[repr(transparent)]
10453 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10454 pub struct IFsrmReportScheduler(::windows::runtime::IUnknown);
10455 impl IFsrmReportScheduler {
10456     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10457     pub unsafe fn VerifyNamespaces(&self, namespacessafearray: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
10458         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(namespacessafearray)).ok()
10459     }
10460     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10461     pub unsafe fn CreateScheduleTask<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0, namespacessafearray: *const super::super::System::Com::VARIANT, serializedtask: Param2) -> ::windows::runtime::Result<()> {
10462         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), taskname.into_param().abi(), ::std::mem::transmute(namespacessafearray), serializedtask.into_param().abi()).ok()
10463     }
10464     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10465     pub unsafe fn ModifyScheduleTask<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0, namespacessafearray: *const super::super::System::Com::VARIANT, serializedtask: Param2) -> ::windows::runtime::Result<()> {
10466         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), taskname.into_param().abi(), ::std::mem::transmute(namespacessafearray), serializedtask.into_param().abi()).ok()
10467     }
10468     #[cfg(feature = "Win32_Foundation")]
10469     pub unsafe fn DeleteScheduleTask<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, taskname: Param0) -> ::windows::runtime::Result<()> {
10470         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), taskname.into_param().abi()).ok()
10471     }
10472 }
10473 unsafe impl ::windows::runtime::Interface for IFsrmReportScheduler {
10474     type Vtable = IFsrmReportScheduler_abi;
10475     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1752812281, 26135, 17540, [135, 25, 113, 195, 216, 100, 95, 148]);
10476 }
10477 impl ::std::convert::From<IFsrmReportScheduler> for ::windows::runtime::IUnknown {
10478     fn from(value: IFsrmReportScheduler) -> Self {
10479         unsafe { ::std::mem::transmute(value) }
10480     }
10481 }
10482 impl ::std::convert::From<&IFsrmReportScheduler> for ::windows::runtime::IUnknown {
10483     fn from(value: &IFsrmReportScheduler) -> Self {
10484         ::std::convert::From::from(::std::clone::Clone::clone(value))
10485     }
10486 }
10487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmReportScheduler {
10488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10489         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10490     }
10491 }
10492 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmReportScheduler {
10493     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10494         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10495     }
10496 }
10497 #[cfg(feature = "Win32_System_Ole_Automation")]
10498 impl ::std::convert::From<IFsrmReportScheduler> for super::super::System::Ole::Automation::IDispatch {
10499     fn from(value: IFsrmReportScheduler) -> Self {
10500         unsafe { ::std::mem::transmute(value) }
10501     }
10502 }
10503 #[cfg(feature = "Win32_System_Ole_Automation")]
10504 impl ::std::convert::From<&IFsrmReportScheduler> for super::super::System::Ole::Automation::IDispatch {
10505     fn from(value: &IFsrmReportScheduler) -> Self {
10506         ::std::convert::From::from(::std::clone::Clone::clone(value))
10507     }
10508 }
10509 #[cfg(feature = "Win32_System_Ole_Automation")]
10510 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmReportScheduler {
10511     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10512         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10513     }
10514 }
10515 #[cfg(feature = "Win32_System_Ole_Automation")]
10516 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmReportScheduler {
10517     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10518         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10519     }
10520 }
10521 #[repr(C)]
10522 #[doc(hidden)]
10523 pub struct IFsrmReportScheduler_abi(
10524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10528     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10529     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10530     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10531     #[cfg(not(feature = "Win32_Foundation"))] usize,
10532     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10533     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10534     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10535     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespacessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10536     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10537     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, namespacessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, serializedtask: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10538     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10539     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, namespacessafearray: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, serializedtask: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10540     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10541     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10542     #[cfg(not(feature = "Win32_Foundation"))] usize,
10543 );
10544 #[repr(transparent)]
10545 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10546 pub struct IFsrmRule(::windows::runtime::IUnknown);
10547 impl IFsrmRule {
10548     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
10549         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10550         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
10551     }
10552     #[cfg(feature = "Win32_System_Ole_Automation")]
10553     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
10554         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10555         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
10556     }
10557     #[cfg(feature = "Win32_Foundation")]
10558     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
10559         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
10560     }
10561     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10562     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
10563         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
10564     }
10565     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
10566         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10567         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
10568     }
10569     #[cfg(feature = "Win32_Foundation")]
10570     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10571         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10572         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10573     }
10574     #[cfg(feature = "Win32_Foundation")]
10575     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
10576         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
10577     }
10578     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
10579         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
10580     }
10581     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
10582         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
10583     }
10584     #[cfg(feature = "Win32_Foundation")]
10585     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10586         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10587         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10588     }
10589     #[cfg(feature = "Win32_Foundation")]
10590     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
10591         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
10592     }
10593     pub unsafe fn RuleType(&self) -> ::windows::runtime::Result<FsrmRuleType> {
10594         let mut result__: <FsrmRuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10595         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmRuleType>(result__)
10596     }
10597     #[cfg(feature = "Win32_Foundation")]
10598     pub unsafe fn ModuleDefinitionName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10599         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10600         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10601     }
10602     #[cfg(feature = "Win32_Foundation")]
10603     pub unsafe fn SetModuleDefinitionName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, moduledefinitionname: Param0) -> ::windows::runtime::Result<()> {
10604         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), moduledefinitionname.into_param().abi()).ok()
10605     }
10606     #[cfg(feature = "Win32_System_Com")]
10607     pub unsafe fn NamespaceRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10608         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10609         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10610     }
10611     #[cfg(feature = "Win32_System_Com")]
10612     pub unsafe fn SetNamespaceRoots(&self, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
10613         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(namespaceroots)).ok()
10614     }
10615     pub unsafe fn RuleFlags(&self) -> ::windows::runtime::Result<i32> {
10616         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10617         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10618     }
10619     pub unsafe fn SetRuleFlags(&self, ruleflags: i32) -> ::windows::runtime::Result<()> {
10620         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruleflags)).ok()
10621     }
10622     #[cfg(feature = "Win32_System_Com")]
10623     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10624         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10625         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10626     }
10627     #[cfg(feature = "Win32_System_Com")]
10628     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
10629         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
10630     }
10631     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10632     pub unsafe fn LastModified(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10633         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10634         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10635     }
10636 }
10637 unsafe impl ::windows::runtime::Interface for IFsrmRule {
10638     type Vtable = IFsrmRule_abi;
10639     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3406690656, 5877, 17557, [144, 121, 63, 147, 96, 216, 49, 223]);
10640 }
10641 impl ::std::convert::From<IFsrmRule> for ::windows::runtime::IUnknown {
10642     fn from(value: IFsrmRule) -> Self {
10643         unsafe { ::std::mem::transmute(value) }
10644     }
10645 }
10646 impl ::std::convert::From<&IFsrmRule> for ::windows::runtime::IUnknown {
10647     fn from(value: &IFsrmRule) -> Self {
10648         ::std::convert::From::from(::std::clone::Clone::clone(value))
10649     }
10650 }
10651 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmRule {
10652     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10653         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10654     }
10655 }
10656 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmRule {
10657     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10658         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10659     }
10660 }
10661 impl ::std::convert::From<IFsrmRule> for IFsrmObject {
10662     fn from(value: IFsrmRule) -> Self {
10663         unsafe { ::std::mem::transmute(value) }
10664     }
10665 }
10666 impl ::std::convert::From<&IFsrmRule> for IFsrmObject {
10667     fn from(value: &IFsrmRule) -> Self {
10668         ::std::convert::From::from(::std::clone::Clone::clone(value))
10669     }
10670 }
10671 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmRule {
10672     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
10673         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
10674     }
10675 }
10676 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmRule {
10677     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
10678         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
10679     }
10680 }
10681 #[cfg(feature = "Win32_System_Ole_Automation")]
10682 impl ::std::convert::From<IFsrmRule> for super::super::System::Ole::Automation::IDispatch {
10683     fn from(value: IFsrmRule) -> Self {
10684         unsafe { ::std::mem::transmute(value) }
10685     }
10686 }
10687 #[cfg(feature = "Win32_System_Ole_Automation")]
10688 impl ::std::convert::From<&IFsrmRule> for super::super::System::Ole::Automation::IDispatch {
10689     fn from(value: &IFsrmRule) -> Self {
10690         ::std::convert::From::from(::std::clone::Clone::clone(value))
10691     }
10692 }
10693 #[cfg(feature = "Win32_System_Ole_Automation")]
10694 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmRule {
10695     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10696         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10697     }
10698 }
10699 #[cfg(feature = "Win32_System_Ole_Automation")]
10700 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmRule {
10701     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10702         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10703     }
10704 }
10705 #[repr(C)]
10706 #[doc(hidden)]
10707 pub struct IFsrmRule_abi(
10708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10712     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10713     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10714     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10715     #[cfg(not(feature = "Win32_Foundation"))] usize,
10716     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10717     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10718     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
10720     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10721     #[cfg(not(feature = "Win32_Foundation"))] usize,
10722     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10723     #[cfg(not(feature = "Win32_Foundation"))] usize,
10724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10727     #[cfg(not(feature = "Win32_Foundation"))] usize,
10728     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10729     #[cfg(not(feature = "Win32_Foundation"))] usize,
10730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruletype: *mut FsrmRuleType) -> ::windows::runtime::HRESULT,
10731     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinitionname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10732     #[cfg(not(feature = "Win32_Foundation"))] usize,
10733     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinitionname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10734     #[cfg(not(feature = "Win32_Foundation"))] usize,
10735     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10736     #[cfg(not(feature = "Win32_System_Com"))] usize,
10737     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, namespaceroots: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10738     #[cfg(not(feature = "Win32_System_Com"))] usize,
10739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruleflags: *mut i32) -> ::windows::runtime::HRESULT,
10740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruleflags: i32) -> ::windows::runtime::HRESULT,
10741     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10742     #[cfg(not(feature = "Win32_System_Com"))] usize,
10743     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10744     #[cfg(not(feature = "Win32_System_Com"))] usize,
10745     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastmodified: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10746     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10747 );
10748 #[repr(transparent)]
10749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10750 pub struct IFsrmSetting(::windows::runtime::IUnknown);
10751 impl IFsrmSetting {
10752     #[cfg(feature = "Win32_Foundation")]
10753     pub unsafe fn SmtpServer(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10754         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10755         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10756     }
10757     #[cfg(feature = "Win32_Foundation")]
10758     pub unsafe fn SetSmtpServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, smtpserver: Param0) -> ::windows::runtime::Result<()> {
10759         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), smtpserver.into_param().abi()).ok()
10760     }
10761     #[cfg(feature = "Win32_Foundation")]
10762     pub unsafe fn MailFrom(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10763         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10764         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10765     }
10766     #[cfg(feature = "Win32_Foundation")]
10767     pub unsafe fn SetMailFrom<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailfrom: Param0) -> ::windows::runtime::Result<()> {
10768         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), mailfrom.into_param().abi()).ok()
10769     }
10770     #[cfg(feature = "Win32_Foundation")]
10771     pub unsafe fn AdminEmail(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10772         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10773         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10774     }
10775     #[cfg(feature = "Win32_Foundation")]
10776     pub unsafe fn SetAdminEmail<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, adminemail: Param0) -> ::windows::runtime::Result<()> {
10777         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), adminemail.into_param().abi()).ok()
10778     }
10779     pub unsafe fn DisableCommandLine(&self) -> ::windows::runtime::Result<i16> {
10780         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10781         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10782     }
10783     pub unsafe fn SetDisableCommandLine(&self, disablecommandline: i16) -> ::windows::runtime::Result<()> {
10784         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(disablecommandline)).ok()
10785     }
10786     pub unsafe fn EnableScreeningAudit(&self) -> ::windows::runtime::Result<i16> {
10787         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10788         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10789     }
10790     pub unsafe fn SetEnableScreeningAudit(&self, enablescreeningaudit: i16) -> ::windows::runtime::Result<()> {
10791         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablescreeningaudit)).ok()
10792     }
10793     #[cfg(feature = "Win32_Foundation")]
10794     pub unsafe fn EmailTest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, mailto: Param0) -> ::windows::runtime::Result<()> {
10795         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), mailto.into_param().abi()).ok()
10796     }
10797     pub unsafe fn SetActionRunLimitInterval(&self, actiontype: FsrmActionType, delaytimeminutes: i32) -> ::windows::runtime::Result<()> {
10798         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), ::std::mem::transmute(delaytimeminutes)).ok()
10799     }
10800     pub unsafe fn GetActionRunLimitInterval(&self, actiontype: FsrmActionType) -> ::windows::runtime::Result<i32> {
10801         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10802         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(actiontype), &mut result__).from_abi::<i32>(result__)
10803     }
10804 }
10805 unsafe impl ::windows::runtime::Interface for IFsrmSetting {
10806     type Vtable = IFsrmSetting_abi;
10807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4094809341, 5310, 16992, [140, 64, 3, 183, 201, 94, 96, 138]);
10808 }
10809 impl ::std::convert::From<IFsrmSetting> for ::windows::runtime::IUnknown {
10810     fn from(value: IFsrmSetting) -> Self {
10811         unsafe { ::std::mem::transmute(value) }
10812     }
10813 }
10814 impl ::std::convert::From<&IFsrmSetting> for ::windows::runtime::IUnknown {
10815     fn from(value: &IFsrmSetting) -> Self {
10816         ::std::convert::From::from(::std::clone::Clone::clone(value))
10817     }
10818 }
10819 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmSetting {
10820     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10821         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10822     }
10823 }
10824 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmSetting {
10825     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10826         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10827     }
10828 }
10829 #[cfg(feature = "Win32_System_Ole_Automation")]
10830 impl ::std::convert::From<IFsrmSetting> for super::super::System::Ole::Automation::IDispatch {
10831     fn from(value: IFsrmSetting) -> Self {
10832         unsafe { ::std::mem::transmute(value) }
10833     }
10834 }
10835 #[cfg(feature = "Win32_System_Ole_Automation")]
10836 impl ::std::convert::From<&IFsrmSetting> for super::super::System::Ole::Automation::IDispatch {
10837     fn from(value: &IFsrmSetting) -> Self {
10838         ::std::convert::From::from(::std::clone::Clone::clone(value))
10839     }
10840 }
10841 #[cfg(feature = "Win32_System_Ole_Automation")]
10842 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmSetting {
10843     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10844         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10845     }
10846 }
10847 #[cfg(feature = "Win32_System_Ole_Automation")]
10848 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmSetting {
10849     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10850         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10851     }
10852 }
10853 #[repr(C)]
10854 #[doc(hidden)]
10855 pub struct IFsrmSetting_abi(
10856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10860     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10861     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10862     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10863     #[cfg(not(feature = "Win32_Foundation"))] usize,
10864     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10865     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10866     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, smtpserver: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10868     #[cfg(not(feature = "Win32_Foundation"))] usize,
10869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, smtpserver: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10870     #[cfg(not(feature = "Win32_Foundation"))] usize,
10871     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10872     #[cfg(not(feature = "Win32_Foundation"))] usize,
10873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailfrom: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10874     #[cfg(not(feature = "Win32_Foundation"))] usize,
10875     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adminemail: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10876     #[cfg(not(feature = "Win32_Foundation"))] usize,
10877     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adminemail: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10878     #[cfg(not(feature = "Win32_Foundation"))] usize,
10879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, disablecommandline: *mut i16) -> ::windows::runtime::HRESULT,
10880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, disablecommandline: i16) -> ::windows::runtime::HRESULT,
10881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablescreeningaudit: *mut i16) -> ::windows::runtime::HRESULT,
10882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablescreeningaudit: i16) -> ::windows::runtime::HRESULT,
10883     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mailto: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10884     #[cfg(not(feature = "Win32_Foundation"))] usize,
10885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, delaytimeminutes: i32) -> ::windows::runtime::HRESULT,
10886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actiontype: FsrmActionType, delaytimeminutes: *mut i32) -> ::windows::runtime::HRESULT,
10887 );
10888 #[repr(transparent)]
10889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10890 pub struct IFsrmStorageModuleDefinition(::windows::runtime::IUnknown);
10891 impl IFsrmStorageModuleDefinition {
10892     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
10893         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10894         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
10895     }
10896     #[cfg(feature = "Win32_System_Ole_Automation")]
10897     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
10898         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10899         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
10900     }
10901     #[cfg(feature = "Win32_Foundation")]
10902     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
10903         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
10904     }
10905     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10906     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
10907         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
10908     }
10909     pub unsafe fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
10910         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10911         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
10912     }
10913     #[cfg(feature = "Win32_Foundation")]
10914     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10915         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10916         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10917     }
10918     #[cfg(feature = "Win32_Foundation")]
10919     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<()> {
10920         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), description.into_param().abi()).ok()
10921     }
10922     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
10923         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
10924     }
10925     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
10926         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
10927     }
10928     #[cfg(feature = "Win32_Foundation")]
10929     pub unsafe fn ModuleClsid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10930         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10931         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10932     }
10933     #[cfg(feature = "Win32_Foundation")]
10934     pub unsafe fn SetModuleClsid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, moduleclsid: Param0) -> ::windows::runtime::Result<()> {
10935         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), moduleclsid.into_param().abi()).ok()
10936     }
10937     #[cfg(feature = "Win32_Foundation")]
10938     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10939         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10940         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10941     }
10942     #[cfg(feature = "Win32_Foundation")]
10943     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
10944         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
10945     }
10946     #[cfg(feature = "Win32_Foundation")]
10947     pub unsafe fn Company(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10948         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10949         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10950     }
10951     #[cfg(feature = "Win32_Foundation")]
10952     pub unsafe fn SetCompany<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, company: Param0) -> ::windows::runtime::Result<()> {
10953         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), company.into_param().abi()).ok()
10954     }
10955     #[cfg(feature = "Win32_Foundation")]
10956     pub unsafe fn Version(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10957         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10958         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10959     }
10960     #[cfg(feature = "Win32_Foundation")]
10961     pub unsafe fn SetVersion<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, version: Param0) -> ::windows::runtime::Result<()> {
10962         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), version.into_param().abi()).ok()
10963     }
10964     pub unsafe fn ModuleType(&self) -> ::windows::runtime::Result<FsrmPipelineModuleType> {
10965         let mut result__: <FsrmPipelineModuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10966         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmPipelineModuleType>(result__)
10967     }
10968     pub unsafe fn Enabled(&self) -> ::windows::runtime::Result<i16> {
10969         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10970         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10971     }
10972     pub unsafe fn SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()> {
10973         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(enabled)).ok()
10974     }
10975     pub unsafe fn NeedsFileContent(&self) -> ::windows::runtime::Result<i16> {
10976         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10977         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10978     }
10979     pub unsafe fn SetNeedsFileContent(&self, needsfilecontent: i16) -> ::windows::runtime::Result<()> {
10980         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(needsfilecontent)).ok()
10981     }
10982     pub unsafe fn Account(&self) -> ::windows::runtime::Result<FsrmAccountType> {
10983         let mut result__: <FsrmAccountType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10984         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmAccountType>(result__)
10985     }
10986     pub unsafe fn SetAccount(&self, retrievalaccount: FsrmAccountType) -> ::windows::runtime::Result<()> {
10987         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(retrievalaccount)).ok()
10988     }
10989     #[cfg(feature = "Win32_System_Com")]
10990     pub unsafe fn SupportedExtensions(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10991         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10992         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10993     }
10994     #[cfg(feature = "Win32_System_Com")]
10995     pub unsafe fn SetSupportedExtensions(&self, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
10996         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(supportedextensions)).ok()
10997     }
10998     #[cfg(feature = "Win32_System_Com")]
10999     pub unsafe fn Parameters(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
11000         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11001         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
11002     }
11003     #[cfg(feature = "Win32_System_Com")]
11004     pub unsafe fn SetParameters(&self, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
11005         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameters)).ok()
11006     }
11007     pub unsafe fn Capabilities(&self) -> ::windows::runtime::Result<FsrmStorageModuleCaps> {
11008         let mut result__: <FsrmStorageModuleCaps as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11009         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmStorageModuleCaps>(result__)
11010     }
11011     pub unsafe fn SetCapabilities(&self, capabilities: FsrmStorageModuleCaps) -> ::windows::runtime::Result<()> {
11012         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(capabilities)).ok()
11013     }
11014     pub unsafe fn StorageType(&self) -> ::windows::runtime::Result<FsrmStorageModuleType> {
11015         let mut result__: <FsrmStorageModuleType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11016         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsrmStorageModuleType>(result__)
11017     }
11018     pub unsafe fn SetStorageType(&self, storagetype: FsrmStorageModuleType) -> ::windows::runtime::Result<()> {
11019         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(storagetype)).ok()
11020     }
11021     pub unsafe fn UpdatesFileContent(&self) -> ::windows::runtime::Result<i16> {
11022         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11023         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11024     }
11025     pub unsafe fn SetUpdatesFileContent(&self, updatesfilecontent: i16) -> ::windows::runtime::Result<()> {
11026         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(updatesfilecontent)).ok()
11027     }
11028 }
11029 unsafe impl ::windows::runtime::Interface for IFsrmStorageModuleDefinition {
11030     type Vtable = IFsrmStorageModuleDefinition_abi;
11031     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(363336528, 18813, 19130, [128, 233, 212, 219, 204, 85, 33, 254]);
11032 }
11033 impl ::std::convert::From<IFsrmStorageModuleDefinition> for ::windows::runtime::IUnknown {
11034     fn from(value: IFsrmStorageModuleDefinition) -> Self {
11035         unsafe { ::std::mem::transmute(value) }
11036     }
11037 }
11038 impl ::std::convert::From<&IFsrmStorageModuleDefinition> for ::windows::runtime::IUnknown {
11039     fn from(value: &IFsrmStorageModuleDefinition) -> Self {
11040         ::std::convert::From::from(::std::clone::Clone::clone(value))
11041     }
11042 }
11043 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmStorageModuleDefinition {
11044     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11045         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11046     }
11047 }
11048 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmStorageModuleDefinition {
11049     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11050         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11051     }
11052 }
11053 impl ::std::convert::From<IFsrmStorageModuleDefinition> for IFsrmPipelineModuleDefinition {
11054     fn from(value: IFsrmStorageModuleDefinition) -> Self {
11055         unsafe { ::std::mem::transmute(value) }
11056     }
11057 }
11058 impl ::std::convert::From<&IFsrmStorageModuleDefinition> for IFsrmPipelineModuleDefinition {
11059     fn from(value: &IFsrmStorageModuleDefinition) -> Self {
11060         ::std::convert::From::from(::std::clone::Clone::clone(value))
11061     }
11062 }
11063 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition> for IFsrmStorageModuleDefinition {
11064     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleDefinition> {
11065         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleDefinition>::into(self))
11066     }
11067 }
11068 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition> for &IFsrmStorageModuleDefinition {
11069     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleDefinition> {
11070         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleDefinition>::into(::std::clone::Clone::clone(self)))
11071     }
11072 }
11073 impl ::std::convert::From<IFsrmStorageModuleDefinition> for IFsrmObject {
11074     fn from(value: IFsrmStorageModuleDefinition) -> Self {
11075         unsafe { ::std::mem::transmute(value) }
11076     }
11077 }
11078 impl ::std::convert::From<&IFsrmStorageModuleDefinition> for IFsrmObject {
11079     fn from(value: &IFsrmStorageModuleDefinition) -> Self {
11080         ::std::convert::From::from(::std::clone::Clone::clone(value))
11081     }
11082 }
11083 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for IFsrmStorageModuleDefinition {
11084     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
11085         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(self))
11086     }
11087 }
11088 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmObject> for &IFsrmStorageModuleDefinition {
11089     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmObject> {
11090         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmObject>::into(::std::clone::Clone::clone(self)))
11091     }
11092 }
11093 #[cfg(feature = "Win32_System_Ole_Automation")]
11094 impl ::std::convert::From<IFsrmStorageModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
11095     fn from(value: IFsrmStorageModuleDefinition) -> Self {
11096         unsafe { ::std::mem::transmute(value) }
11097     }
11098 }
11099 #[cfg(feature = "Win32_System_Ole_Automation")]
11100 impl ::std::convert::From<&IFsrmStorageModuleDefinition> for super::super::System::Ole::Automation::IDispatch {
11101     fn from(value: &IFsrmStorageModuleDefinition) -> Self {
11102         ::std::convert::From::from(::std::clone::Clone::clone(value))
11103     }
11104 }
11105 #[cfg(feature = "Win32_System_Ole_Automation")]
11106 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmStorageModuleDefinition {
11107     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11108         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11109     }
11110 }
11111 #[cfg(feature = "Win32_System_Ole_Automation")]
11112 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmStorageModuleDefinition {
11113     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11114         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11115     }
11116 }
11117 #[repr(C)]
11118 #[doc(hidden)]
11119 pub struct IFsrmStorageModuleDefinition_abi(
11120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11124     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11125     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11126     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11127     #[cfg(not(feature = "Win32_Foundation"))] usize,
11128     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11129     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11130     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
11132     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11133     #[cfg(not(feature = "Win32_Foundation"))] usize,
11134     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11135     #[cfg(not(feature = "Win32_Foundation"))] usize,
11136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11138     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11139     #[cfg(not(feature = "Win32_Foundation"))] usize,
11140     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduleclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11141     #[cfg(not(feature = "Win32_Foundation"))] usize,
11142     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11143     #[cfg(not(feature = "Win32_Foundation"))] usize,
11144     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11145     #[cfg(not(feature = "Win32_Foundation"))] usize,
11146     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11147     #[cfg(not(feature = "Win32_Foundation"))] usize,
11148     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, company: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11149     #[cfg(not(feature = "Win32_Foundation"))] usize,
11150     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11151     #[cfg(not(feature = "Win32_Foundation"))] usize,
11152     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, version: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11153     #[cfg(not(feature = "Win32_Foundation"))] usize,
11154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduletype: *mut FsrmPipelineModuleType) -> ::windows::runtime::HRESULT,
11155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: *mut i16) -> ::windows::runtime::HRESULT,
11156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: i16) -> ::windows::runtime::HRESULT,
11157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: *mut i16) -> ::windows::runtime::HRESULT,
11158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, needsfilecontent: i16) -> ::windows::runtime::HRESULT,
11159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: *mut FsrmAccountType) -> ::windows::runtime::HRESULT,
11160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retrievalaccount: FsrmAccountType) -> ::windows::runtime::HRESULT,
11161     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11162     #[cfg(not(feature = "Win32_System_Com"))] usize,
11163     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedextensions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11164     #[cfg(not(feature = "Win32_System_Com"))] usize,
11165     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11166     #[cfg(not(feature = "Win32_System_Com"))] usize,
11167     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11168     #[cfg(not(feature = "Win32_System_Com"))] usize,
11169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capabilities: *mut FsrmStorageModuleCaps) -> ::windows::runtime::HRESULT,
11170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capabilities: FsrmStorageModuleCaps) -> ::windows::runtime::HRESULT,
11171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storagetype: *mut FsrmStorageModuleType) -> ::windows::runtime::HRESULT,
11172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storagetype: FsrmStorageModuleType) -> ::windows::runtime::HRESULT,
11173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, updatesfilecontent: *mut i16) -> ::windows::runtime::HRESULT,
11174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, updatesfilecontent: i16) -> ::windows::runtime::HRESULT,
11175 );
11176 #[repr(transparent)]
11177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11178 pub struct IFsrmStorageModuleImplementation(::windows::runtime::IUnknown);
11179 impl IFsrmStorageModuleImplementation {
11180     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
11181         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11182         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
11183     }
11184     #[cfg(feature = "Win32_System_Ole_Automation")]
11185     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
11186         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11187         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
11188     }
11189     #[cfg(feature = "Win32_Foundation")]
11190     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
11191         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
11192     }
11193     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11194     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
11195         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
11196     }
11197     pub unsafe fn OnLoad<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleDefinition>>(&self, moduledefinition: Param0) -> ::windows::runtime::Result<IFsrmPipelineModuleConnector> {
11198         let mut result__: <IFsrmPipelineModuleConnector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11199         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), moduledefinition.into_param().abi(), &mut result__).from_abi::<IFsrmPipelineModuleConnector>(result__)
11200     }
11201     pub unsafe fn OnUnload(&self) -> ::windows::runtime::Result<()> {
11202         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
11203     }
11204     pub unsafe fn UseDefinitions<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmCollection>>(&self, propertydefinitions: Param0) -> ::windows::runtime::Result<()> {
11205         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), propertydefinitions.into_param().abi()).ok()
11206     }
11207     pub unsafe fn LoadProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPropertyBag>>(&self, propertybag: Param0) -> ::windows::runtime::Result<()> {
11208         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), propertybag.into_param().abi()).ok()
11209     }
11210     pub unsafe fn SaveProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IFsrmPropertyBag>>(&self, propertybag: Param0) -> ::windows::runtime::Result<()> {
11211         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), propertybag.into_param().abi()).ok()
11212     }
11213 }
11214 unsafe impl ::windows::runtime::Interface for IFsrmStorageModuleImplementation {
11215     type Vtable = IFsrmStorageModuleImplementation_abi;
11216     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(183804122, 35162, 20048, [135, 18, 169, 103, 36, 188, 236, 100]);
11217 }
11218 impl ::std::convert::From<IFsrmStorageModuleImplementation> for ::windows::runtime::IUnknown {
11219     fn from(value: IFsrmStorageModuleImplementation) -> Self {
11220         unsafe { ::std::mem::transmute(value) }
11221     }
11222 }
11223 impl ::std::convert::From<&IFsrmStorageModuleImplementation> for ::windows::runtime::IUnknown {
11224     fn from(value: &IFsrmStorageModuleImplementation) -> Self {
11225         ::std::convert::From::from(::std::clone::Clone::clone(value))
11226     }
11227 }
11228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsrmStorageModuleImplementation {
11229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11230         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11231     }
11232 }
11233 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsrmStorageModuleImplementation {
11234     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11235         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11236     }
11237 }
11238 impl ::std::convert::From<IFsrmStorageModuleImplementation> for IFsrmPipelineModuleImplementation {
11239     fn from(value: IFsrmStorageModuleImplementation) -> Self {
11240         unsafe { ::std::mem::transmute(value) }
11241     }
11242 }
11243 impl ::std::convert::From<&IFsrmStorageModuleImplementation> for IFsrmPipelineModuleImplementation {
11244     fn from(value: &IFsrmStorageModuleImplementation) -> Self {
11245         ::std::convert::From::from(::std::clone::Clone::clone(value))
11246     }
11247 }
11248 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleImplementation> for IFsrmStorageModuleImplementation {
11249     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleImplementation> {
11250         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleImplementation>::into(self))
11251     }
11252 }
11253 impl<'a> ::windows::runtime::IntoParam<'a, IFsrmPipelineModuleImplementation> for &IFsrmStorageModuleImplementation {
11254     fn into_param(self) -> ::windows::runtime::Param<'a, IFsrmPipelineModuleImplementation> {
11255         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsrmPipelineModuleImplementation>::into(::std::clone::Clone::clone(self)))
11256     }
11257 }
11258 #[cfg(feature = "Win32_System_Ole_Automation")]
11259 impl ::std::convert::From<IFsrmStorageModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
11260     fn from(value: IFsrmStorageModuleImplementation) -> Self {
11261         unsafe { ::std::mem::transmute(value) }
11262     }
11263 }
11264 #[cfg(feature = "Win32_System_Ole_Automation")]
11265 impl ::std::convert::From<&IFsrmStorageModuleImplementation> for super::super::System::Ole::Automation::IDispatch {
11266     fn from(value: &IFsrmStorageModuleImplementation) -> Self {
11267         ::std::convert::From::from(::std::clone::Clone::clone(value))
11268     }
11269 }
11270 #[cfg(feature = "Win32_System_Ole_Automation")]
11271 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsrmStorageModuleImplementation {
11272     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11273         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11274     }
11275 }
11276 #[cfg(feature = "Win32_System_Ole_Automation")]
11277 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsrmStorageModuleImplementation {
11278     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11279         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11280     }
11281 }
11282 #[repr(C)]
11283 #[doc(hidden)]
11284 pub struct IFsrmStorageModuleImplementation_abi(
11285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11289     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11290     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11291     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11292     #[cfg(not(feature = "Win32_Foundation"))] usize,
11293     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11294     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11295     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, moduledefinition: ::windows::runtime::RawPtr, moduleconnector: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertydefinitions: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertybag: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertybag: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11301 );
11302 pub const MessageSizeLimit: u32 = 4096u32;
11303