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
,
13 use um
::propkeydef
::REFPROPERTYKEY
;
14 use um
::unknwnbase
::{IUnknown, IUnknownVtbl}
;
15 use um
::winnt
::{HRESULT, LPCWSTR, LPWSTR, WCHAR}
;
17 RIDL
!{#[uuid(0xa1567595, 0x4c2f, 0x4574, 0xa6, 0xfa, 0xec, 0xef, 0x91, 0x7b, 0x9a, 0x40)]
18 interface
IPortableDeviceManager(IPortableDeviceManagerVtbl
): IUnknown(IUnknownVtbl
) {
20 pPnPDeviceIDs
: *mut LPWSTR
,
21 pcPnPDeviceIDs
: *mut DWORD
,
23 fn RefreshDeviceList() -> HRESULT
,
24 fn GetDeviceFriendlyName(
25 pszPnPDeviceID
: LPCWSTR
,
26 pDeviceFriendlyName
: *mut WCHAR
,
27 pcchDeviceFriendlyName
: *mut DWORD
,
29 fn GetDeviceDescription(
30 pszPnPDeviceID
: LPCWSTR
,
31 pDeviceDescription
: *mut WCHAR
,
32 pcchDeviceDescription
: *mut DWORD
,
34 fn GetDeviceManufacturer(
35 pszPnPDeviceID
: LPCWSTR
,
36 pDeviceManufacturer
: *mut WCHAR
,
37 pcchDeviceManufacturer
: *mut DWORD
,
40 pszPnPDeviceID
: LPCWSTR
,
41 pszDevicePropertyName
: LPCWSTR
,
47 pPnPDeviceIDs
: *mut LPWSTR
,
48 pcPnPDeviceIDs
: *mut DWORD
,
51 RIDL
!{#[uuid(0x625e2df8, 0x6392, 0x4cf0, 0x9a, 0xd1, 0x3c, 0xfa, 0x5f, 0x17, 0x77, 0x5c)]
52 interface
IPortableDevice(IPortableDeviceVtbl
): IUnknown(IUnknownVtbl
) {
54 pszPnPDeviceID
: LPCWSTR
,
55 pClientInfo
: *mut IPortableDeviceValues
,
59 pParameters
: *mut IPortableDeviceValues
,
60 ppResults
: *mut *mut IPortableDeviceValues
,
63 ppContent
: *mut *mut IPortableDeviceContent
,
66 ppCapabilities
: *mut *mut IPortableDeviceCapabilities
,
68 fn Cancel() -> HRESULT
,
69 fn Close() -> HRESULT
,
72 pCallback
: *mut IPortableDeviceEventCallback
,
73 pParameters
: *mut IPortableDeviceValues
,
74 ppszCookie
: *mut LPWSTR
,
80 ppszPnPDeviceID
: *mut LPWSTR
,
83 RIDL
!{#[uuid(0x6a96ed84, 0x7c73, 0x4480, 0x99, 0x38, 0xbf, 0x5a, 0xf4, 0x77, 0xd4, 0x26)]
84 interface
IPortableDeviceContent(IPortableDeviceContentVtbl
): IUnknown(IUnknownVtbl
) {
87 pszParentObjectID
: LPCWSTR
,
88 pFilter
: *mut IPortableDeviceValues
,
89 ppEnum
: *mut *mut IEnumPortableDeviceObjectIDs
,
92 ppProperties
: *mut *mut IPortableDeviceProperties
,
95 ppResources
: *mut *mut IPortableDeviceResources
,
97 fn CreateObjectWithPropertiesOnly(
98 pValues
: *mut IPortableDeviceValues
,
99 ppszObjectID
: *mut LPWSTR
,
101 fn CreateObjectWithPropertiesAndData(
102 pValues
: *mut IPortableDeviceValues
,
103 ppData
: *mut *mut IStream
,
104 pdwOptimalWriteBufferSize
: *mut DWORD
,
105 ppszCookie
: *mut LPWSTR
,
109 pObjectIDs
: *mut IPortableDevicePropVariantCollection
,
110 ppResults
: *mut *mut IPortableDevicePropVariantCollection
,
112 fn GetObjectIDsFromPersistentUniqueIDs(
113 pPersistentUniqueIDs
: *mut IPortableDevicePropVariantCollection
,
114 ppObjectIDs
: *mut *mut IPortableDevicePropVariantCollection
,
116 fn Cancel() -> HRESULT
,
118 pObjectIDs
: *mut IPortableDevicePropVariantCollection
,
119 pszDestinationFolderObjectID
: LPCWSTR
,
120 ppResults
: *mut *mut IPortableDevicePropVariantCollection
,
123 pObjectIDs
: *mut IPortableDevicePropVariantCollection
,
124 pszDestinationFolderObjectID
: LPCWSTR
,
125 ppResults
: *mut *mut IPortableDevicePropVariantCollection
,
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
,
138 RIDL
!{#[uuid(0x10ece955, 0xcf41, 0x4728, 0xbf, 0xa0, 0x41, 0xee, 0xdf, 0x1b, 0xbf, 0x19)]
139 interface
IEnumPortableDeviceObjectIDs(IEnumPortableDeviceObjectIDsVtbl
): IUnknown(IUnknownVtbl
) {
142 pObjIDs
: *mut LPWSTR
,
143 pcFetched
: *mut ULONG
,
148 fn Reset() -> HRESULT
,
150 ppEnum
: *mut *mut IEnumPortableDeviceObjectIDs
,
152 fn Cancel() -> HRESULT
,
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
,
160 fn GetPropertyAttributes(
161 pszObjectID
: LPCWSTR
,
163 ppAttributes
: *mut *mut IPortableDeviceValues
,
166 pszObjectID
: LPCWSTR
,
167 pKeys
: *mut IPortableDeviceKeyCollection
,
168 ppValues
: *mut *mut IPortableDeviceValues
,
171 pszObjectID
: LPCWSTR
,
172 pValues
: *mut IPortableDeviceValues
,
173 ppResults
: *mut *mut IPortableDeviceValues
,
176 pszObjectID
: LPCWSTR
,
177 pKeys
: *mut IPortableDeviceKeyCollection
,
179 fn Cancel() -> HRESULT
,
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
,
187 fn GetResourceAttributes(
188 pszObjectID
: LPCWSTR
,
190 ppResourceAttributes
: *mut *mut IPortableDeviceValues
,
193 pszObjectID
: LPCWSTR
,
196 pdwOptimalBufferSize
: *mut DWORD
,
197 ppStream
: *mut *mut IStream
,
200 pszObjectID
: LPCWSTR
,
201 pKeys
: *mut IPortableDeviceKeyCollection
,
203 fn Cancel() -> HRESULT
,
205 pResourceAttributes
: *mut IPortableDeviceValues
,
206 ppData
: *mut *mut IStream
,
207 pdwOptimalWriteBufferSize
: *mut DWORD
,
208 ppszCookie
: *mut LPWSTR
,
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
,
216 fn GetCommandOptions(
217 Command
: REFPROPERTYKEY
,
218 ppOptions
: *mut *mut IPortableDeviceValues
,
220 fn GetFunctionalCategories(
221 ppCategories
: *mut *mut IPortableDevicePropVariantCollection
,
223 fn GetFunctionalObjects(
225 ppObjectIDs
: *mut *mut IPortableDevicePropVariantCollection
,
227 fn GetSupportedContentTypes(
229 ppContentTypes
: *mut *mut IPortableDevicePropVariantCollection
,
231 fn GetSupportedFormats(
232 ContentType
: REFGUID
,
233 ppFormats
: *mut *mut IPortableDevicePropVariantCollection
,
235 fn GetSupportedFormatProperties(
237 ppKeys
: *mut *mut IPortableDeviceKeyCollection
,
239 fn GetFixedPropertyAttributes(
242 ppAttributes
: *mut *mut IPortableDeviceValues
,
244 fn Cancel() -> HRESULT
,
245 fn GetSupportedEvents(
246 ppEvents
: *mut *mut IPortableDevicePropVariantCollection
,
250 ppOptions
: *mut *mut IPortableDeviceValues
,
253 RIDL
!{#[uuid(0xa8792a31, 0xf385, 0x493c, 0xa8, 0x93, 0x40, 0xf6, 0x4e, 0xb4, 0x5f, 0x6e)]
254 interface
IPortableDeviceEventCallback(IPortableDeviceEventCallbackVtbl
): IUnknown(IUnknownVtbl
) {
256 pEventParameters
: *mut IPortableDeviceValues
,
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
;}