]> git.proxmox.com Git - rustc.git/blob - vendor/winapi/src/um/portabledeviceapi.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / portabledeviceapi.rs
1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Mappings for the contents of PortableDeviceApi.h
7 use shared::guiddef::REFGUID;
8 use shared::minwindef::{BYTE, DWORD, ULONG};
9 use um::objidlbase::IStream;
10 use um::portabledevicetypes::{
11 IPortableDeviceKeyCollection, IPortableDevicePropVariantCollection, IPortableDeviceValues,
12 };
13 use um::propkeydef::REFPROPERTYKEY;
14 use um::unknwnbase::{IUnknown, IUnknownVtbl};
15 use um::winnt::{HRESULT, LPCWSTR, LPWSTR, WCHAR};
16 // 328
17 RIDL!{#[uuid(0xa1567595, 0x4c2f, 0x4574, 0xa6, 0xfa, 0xec, 0xef, 0x91, 0x7b, 0x9a, 0x40)]
18 interface IPortableDeviceManager(IPortableDeviceManagerVtbl): IUnknown(IUnknownVtbl) {
19 fn GetDevices(
20 pPnPDeviceIDs: *mut LPWSTR,
21 pcPnPDeviceIDs: *mut DWORD,
22 ) -> HRESULT,
23 fn RefreshDeviceList() -> HRESULT,
24 fn GetDeviceFriendlyName(
25 pszPnPDeviceID: LPCWSTR,
26 pDeviceFriendlyName: *mut WCHAR,
27 pcchDeviceFriendlyName: *mut DWORD,
28 ) -> HRESULT,
29 fn GetDeviceDescription(
30 pszPnPDeviceID: LPCWSTR,
31 pDeviceDescription: *mut WCHAR,
32 pcchDeviceDescription: *mut DWORD,
33 ) -> HRESULT,
34 fn GetDeviceManufacturer(
35 pszPnPDeviceID: LPCWSTR,
36 pDeviceManufacturer: *mut WCHAR,
37 pcchDeviceManufacturer: *mut DWORD,
38 ) -> HRESULT,
39 fn GetDeviceProperty(
40 pszPnPDeviceID: LPCWSTR,
41 pszDevicePropertyName: LPCWSTR,
42 pData: *mut BYTE,
43 pcbData: *mut DWORD,
44 pdwType: *mut DWORD,
45 ) -> HRESULT,
46 fn GetPrivateDevices(
47 pPnPDeviceIDs: *mut LPWSTR,
48 pcPnPDeviceIDs: *mut DWORD,
49 ) -> HRESULT,
50 }}
51 RIDL!{#[uuid(0x625e2df8, 0x6392, 0x4cf0, 0x9a, 0xd1, 0x3c, 0xfa, 0x5f, 0x17, 0x77, 0x5c)]
52 interface IPortableDevice(IPortableDeviceVtbl): IUnknown(IUnknownVtbl) {
53 fn Open(
54 pszPnPDeviceID: LPCWSTR,
55 pClientInfo: *mut IPortableDeviceValues,
56 ) -> HRESULT,
57 fn SendCommand(
58 dwFlags: DWORD,
59 pParameters: *mut IPortableDeviceValues,
60 ppResults: *mut *mut IPortableDeviceValues,
61 ) -> HRESULT,
62 fn Content(
63 ppContent: *mut *mut IPortableDeviceContent,
64 ) -> HRESULT,
65 fn Capabilities(
66 ppCapabilities: *mut *mut IPortableDeviceCapabilities,
67 ) -> HRESULT,
68 fn Cancel() -> HRESULT,
69 fn Close() -> HRESULT,
70 fn Advise(
71 dwFlags: DWORD,
72 pCallback: *mut IPortableDeviceEventCallback,
73 pParameters: *mut IPortableDeviceValues,
74 ppszCookie: *mut LPWSTR,
75 ) -> HRESULT,
76 fn Unadvise(
77 pszCookie: LPCWSTR,
78 ) -> HRESULT,
79 fn GetPnPDeviceID(
80 ppszPnPDeviceID: *mut LPWSTR,
81 ) -> HRESULT,
82 }}
83 RIDL!{#[uuid(0x6a96ed84, 0x7c73, 0x4480, 0x99, 0x38, 0xbf, 0x5a, 0xf4, 0x77, 0xd4, 0x26)]
84 interface IPortableDeviceContent(IPortableDeviceContentVtbl): IUnknown(IUnknownVtbl) {
85 fn EnumObjects(
86 dwFlags: DWORD,
87 pszParentObjectID: LPCWSTR,
88 pFilter: *mut IPortableDeviceValues,
89 ppEnum: *mut *mut IEnumPortableDeviceObjectIDs,
90 ) -> HRESULT,
91 fn Properties(
92 ppProperties: *mut *mut IPortableDeviceProperties,
93 ) -> HRESULT,
94 fn Transfer(
95 ppResources: *mut *mut IPortableDeviceResources,
96 ) -> HRESULT,
97 fn CreateObjectWithPropertiesOnly(
98 pValues: *mut IPortableDeviceValues,
99 ppszObjectID: *mut LPWSTR,
100 ) -> HRESULT,
101 fn CreateObjectWithPropertiesAndData(
102 pValues: *mut IPortableDeviceValues,
103 ppData: *mut *mut IStream,
104 pdwOptimalWriteBufferSize: *mut DWORD,
105 ppszCookie: *mut LPWSTR,
106 ) -> HRESULT,
107 fn Delete(
108 dwOptions: DWORD,
109 pObjectIDs: *mut IPortableDevicePropVariantCollection,
110 ppResults: *mut *mut IPortableDevicePropVariantCollection,
111 ) -> HRESULT,
112 fn GetObjectIDsFromPersistentUniqueIDs(
113 pPersistentUniqueIDs: *mut IPortableDevicePropVariantCollection,
114 ppObjectIDs: *mut *mut IPortableDevicePropVariantCollection,
115 ) -> HRESULT,
116 fn Cancel() -> HRESULT,
117 fn Move(
118 pObjectIDs: *mut IPortableDevicePropVariantCollection,
119 pszDestinationFolderObjectID: LPCWSTR,
120 ppResults: *mut *mut IPortableDevicePropVariantCollection,
121 ) -> HRESULT,
122 fn Copy(
123 pObjectIDs: *mut IPortableDevicePropVariantCollection,
124 pszDestinationFolderObjectID: LPCWSTR,
125 ppResults: *mut *mut IPortableDevicePropVariantCollection,
126 ) -> HRESULT,
127 }}
128 RIDL!{#[uuid(0x9b4add96, 0xf6bf, 0x4034, 0x87, 0x08, 0xec, 0xa7, 0x2b, 0xf1, 0x05, 0x54)]
129 interface IPortableDeviceContent2(IPortableDeviceContent2Vtbl):
130 IPortableDeviceContent(IPortableDeviceContentVtbl) {
131 fn UpdateObjectWithPropertiesAndData(
132 pszObjectID: LPCWSTR,
133 pProperties: *mut IPortableDeviceValues,
134 ppData: *mut *mut IStream,
135 pdwOptimalWriteBufferSize: *mut DWORD,
136 ) -> HRESULT,
137 }}
138 RIDL!{#[uuid(0x10ece955, 0xcf41, 0x4728, 0xbf, 0xa0, 0x41, 0xee, 0xdf, 0x1b, 0xbf, 0x19)]
139 interface IEnumPortableDeviceObjectIDs(IEnumPortableDeviceObjectIDsVtbl): IUnknown(IUnknownVtbl) {
140 fn Next(
141 cObjects: ULONG,
142 pObjIDs: *mut LPWSTR,
143 pcFetched: *mut ULONG,
144 ) -> HRESULT,
145 fn Skip(
146 cObjects: ULONG,
147 ) -> HRESULT,
148 fn Reset() -> HRESULT,
149 fn Clone(
150 ppEnum: *mut *mut IEnumPortableDeviceObjectIDs,
151 ) -> HRESULT,
152 fn Cancel() -> HRESULT,
153 }}
154 RIDL!{#[uuid(0x7f6d695c, 0x03df, 0x4439, 0xa8, 0x09, 0x59, 0x26, 0x6b, 0xee, 0xe3, 0xa6)]
155 interface IPortableDeviceProperties(IPortableDevicePropertiesVtbl): IUnknown(IUnknownVtbl) {
156 fn GetSupportedProperties(
157 pszObjectID: LPCWSTR,
158 ppKeys: *mut *mut IPortableDeviceKeyCollection,
159 ) -> HRESULT,
160 fn GetPropertyAttributes(
161 pszObjectID: LPCWSTR,
162 Key: REFPROPERTYKEY,
163 ppAttributes: *mut *mut IPortableDeviceValues,
164 ) -> HRESULT,
165 fn GetValues(
166 pszObjectID: LPCWSTR,
167 pKeys: *mut IPortableDeviceKeyCollection,
168 ppValues: *mut *mut IPortableDeviceValues,
169 ) -> HRESULT,
170 fn SetValues(
171 pszObjectID: LPCWSTR,
172 pValues: *mut IPortableDeviceValues,
173 ppResults: *mut *mut IPortableDeviceValues,
174 ) -> HRESULT,
175 fn Delete(
176 pszObjectID: LPCWSTR,
177 pKeys: *mut IPortableDeviceKeyCollection,
178 ) -> HRESULT,
179 fn Cancel() -> HRESULT,
180 }}
181 RIDL!{#[uuid(0xfd8878ac, 0xd841, 0x4d17, 0x89, 0x1c, 0xe6, 0x82, 0x9c, 0xdb, 0x69, 0x34)]
182 interface IPortableDeviceResources(IPortableDeviceResourcesVtbl): IUnknown(IUnknownVtbl) {
183 fn GetSupportedResources(
184 pszObjectID: LPCWSTR,
185 ppKeys: *mut *mut IPortableDeviceKeyCollection,
186 ) -> HRESULT,
187 fn GetResourceAttributes(
188 pszObjectID: LPCWSTR,
189 Key: REFPROPERTYKEY,
190 ppResourceAttributes: *mut *mut IPortableDeviceValues,
191 ) -> HRESULT,
192 fn GetStream(
193 pszObjectID: LPCWSTR,
194 Key: REFPROPERTYKEY,
195 dwMode: DWORD,
196 pdwOptimalBufferSize: *mut DWORD,
197 ppStream: *mut *mut IStream,
198 ) -> HRESULT,
199 fn Delete(
200 pszObjectID: LPCWSTR,
201 pKeys: *mut IPortableDeviceKeyCollection,
202 ) -> HRESULT,
203 fn Cancel() -> HRESULT,
204 fn CreateResource(
205 pResourceAttributes: *mut IPortableDeviceValues,
206 ppData: *mut *mut IStream,
207 pdwOptimalWriteBufferSize: *mut DWORD,
208 ppszCookie: *mut LPWSTR,
209 ) -> HRESULT,
210 }}
211 RIDL!{#[uuid(0x2c8c6dbf, 0xe3dc, 0x4061, 0xbe, 0xcc, 0x85, 0x42, 0xe8, 0x10, 0xd1, 0x26)]
212 interface IPortableDeviceCapabilities(IPortableDeviceCapabilitiesVtbl): IUnknown(IUnknownVtbl) {
213 fn GetSupportedCommands(
214 ppCommands: *mut *mut IPortableDeviceKeyCollection,
215 ) -> HRESULT,
216 fn GetCommandOptions(
217 Command: REFPROPERTYKEY,
218 ppOptions: *mut *mut IPortableDeviceValues,
219 ) -> HRESULT,
220 fn GetFunctionalCategories(
221 ppCategories: *mut *mut IPortableDevicePropVariantCollection,
222 ) -> HRESULT,
223 fn GetFunctionalObjects(
224 Category: REFGUID,
225 ppObjectIDs: *mut *mut IPortableDevicePropVariantCollection,
226 ) -> HRESULT,
227 fn GetSupportedContentTypes(
228 Category: REFGUID,
229 ppContentTypes: *mut *mut IPortableDevicePropVariantCollection,
230 ) -> HRESULT,
231 fn GetSupportedFormats(
232 ContentType: REFGUID,
233 ppFormats: *mut *mut IPortableDevicePropVariantCollection,
234 ) -> HRESULT,
235 fn GetSupportedFormatProperties(
236 Format: REFGUID,
237 ppKeys: *mut *mut IPortableDeviceKeyCollection,
238 ) -> HRESULT,
239 fn GetFixedPropertyAttributes(
240 Format: REFGUID,
241 Key: REFPROPERTYKEY,
242 ppAttributes: *mut *mut IPortableDeviceValues,
243 ) -> HRESULT,
244 fn Cancel() -> HRESULT,
245 fn GetSupportedEvents(
246 ppEvents: *mut *mut IPortableDevicePropVariantCollection,
247 ) -> HRESULT,
248 fn GetEventOptions(
249 Event: REFGUID,
250 ppOptions: *mut *mut IPortableDeviceValues,
251 ) -> HRESULT,
252 }}
253 RIDL!{#[uuid(0xa8792a31, 0xf385, 0x493c, 0xa8, 0x93, 0x40, 0xf6, 0x4e, 0xb4, 0x5f, 0x6e)]
254 interface IPortableDeviceEventCallback(IPortableDeviceEventCallbackVtbl): IUnknown(IUnknownVtbl) {
255 fn OnEvent(
256 pEventParameters: *mut IPortableDeviceValues,
257 ) -> HRESULT,
258 }}
259 DEFINE_GUID!{LIBID_PortableDeviceApiLib,
260 0x1f001332, 0x1a57, 0x4934, 0xbe, 0x31, 0xaf, 0xfc, 0x99, 0xf4, 0xee, 0x0a}
261 DEFINE_GUID!{CLSID_PortableDevice,
262 0x728a21c5, 0x3d9e, 0x48d7, 0x98, 0x10, 0x86, 0x48, 0x48, 0xf0, 0xf4, 0x04}
263 RIDL!{#[uuid(0x728a21c5, 0x3d9e, 0x48d7, 0x98, 0x10, 0x86, 0x48, 0x48, 0xf0, 0xf4, 0x04)]
264 class PortableDevice;}
265 DEFINE_GUID!{CLSID_PortableDeviceManager,
266 0x0af10cec, 0x2ecd, 0x4b92, 0x95, 0x81, 0x34, 0xf6, 0xae, 0x06, 0x37, 0xf3}
267 RIDL!{#[uuid(0x0af10cec, 0x2ecd, 0x4b92, 0x95, 0x81, 0x34, 0xf6, 0xae, 0x06, 0x37, 0xf3)]
268 class PortableDeviceManager;}
269 DEFINE_GUID!{CLSID_PortableDeviceService,
270 0xef5db4c2, 0x9312, 0x422c, 0x91, 0x52, 0x41, 0x1c, 0xd9, 0xc4, 0xdd, 0x84}
271 RIDL!{#[uuid(0xef5db4c2, 0x9312, 0x422c, 0x91, 0x52, 0x41, 0x1c, 0xd9, 0xc4, 0xdd, 0x84)]
272 class PortableDeviceService;}
273 DEFINE_GUID!{CLSID_PortableDeviceDispatchFactory,
274 0x43232233, 0x8338, 0x4658, 0xae, 0x01, 0x0b, 0x4a, 0xe8, 0x30, 0xb6, 0xb0}
275 RIDL!{#[uuid(0x43232233, 0x8338, 0x4658, 0xae, 0x01, 0x0b, 0x4a, 0xe8, 0x30, 0xb6, 0xb0)]
276 class PortableDeviceDispatchFactory;}
277 DEFINE_GUID!{CLSID_PortableDeviceFTM,
278 0xf7c0039a, 0x4762, 0x488a, 0xb4, 0xb3, 0x76, 0x0e, 0xf9, 0xa1, 0xba, 0x9b}
279 RIDL!{#[uuid(0xf7c0039a, 0x4762, 0x488a, 0xb4, 0xb3, 0x76, 0x0e, 0xf9, 0xa1, 0xba, 0x9b)]
280 class PortableDeviceFTM;}
281 DEFINE_GUID!{CLSID_PortableDeviceServiceFTM,
282 0x1649b154, 0xc794, 0x497a, 0x9b, 0x03, 0xf3, 0xf0, 0x12, 0x13, 0x02, 0xf3}
283 RIDL!{#[uuid(0x1649b154, 0xc794, 0x497a, 0x9b, 0x03, 0xf3, 0xf0, 0x12, 0x13, 0x02, 0xf3)]
284 class PortableDeviceServiceFTM;}
285 DEFINE_GUID!{CLSID_PortableDeviceWebControl,
286 0x186dd02c, 0x2dec, 0x41b5, 0xa7, 0xd4, 0xb5, 0x90, 0x56, 0xfa, 0xde, 0x51}
287 RIDL!{#[uuid(0x186dd02c, 0x2dec, 0x41b5, 0xa7, 0xd4, 0xb5, 0x90, 0x56, 0xfa, 0xde, 0x51)]
288 class PortableDeviceWebControl;}