]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/Devices/DeviceQuery/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / Devices / DeviceQuery / mod.rs
1 #[link(name = "windows")]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
4 pub fn DevCloseObjectQuery(hdevquery: *const HDEVQUERY__);
5 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
6 #[cfg(feature = "Win32_Devices_Properties")]
7 pub fn DevCreateObjectQuery(objecttype: DEV_OBJECT_TYPE, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
8 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
9 #[cfg(feature = "Win32_Devices_Properties")]
10 pub fn DevCreateObjectQueryEx(objecttype: DEV_OBJECT_TYPE, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, cextendedparametercount: u32, pextendedparameters: *const DEV_QUERY_PARAMETER, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
11 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
12 #[cfg(feature = "Win32_Devices_Properties")]
13 pub fn DevCreateObjectQueryFromId(objecttype: DEV_OBJECT_TYPE, pszobjectid: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
14 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
15 #[cfg(feature = "Win32_Devices_Properties")]
16 pub fn DevCreateObjectQueryFromIdEx(objecttype: DEV_OBJECT_TYPE, pszobjectid: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, cextendedparametercount: u32, pextendedparameters: *const DEV_QUERY_PARAMETER, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
17 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
18 #[cfg(feature = "Win32_Devices_Properties")]
19 pub fn DevCreateObjectQueryFromIds(objecttype: DEV_OBJECT_TYPE, pszzobjectids: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
20 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
21 #[cfg(feature = "Win32_Devices_Properties")]
22 pub fn DevCreateObjectQueryFromIdsEx(objecttype: DEV_OBJECT_TYPE, pszzobjectids: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, cextendedparametercount: u32, pextendedparameters: *const DEV_QUERY_PARAMETER, pcallback: PDEV_QUERY_RESULT_CALLBACK, pcontext: *const ::core::ffi::c_void, phdevquery: *mut *mut HDEVQUERY__) -> ::windows_sys::core::HRESULT;
23 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
24 #[cfg(feature = "Win32_Devices_Properties")]
25 pub fn DevFindProperty(pkey: *const super::Properties::DEVPROPKEY, store: super::Properties::DEVPROPSTORE, pszlocalename: ::windows_sys::core::PCWSTR, cproperties: u32, pproperties: *const super::Properties::DEVPROPERTY) -> *mut super::Properties::DEVPROPERTY;
26 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
27 #[cfg(feature = "Win32_Devices_Properties")]
28 pub fn DevFreeObjectProperties(cpropertycount: u32, pproperties: *const super::Properties::DEVPROPERTY);
29 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
30 #[cfg(feature = "Win32_Devices_Properties")]
31 pub fn DevFreeObjects(cobjectcount: u32, pobjects: *const DEV_OBJECT);
32 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
33 #[cfg(feature = "Win32_Devices_Properties")]
34 pub fn DevGetObjectProperties(objecttype: DEV_OBJECT_TYPE, pszobjectid: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, pcpropertycount: *mut u32, ppproperties: *mut *mut super::Properties::DEVPROPERTY) -> ::windows_sys::core::HRESULT;
35 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
36 #[cfg(feature = "Win32_Devices_Properties")]
37 pub fn DevGetObjectPropertiesEx(objecttype: DEV_OBJECT_TYPE, pszobjectid: ::windows_sys::core::PCWSTR, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cextendedparametercount: u32, pextendedparameters: *const DEV_QUERY_PARAMETER, pcpropertycount: *mut u32, ppproperties: *mut *mut super::Properties::DEVPROPERTY) -> ::windows_sys::core::HRESULT;
38 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
39 #[cfg(feature = "Win32_Devices_Properties")]
40 pub fn DevGetObjects(objecttype: DEV_OBJECT_TYPE, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, pcobjectcount: *mut u32, ppobjects: *mut *mut DEV_OBJECT) -> ::windows_sys::core::HRESULT;
41 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
42 #[cfg(feature = "Win32_Devices_Properties")]
43 pub fn DevGetObjectsEx(objecttype: DEV_OBJECT_TYPE, queryflags: u32, crequestedproperties: u32, prequestedproperties: *const super::Properties::DEVPROPCOMPKEY, cfilterexpressioncount: u32, pfilter: *const DEVPROP_FILTER_EXPRESSION, cextendedparametercount: u32, pextendedparameters: *const DEV_QUERY_PARAMETER, pcobjectcount: *mut u32, ppobjects: *mut *mut DEV_OBJECT) -> ::windows_sys::core::HRESULT;
44 }
45 #[repr(C)]
46 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
47 #[cfg(feature = "Win32_Devices_Properties")]
48 pub struct DEVPROP_FILTER_EXPRESSION {
49 pub Operator: DEVPROP_OPERATOR,
50 pub Property: super::Properties::DEVPROPERTY,
51 }
52 #[cfg(feature = "Win32_Devices_Properties")]
53 impl ::core::marker::Copy for DEVPROP_FILTER_EXPRESSION {}
54 #[cfg(feature = "Win32_Devices_Properties")]
55 impl ::core::clone::Clone for DEVPROP_FILTER_EXPRESSION {
56 fn clone(&self) -> Self {
57 *self
58 }
59 }
60 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
61 pub type DEVPROP_OPERATOR = u32;
62 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
63 pub const DEVPROP_OPERATOR_MODIFIER_NOT: DEVPROP_OPERATOR = 65536u32;
64 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
65 pub const DEVPROP_OPERATOR_MODIFIER_IGNORE_CASE: DEVPROP_OPERATOR = 131072u32;
66 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
67 pub const DEVPROP_OPERATOR_NONE: DEVPROP_OPERATOR = 0u32;
68 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
69 pub const DEVPROP_OPERATOR_EXISTS: DEVPROP_OPERATOR = 1u32;
70 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
71 pub const DEVPROP_OPERATOR_NOT_EXISTS: DEVPROP_OPERATOR = 65537u32;
72 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
73 pub const DEVPROP_OPERATOR_EQUALS: DEVPROP_OPERATOR = 2u32;
74 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
75 pub const DEVPROP_OPERATOR_NOT_EQUALS: DEVPROP_OPERATOR = 65538u32;
76 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
77 pub const DEVPROP_OPERATOR_GREATER_THAN: DEVPROP_OPERATOR = 3u32;
78 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
79 pub const DEVPROP_OPERATOR_LESS_THAN: DEVPROP_OPERATOR = 4u32;
80 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
81 pub const DEVPROP_OPERATOR_GREATER_THAN_EQUALS: DEVPROP_OPERATOR = 5u32;
82 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
83 pub const DEVPROP_OPERATOR_LESS_THAN_EQUALS: DEVPROP_OPERATOR = 6u32;
84 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
85 pub const DEVPROP_OPERATOR_EQUALS_IGNORE_CASE: DEVPROP_OPERATOR = 131074u32;
86 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
87 pub const DEVPROP_OPERATOR_NOT_EQUALS_IGNORE_CASE: DEVPROP_OPERATOR = 196610u32;
88 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
89 pub const DEVPROP_OPERATOR_BITWISE_AND: DEVPROP_OPERATOR = 7u32;
90 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
91 pub const DEVPROP_OPERATOR_BITWISE_OR: DEVPROP_OPERATOR = 8u32;
92 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
93 pub const DEVPROP_OPERATOR_BEGINS_WITH: DEVPROP_OPERATOR = 9u32;
94 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
95 pub const DEVPROP_OPERATOR_ENDS_WITH: DEVPROP_OPERATOR = 10u32;
96 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
97 pub const DEVPROP_OPERATOR_CONTAINS: DEVPROP_OPERATOR = 11u32;
98 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
99 pub const DEVPROP_OPERATOR_BEGINS_WITH_IGNORE_CASE: DEVPROP_OPERATOR = 131081u32;
100 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
101 pub const DEVPROP_OPERATOR_ENDS_WITH_IGNORE_CASE: DEVPROP_OPERATOR = 131082u32;
102 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
103 pub const DEVPROP_OPERATOR_CONTAINS_IGNORE_CASE: DEVPROP_OPERATOR = 131083u32;
104 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
105 pub const DEVPROP_OPERATOR_LIST_CONTAINS: DEVPROP_OPERATOR = 4096u32;
106 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
107 pub const DEVPROP_OPERATOR_LIST_ELEMENT_BEGINS_WITH: DEVPROP_OPERATOR = 8192u32;
108 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
109 pub const DEVPROP_OPERATOR_LIST_ELEMENT_ENDS_WITH: DEVPROP_OPERATOR = 12288u32;
110 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
111 pub const DEVPROP_OPERATOR_LIST_ELEMENT_CONTAINS: DEVPROP_OPERATOR = 16384u32;
112 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
113 pub const DEVPROP_OPERATOR_LIST_CONTAINS_IGNORE_CASE: DEVPROP_OPERATOR = 135168u32;
114 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
115 pub const DEVPROP_OPERATOR_LIST_ELEMENT_BEGINS_WITH_IGNORE_CASE: DEVPROP_OPERATOR = 139264u32;
116 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
117 pub const DEVPROP_OPERATOR_LIST_ELEMENT_ENDS_WITH_IGNORE_CASE: DEVPROP_OPERATOR = 143360u32;
118 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
119 pub const DEVPROP_OPERATOR_LIST_ELEMENT_CONTAINS_IGNORE_CASE: DEVPROP_OPERATOR = 147456u32;
120 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
121 pub const DEVPROP_OPERATOR_AND_OPEN: DEVPROP_OPERATOR = 1048576u32;
122 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
123 pub const DEVPROP_OPERATOR_AND_CLOSE: DEVPROP_OPERATOR = 2097152u32;
124 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
125 pub const DEVPROP_OPERATOR_OR_OPEN: DEVPROP_OPERATOR = 3145728u32;
126 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
127 pub const DEVPROP_OPERATOR_OR_CLOSE: DEVPROP_OPERATOR = 4194304u32;
128 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
129 pub const DEVPROP_OPERATOR_NOT_OPEN: DEVPROP_OPERATOR = 5242880u32;
130 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
131 pub const DEVPROP_OPERATOR_NOT_CLOSE: DEVPROP_OPERATOR = 6291456u32;
132 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
133 pub const DEVPROP_OPERATOR_ARRAY_CONTAINS: DEVPROP_OPERATOR = 268435456u32;
134 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
135 pub const DEVPROP_OPERATOR_MASK_EVAL: DEVPROP_OPERATOR = 4095u32;
136 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
137 pub const DEVPROP_OPERATOR_MASK_LIST: DEVPROP_OPERATOR = 61440u32;
138 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
139 pub const DEVPROP_OPERATOR_MASK_MODIFIER: DEVPROP_OPERATOR = 983040u32;
140 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
141 pub const DEVPROP_OPERATOR_MASK_NOT_LOGICAL: DEVPROP_OPERATOR = 4027580415u32;
142 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
143 pub const DEVPROP_OPERATOR_MASK_LOGICAL: DEVPROP_OPERATOR = 267386880u32;
144 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
145 pub const DEVPROP_OPERATOR_MASK_ARRAY: DEVPROP_OPERATOR = 4026531840u32;
146 #[repr(C)]
147 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
148 #[cfg(feature = "Win32_Devices_Properties")]
149 pub struct DEV_OBJECT {
150 pub ObjectType: DEV_OBJECT_TYPE,
151 pub pszObjectId: ::windows_sys::core::PCWSTR,
152 pub cPropertyCount: u32,
153 pub pProperties: *const super::Properties::DEVPROPERTY,
154 }
155 #[cfg(feature = "Win32_Devices_Properties")]
156 impl ::core::marker::Copy for DEV_OBJECT {}
157 #[cfg(feature = "Win32_Devices_Properties")]
158 impl ::core::clone::Clone for DEV_OBJECT {
159 fn clone(&self) -> Self {
160 *self
161 }
162 }
163 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
164 pub type DEV_OBJECT_TYPE = i32;
165 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
166 pub const DevObjectTypeUnknown: DEV_OBJECT_TYPE = 0i32;
167 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
168 pub const DevObjectTypeDeviceInterface: DEV_OBJECT_TYPE = 1i32;
169 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
170 pub const DevObjectTypeDeviceContainer: DEV_OBJECT_TYPE = 2i32;
171 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
172 pub const DevObjectTypeDevice: DEV_OBJECT_TYPE = 3i32;
173 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
174 pub const DevObjectTypeDeviceInterfaceClass: DEV_OBJECT_TYPE = 4i32;
175 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
176 pub const DevObjectTypeAEP: DEV_OBJECT_TYPE = 5i32;
177 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
178 pub const DevObjectTypeAEPContainer: DEV_OBJECT_TYPE = 6i32;
179 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
180 pub const DevObjectTypeDeviceInstallerClass: DEV_OBJECT_TYPE = 7i32;
181 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
182 pub const DevObjectTypeDeviceInterfaceDisplay: DEV_OBJECT_TYPE = 8i32;
183 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
184 pub const DevObjectTypeDeviceContainerDisplay: DEV_OBJECT_TYPE = 9i32;
185 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
186 pub const DevObjectTypeAEPService: DEV_OBJECT_TYPE = 10i32;
187 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
188 pub const DevObjectTypeDevicePanel: DEV_OBJECT_TYPE = 11i32;
189 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
190 pub type DEV_QUERY_FLAGS = i32;
191 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
192 pub const DevQueryFlagNone: DEV_QUERY_FLAGS = 0i32;
193 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
194 pub const DevQueryFlagUpdateResults: DEV_QUERY_FLAGS = 1i32;
195 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
196 pub const DevQueryFlagAllProperties: DEV_QUERY_FLAGS = 2i32;
197 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
198 pub const DevQueryFlagLocalize: DEV_QUERY_FLAGS = 4i32;
199 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
200 pub const DevQueryFlagAsyncClose: DEV_QUERY_FLAGS = 8i32;
201 #[repr(C)]
202 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
203 #[cfg(feature = "Win32_Devices_Properties")]
204 pub struct DEV_QUERY_PARAMETER {
205 pub Key: super::Properties::DEVPROPKEY,
206 pub Type: u32,
207 pub BufferSize: u32,
208 pub Buffer: *mut ::core::ffi::c_void,
209 }
210 #[cfg(feature = "Win32_Devices_Properties")]
211 impl ::core::marker::Copy for DEV_QUERY_PARAMETER {}
212 #[cfg(feature = "Win32_Devices_Properties")]
213 impl ::core::clone::Clone for DEV_QUERY_PARAMETER {
214 fn clone(&self) -> Self {
215 *self
216 }
217 }
218 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
219 pub type DEV_QUERY_RESULT_ACTION = i32;
220 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
221 pub const DevQueryResultStateChange: DEV_QUERY_RESULT_ACTION = 0i32;
222 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
223 pub const DevQueryResultAdd: DEV_QUERY_RESULT_ACTION = 1i32;
224 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
225 pub const DevQueryResultUpdate: DEV_QUERY_RESULT_ACTION = 2i32;
226 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
227 pub const DevQueryResultRemove: DEV_QUERY_RESULT_ACTION = 3i32;
228 #[repr(C)]
229 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
230 #[cfg(feature = "Win32_Devices_Properties")]
231 pub struct DEV_QUERY_RESULT_ACTION_DATA {
232 pub Action: DEV_QUERY_RESULT_ACTION,
233 pub Data: DEV_QUERY_RESULT_ACTION_DATA_0,
234 }
235 #[cfg(feature = "Win32_Devices_Properties")]
236 impl ::core::marker::Copy for DEV_QUERY_RESULT_ACTION_DATA {}
237 #[cfg(feature = "Win32_Devices_Properties")]
238 impl ::core::clone::Clone for DEV_QUERY_RESULT_ACTION_DATA {
239 fn clone(&self) -> Self {
240 *self
241 }
242 }
243 #[repr(C)]
244 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
245 #[cfg(feature = "Win32_Devices_Properties")]
246 pub union DEV_QUERY_RESULT_ACTION_DATA_0 {
247 pub State: DEV_QUERY_STATE,
248 pub DeviceObject: DEV_OBJECT,
249 }
250 #[cfg(feature = "Win32_Devices_Properties")]
251 impl ::core::marker::Copy for DEV_QUERY_RESULT_ACTION_DATA_0 {}
252 #[cfg(feature = "Win32_Devices_Properties")]
253 impl ::core::clone::Clone for DEV_QUERY_RESULT_ACTION_DATA_0 {
254 fn clone(&self) -> Self {
255 *self
256 }
257 }
258 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
259 pub type DEV_QUERY_STATE = i32;
260 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
261 pub const DevQueryStateInitialized: DEV_QUERY_STATE = 0i32;
262 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
263 pub const DevQueryStateEnumCompleted: DEV_QUERY_STATE = 1i32;
264 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
265 pub const DevQueryStateAborted: DEV_QUERY_STATE = 2i32;
266 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
267 pub const DevQueryStateClosed: DEV_QUERY_STATE = 3i32;
268 #[repr(C)]
269 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`*"]
270 pub struct HDEVQUERY__ {
271 pub unused: i32,
272 }
273 impl ::core::marker::Copy for HDEVQUERY__ {}
274 impl ::core::clone::Clone for HDEVQUERY__ {
275 fn clone(&self) -> Self {
276 *self
277 }
278 }
279 #[doc = "*Required features: `\"Win32_Devices_DeviceQuery\"`, `\"Win32_Devices_Properties\"`*"]
280 #[cfg(feature = "Win32_Devices_Properties")]
281 pub type PDEV_QUERY_RESULT_CALLBACK = ::core::option::Option<unsafe extern "system" fn(hdevquery: *const HDEVQUERY__, pcontext: *const ::core::ffi::c_void, pactiondata: *const DEV_QUERY_RESULT_ACTION_DATA)>;