| /** | |
| *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; | |
| } | |
| } |