| /** |
| *This file has no copyright assigned and is placed in the Public Domain. |
| *This file is part of the mingw-w64 runtime package. |
| *No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| import "propidl.idl"; |
| import "wtypes.idl"; |
| import "portabledevicetypes.idl"; |
| |
| interface IPortableDeviceManager; |
| interface IPortableDevice; |
| interface IPortableDeviceContent; |
| interface IPortableDeviceContent2; |
| interface IEnumPortableDeviceObjectIDs; |
| interface IPortableDeviceProperties; |
| interface IPortableDeviceResources; |
| interface IPortableDeviceCapabilities; |
| interface IPortableDeviceEventCallback; |
| interface IPortableDeviceDataStream; |
| interface IPortableDevicePropertiesBulk; |
| interface IPortableDevicePropertiesBulkCallback; |
| interface IPortableDeviceServiceManager; |
| interface IPortableDeviceService; |
| interface IPortableDeviceServiceCapabilities; |
| interface IPortableDeviceServiceMethods; |
| interface IPortableDeviceServiceMethodCallback; |
| interface IPortableDeviceDispatchFactory; |
| interface IPortableDeviceServiceActivation; |
| interface IPortableDeviceServiceOpenCallback; |
| |
| [ |
| object, |
| uuid(a1567595-4c2f-4574-a6fa-ecef917b9a40), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceManager : IUnknown |
| { |
| HRESULT GetDevices( |
| [in, out, unique] LPWSTR *device_ids, |
| [in, out] DWORD *device_ids_count); |
| |
| HRESULT RefreshDeviceList(); |
| |
| HRESULT GetDeviceFriendlyName( |
| [in] LPCWSTR device_id, |
| [in, out, unique] WCHAR *device_friendly_name, |
| [in, out] DWORD *device_friendly_name_size); |
| |
| HRESULT GetDeviceDescription( |
| [in] LPCWSTR device_id, |
| [in, out, unique] WCHAR *device_description, |
| [in, out] DWORD *device_description_size); |
| |
| HRESULT GetDeviceManufacturer( |
| [in] LPCWSTR device_id, |
| [in, out, unique] WCHAR *device_manufacturer, |
| [in, out] DWORD *device_manufacturer_size); |
| |
| HRESULT GetDeviceProperty( |
| [in] LPCWSTR device_id, |
| [in] LPCWSTR device_property_name, |
| [in, out, unique] BYTE *data, |
| [in, out, unique] DWORD *data_size, |
| [in, out, unique] DWORD *type); |
| |
| HRESULT GetPrivateDevices( |
| [in, out, unique] LPWSTR *device_ids, |
| [in, out] DWORD *device_ids_count); |
| } |
| |
| [ |
| object, |
| uuid(625e2df8-6392-4cf0-9ad1-3cfa5f17775c), |
| pointer_default(unique) |
| ] |
| interface IPortableDevice : IUnknown |
| { |
| HRESULT Open( |
| [in] LPCWSTR device_id, |
| [in] IPortableDeviceValues *client_info); |
| |
| HRESULT SendCommand( |
| [in] const DWORD flags, |
| [in] IPortableDeviceValues *parameters, |
| [out] IPortableDeviceValues **results); |
| |
| HRESULT Content( |
| [out] IPortableDeviceContent **content); |
| |
| HRESULT Capabilities( |
| [out] IPortableDeviceCapabilities **capabilities); |
| |
| HRESULT Cancel(); |
| |
| HRESULT Close(); |
| |
| HRESULT Advise( |
| [in] const DWORD flags, |
| [in] IPortableDeviceEventCallback *callback, |
| [in, unique] IPortableDeviceValues *parameters, |
| [out] LPWSTR *cookie); |
| |
| HRESULT Unadvise( |
| [in] LPCWSTR cookie); |
| |
| HRESULT GetPnPDeviceID( |
| [out] LPWSTR *device_id); |
| } |
| |
| [ |
| object, |
| uuid(6a96ed84-7c73-4480-9938-bf5af477d426), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceContent : IUnknown |
| { |
| HRESULT EnumObjects( |
| [in] const DWORD flags, |
| [in] LPCWSTR parent_object_id, |
| [in, unique] IPortableDeviceValues *filter, |
| [out] IEnumPortableDeviceObjectIDs **enum_device_object); |
| |
| HRESULT Properties( |
| [out] IPortableDeviceProperties **device_properties); |
| |
| HRESULT Transfer( |
| [out] IPortableDeviceResources **resources); |
| |
| HRESULT CreateObjectWithPropertiesOnly( |
| [in] IPortableDeviceValues *values, |
| [in, out, unique] LPWSTR *object_id); |
| |
| HRESULT CreateObjectWithPropertiesAndData( |
| [in] IPortableDeviceValues *values, |
| [out] IStream **data, |
| [in, out, unique] DWORD *optimal_write_buffer_size, |
| [in, out, unique] LPWSTR *cookie); |
| |
| HRESULT Delete( |
| [in] const DWORD options, |
| [in] IPortableDevicePropVariantCollection *object_ids, |
| [in, out, unique] IPortableDevicePropVariantCollection **results); |
| |
| HRESULT GetObjectIDsFromPersistentUniqueIDs( |
| [in] IPortableDevicePropVariantCollection *persistent_unique_ids, |
| [out] IPortableDevicePropVariantCollection **object_ids); |
| |
| HRESULT Cancel(); |
| |
| HRESULT Move( |
| [in] IPortableDevicePropVariantCollection *object_ids, |
| [in] LPCWSTR destination_folder_object_id, |
| [in, out, unique] IPortableDevicePropVariantCollection **results); |
| |
| HRESULT Copy( |
| [in] IPortableDevicePropVariantCollection *object_ids, |
| [in] LPCWSTR destination_folder_object_id, |
| [in, out, unique] IPortableDevicePropVariantCollection **results); |
| } |
| |
| [ |
| object, |
| uuid(9b4add96-f6bf-4034-8708-eca72bf10554), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceContent2 : IPortableDeviceContent |
| { |
| HRESULT UpdateObjectWithPropertiesAndData( |
| [in] LPCWSTR object_id, |
| [in] IPortableDeviceValues *device_properties, |
| [out] IStream **data, |
| [in, out, unique] DWORD *optimal_write_buffer_size); |
| } |
| |
| [ |
| object, |
| uuid(10ece955-cf41-4728-bfa0-41eedf1bbf19), |
| pointer_default(unique) |
| ] |
| interface IEnumPortableDeviceObjectIDs : IUnknown |
| { |
| HRESULT Next( |
| [in] ULONG objects, |
| [out, size_is(objects), length_is(*fetched)] LPWSTR *obj_ids, |
| [in, out, unique] ULONG *fetched); |
| |
| HRESULT Skip( |
| [in] ULONG objects); |
| |
| HRESULT Reset(); |
| |
| HRESULT Clone( |
| [out] IEnumPortableDeviceObjectIDs **enum_device_object); |
| |
| HRESULT Cancel(); |
| } |
| |
| [ |
| object, |
| uuid(7f6d695c-03df-4439-a809-59266beee3a6), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceProperties : IUnknown |
| { |
| HRESULT GetSupportedProperties( |
| [in] LPCWSTR object_id, |
| [out] IPortableDeviceKeyCollection **keys); |
| |
| HRESULT GetPropertyAttributes( |
| [in] LPCWSTR object_id, |
| [in] REFPROPERTYKEY key, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetValues( |
| [in] LPCWSTR object_id, |
| [in, unique] IPortableDeviceKeyCollection *keys, |
| [out] IPortableDeviceValues **values); |
| |
| HRESULT SetValues( |
| [in] LPCWSTR object_id, |
| [in] IPortableDeviceValues *values, |
| [out] IPortableDeviceValues **results); |
| |
| HRESULT Delete( |
| [in] LPCWSTR object_id, |
| [in] IPortableDeviceKeyCollection *keys); |
| |
| HRESULT Cancel(); |
| } |
| |
| [ |
| object, |
| uuid(fd8878ac-d841-4d17-891c-e6829cdb6934), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceResources : IUnknown |
| { |
| HRESULT GetSupportedResources( |
| [in] LPCWSTR object_id, |
| [out] IPortableDeviceKeyCollection **keys); |
| |
| HRESULT GetResourceAttributes( |
| [in] LPCWSTR object_id, |
| [in] REFPROPERTYKEY key, |
| [out] IPortableDeviceValues **resource_attributes); |
| |
| HRESULT GetStream( |
| [in] LPCWSTR object_id, |
| [in] REFPROPERTYKEY key, |
| [in] const DWORD mode, |
| [in, out, unique] DWORD *optimal_buffer_size, |
| [out] IStream **stream); |
| |
| HRESULT Delete( |
| [in] LPCWSTR object_id, |
| [in] IPortableDeviceKeyCollection *keys); |
| |
| HRESULT Cancel(); |
| |
| HRESULT CreateResource( |
| [in] IPortableDeviceValues *resource_attributes, |
| [out] IStream **data, |
| [in, out, unique] DWORD *optimal_write_buffer_size, |
| [in, out, unique] LPWSTR *cookie); |
| } |
| |
| [ |
| object, |
| uuid(2c8c6dbf-e3dc-4061-becc-8542e810d126), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceCapabilities : IUnknown |
| { |
| HRESULT GetSupportedCommands( |
| [out] IPortableDeviceKeyCollection **commands); |
| |
| HRESULT GetCommandOptions( |
| [in] REFPROPERTYKEY command, |
| [out] IPortableDeviceValues **options); |
| |
| HRESULT GetFunctionalCategories( |
| [out] IPortableDevicePropVariantCollection **categories); |
| |
| HRESULT GetFunctionalObjects( |
| [in] REFGUID category, |
| [out] IPortableDevicePropVariantCollection **object_ids); |
| |
| HRESULT GetSupportedContentTypes( |
| [in] REFGUID category, |
| [out] IPortableDevicePropVariantCollection **content_types); |
| |
| HRESULT GetSupportedFormats( |
| [in] REFGUID content_type, |
| [out] IPortableDevicePropVariantCollection **formats); |
| |
| HRESULT GetSupportedFormatProperties( |
| [in] REFGUID format, |
| [out] IPortableDeviceKeyCollection **keys); |
| |
| HRESULT GetFixedPropertyAttributes( |
| [in] REFGUID format, |
| [in] REFPROPERTYKEY key, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT Cancel(); |
| |
| HRESULT GetSupportedEvents( |
| [out] IPortableDevicePropVariantCollection **events_collection); |
| |
| HRESULT GetEventOptions( |
| [in] REFGUID event_id, |
| [out] IPortableDeviceValues **options); |
| } |
| |
| [ |
| object, |
| uuid(a8792a31-f385-493c-a893-40f64eb45f6e), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceEventCallback : IUnknown |
| { |
| HRESULT OnEvent( |
| [in] IPortableDeviceValues *event_parameters); |
| } |
| |
| [ |
| object, |
| uuid(88e04db3-1012-4d64-9996-f703a950d3f4), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceDataStream : IStream |
| { |
| HRESULT GetObjectID( |
| [out] LPWSTR *object_id); |
| |
| HRESULT Cancel(); |
| } |
| |
| [ |
| object, |
| uuid(5e98025f-bfc4-47a2-9a5f-bc900a507c67), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceUnitsStream : IUnknown |
| { |
| [local] |
| HRESULT SeekInUnits( |
| [in] LARGE_INTEGER dlib_move, |
| [in] WPD_STREAM_UNITS units, |
| [in] DWORD origin, |
| [out, optional] ULARGE_INTEGER *lib_new_position); |
| |
| [call_as(SeekInUnits)] |
| HRESULT RemoteSeekInUnits( |
| [in] LARGE_INTEGER dlib_move, |
| [in] WPD_STREAM_UNITS units, |
| [in] DWORD origin, |
| [out] ULARGE_INTEGER *lib_new_position); |
| |
| HRESULT Cancel(); |
| } |
| |
| [ |
| object, |
| uuid(482b05c0-4056-44ed-9e0f-5e23b009da93), |
| pointer_default(unique) |
| ] |
| interface IPortableDevicePropertiesBulk : IUnknown |
| { |
| HRESULT QueueGetValuesByObjectList( |
| [in] IPortableDevicePropVariantCollection *object_ids, |
| [in] IPortableDeviceKeyCollection *keys, |
| [in] IPortableDevicePropertiesBulkCallback *callback, |
| [out] GUID *context); |
| |
| HRESULT QueueGetValuesByObjectFormat( |
| [in] REFGUID guid_object_format, |
| [in] LPCWSTR parent_object_id, |
| [in] const DWORD depth, |
| [in] IPortableDeviceKeyCollection *keys, |
| [in] IPortableDevicePropertiesBulkCallback *callback, |
| [out] GUID *context); |
| |
| HRESULT QueueSetValuesByObjectList( |
| [in] IPortableDeviceValuesCollection *object_values, |
| [in] IPortableDevicePropertiesBulkCallback *callback, |
| [out] GUID *context); |
| |
| HRESULT Start([in] REFGUID context); |
| |
| HRESULT Cancel([in] REFGUID context); |
| } |
| |
| [ |
| object, |
| uuid(9deacb80-11e8-40e3-a9f3-f557986a7845), |
| pointer_default(unique) |
| ] |
| interface IPortableDevicePropertiesBulkCallback : IUnknown |
| { |
| HRESULT OnStart( |
| [in] REFGUID context); |
| |
| HRESULT OnProgress( |
| [in] REFGUID context, |
| [in] IPortableDeviceValuesCollection *results); |
| |
| HRESULT OnEnd( |
| [in] REFGUID context, |
| [in] HRESULT hr_status); |
| } |
| |
| [ |
| object, |
| uuid(a8abc4e9-a84a-47a9-80b3-c5d9b172a961), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceManager : IUnknown |
| { |
| HRESULT GetDeviceServices( |
| [in] LPCWSTR device_id, |
| [in] REFGUID guid_service_category, |
| [in, out, unique] LPWSTR *services, |
| [in, out] DWORD *services_count); |
| |
| HRESULT GetDeviceForService( |
| [in] LPCWSTR service_id, |
| [out] LPWSTR *device_id); |
| } |
| |
| [ |
| object, |
| uuid(d3bd3a44-d7b5-40a9-98b7-2fa4d01dec08), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceService : IUnknown |
| { |
| HRESULT Open( |
| [in] LPCWSTR service_id, |
| [in] IPortableDeviceValues *client_info); |
| |
| HRESULT Capabilities( |
| [out] IPortableDeviceServiceCapabilities **capabilities); |
| |
| HRESULT Content( |
| [out] IPortableDeviceContent2 **content); |
| |
| HRESULT Methods( |
| [out] IPortableDeviceServiceMethods **service_methods); |
| |
| HRESULT Cancel(); |
| |
| HRESULT Close(); |
| |
| HRESULT GetServiceObjectID( |
| [out] LPWSTR *service_object_id); |
| |
| HRESULT GetPnPServiceID( |
| [out] LPWSTR *service_id); |
| |
| HRESULT Advise( |
| [in] const DWORD flags, |
| [in] IPortableDeviceEventCallback *callback, |
| [in, unique] IPortableDeviceValues *parameters, |
| [out] LPWSTR *cookie); |
| |
| HRESULT Unadvise( |
| [in] LPCWSTR cookie); |
| |
| HRESULT SendCommand( |
| [in] const DWORD flags, |
| [in] IPortableDeviceValues *parameters, |
| [out] IPortableDeviceValues **results); |
| } |
| |
| [ |
| object, |
| uuid(24dbd89d-413e-43e0-bd5b-197f3c56c886), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceCapabilities : IUnknown |
| { |
| HRESULT GetSupportedMethods( |
| [out] IPortableDevicePropVariantCollection **supported_methods); |
| |
| HRESULT GetSupportedMethodsByFormat( |
| [in] REFGUID format, |
| [out] IPortableDevicePropVariantCollection **supported_methods); |
| |
| HRESULT GetMethodAttributes ( |
| [in] REFGUID method, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetMethodParameterAttributes( |
| [in] REFGUID method, |
| [in] REFPROPERTYKEY parameter, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetSupportedFormats( |
| [out] IPortableDevicePropVariantCollection **formats); |
| |
| HRESULT GetFormatAttributes( |
| [in] REFGUID format, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetSupportedFormatProperties( |
| [in] REFGUID format, |
| [out] IPortableDeviceKeyCollection **keys); |
| |
| HRESULT GetFormatPropertyAttributes( |
| [in] REFGUID format, |
| [in] REFPROPERTYKEY property, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetSupportedEvents( |
| [out] IPortableDevicePropVariantCollection **events); |
| |
| HRESULT GetEventAttributes( |
| [in] REFGUID event_id, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetEventParameterAttributes( |
| [in] REFGUID event_id, |
| [in] REFPROPERTYKEY parameter, |
| [out] IPortableDeviceValues **attributes); |
| |
| HRESULT GetInheritedServices( |
| [in] const DWORD inheritance_type, |
| [out] IPortableDevicePropVariantCollection **services); |
| |
| HRESULT GetFormatRenderingProfiles( |
| [in] REFGUID format, |
| [out] IPortableDeviceValuesCollection **rendering_profiles); |
| |
| HRESULT GetSupportedCommands( |
| [out] IPortableDeviceKeyCollection **commands); |
| |
| HRESULT GetCommandOptions( |
| [in] REFPROPERTYKEY command, |
| [out] IPortableDeviceValues **options); |
| |
| HRESULT Cancel(); |
| } |
| |
| [ |
| object, |
| uuid(e20333c9-fd34-412d-a381-cc6f2d820df7), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceMethods : IUnknown |
| { |
| HRESULT Invoke( |
| [in] REFGUID method_id, |
| [in, unique] IPortableDeviceValues *parameters, |
| [in, out, unique] IPortableDeviceValues **results); |
| |
| HRESULT InvokeAsync( |
| [in] REFGUID method_id, |
| [in, unique] IPortableDeviceValues *parameters, |
| [in, unique] IPortableDeviceServiceMethodCallback *callback); |
| |
| HRESULT Cancel( |
| [in, unique] IPortableDeviceServiceMethodCallback *callback); |
| } |
| |
| [ |
| object, |
| uuid(c424233c-afce-4828-a756-7ed7a2350083), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceMethodCallback : IUnknown |
| { |
| HRESULT OnComplete( |
| [in] HRESULT hr_status, |
| [in] IPortableDeviceValues *results); |
| } |
| |
| [ |
| object, |
| uuid(e56b0534-d9b9-425c-9b99-75f97cb3d7c8), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceActivation : IUnknown |
| { |
| HRESULT OpenAsync( |
| [in] LPCWSTR service_id, |
| [in] IPortableDeviceValues *client_info, |
| [in] IPortableDeviceServiceOpenCallback *callback); |
| |
| HRESULT CancelOpenAsync(); |
| } |
| |
| [ |
| object, |
| uuid(bced49c8-8efe-41ed-960b-61313abd47a9), |
| pointer_default(unique) |
| ] |
| interface IPortableDeviceServiceOpenCallback : IUnknown |
| { |
| HRESULT OnComplete( |
| [in] HRESULT hr_status); |
| } |
| |
| [ |
| object, |
| local, |
| uuid(5e1eafc3-e3d7-4132-96fa-759c0f9d1e0f) |
| ] |
| interface IPortableDeviceDispatchFactory : IUnknown |
| { |
| HRESULT GetDeviceDispatch( |
| [in] LPCWSTR device_id, |
| [out] IDispatch **device_dispatch); |
| } |
| |
| [ |
| object, |
| dual, |
| local, |
| nonextensible, |
| uuid(94fc7953-5ca1-483a-8aee-df52e7747d00) |
| ] |
| interface IPortableDeviceWebControl: IDispatch |
| { |
| HRESULT GetDeviceFromId( |
| [in] BSTR device_id, |
| [out, retval] IDispatch **device); |
| |
| HRESULT GetDeviceFromIdAsync( |
| [in] BSTR device_id, |
| [in] IDispatch *completion_handler, |
| [in, unique] IDispatch *error_handler); |
| } |
| |
| [ |
| uuid(1f001332-1a57-4934-be31-affc99f4ee0a), |
| version(1.0) |
| ] |
| library PortableDeviceApiLib |
| { |
| [ |
| uuid(728a21c5-3d9e-48d7-9810-864848f0f404) |
| ] |
| coclass PortableDevice |
| { |
| [default] interface IPortableDevice; |
| } |
| |
| [ |
| uuid(0af10cec-2ecd-4b92-9581-34f6ae0637f3) |
| ] |
| coclass PortableDeviceManager |
| { |
| [default] interface IPortableDeviceManager; |
| } |
| |
| [ |
| uuid(ef5db4c2-9312-422c-9152-411cd9c4dd84) |
| ] |
| coclass PortableDeviceService |
| { |
| [default] interface IPortableDeviceService; |
| } |
| |
| [ |
| uuid(43232233-8338-4658-ae01-0b4ae830b6b0) |
| ] |
| coclass PortableDeviceDispatchFactory |
| { |
| [default] interface IPortableDeviceDispatchFactory; |
| } |
| |
| [ |
| uuid(f7c0039a-4762-488a-b4b3-760ef9a1ba9b) |
| ] |
| coclass PortableDeviceFTM |
| { |
| [default] interface IPortableDevice; |
| } |
| |
| [ |
| uuid(1649b154-c794-497a-9b03-f3f0121302f3) |
| ] |
| coclass PortableDeviceServiceFTM |
| { |
| [default] interface IPortableDeviceService; |
| } |
| |
| [ |
| uuid(186dd02c-2dec-41b5-a7d4-b59056fade51) |
| ] |
| coclass PortableDeviceWebControl |
| { |
| [default] interface IPortableDeviceWebControl; |
| } |
| } |