| /** | |
| * 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 "oaidl.idl"; | |
| import "ocidl.idl"; | |
| import "propsys.idl"; | |
| typedef enum tagWPD_STREAM_UNITS { | |
| WPD_STREAM_UNITS_BYTES = 0x0, | |
| WPD_STREAM_UNITS_FRAMES = 0x1, | |
| WPD_STREAM_UNITS_ROWS = 0x2, | |
| WPD_STREAM_UNITS_MILLISECONDS = 0x4, | |
| WPD_STREAM_UNITS_MICROSECONDS = 0x8, | |
| } WPD_STREAM_UNITS; | |
| interface IWpdSerializer; | |
| interface IPortableDeviceValues; | |
| interface IPortableDeviceKeyCollection; | |
| interface IPortableDevicePropVariantCollection; | |
| interface IPortableDeviceValuesCollection; | |
| [ | |
| object, | |
| uuid(b32f4002-bb27-45ff-af4f-06631c1e8dad), | |
| pointer_default(unique) | |
| ] | |
| interface IWpdSerializer : IUnknown | |
| { | |
| HRESULT GetIPortableDeviceValuesFromBuffer( | |
| [in, size_is(input_buffer_length)] BYTE *buffer, | |
| [in] DWORD input_buffer_length, | |
| [out] IPortableDeviceValues **params); | |
| HRESULT WriteIPortableDeviceValuesToBuffer( | |
| [in] DWORD output_buffer_length, | |
| [in] IPortableDeviceValues *results, | |
| [out, size_is(output_buffer_length), length_is(*bytes_written)] BYTE *buffer, | |
| [out] DWORD *bytes_written); | |
| HRESULT GetBufferFromIPortableDeviceValues( | |
| [in] IPortableDeviceValues *source, | |
| [out, size_is(, *buffer_size)] BYTE **buffer, | |
| [out] DWORD *buffer_size); | |
| HRESULT GetSerializedSize( | |
| [in] IPortableDeviceValues *source, | |
| [out] DWORD *size); | |
| } | |
| [ | |
| uuid(6848f6f2-3155-4f86-b6f5-263eeeab3143), | |
| object | |
| ] | |
| interface IPortableDeviceValues : IUnknown { | |
| HRESULT GetCount([in] DWORD *pcelt); | |
| HRESULT GetAt( | |
| [in] const DWORD index, | |
| [unique, out, in] PROPERTYKEY *pKey, | |
| [unique, out, in] PROPVARIANT *pValue); | |
| HRESULT SetValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const PROPVARIANT *pValue); | |
| HRESULT GetValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] PROPVARIANT *pValue); | |
| HRESULT SetStringValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] LPCWSTR Value); | |
| HRESULT GetStringValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] LPWSTR *pValue); | |
| HRESULT SetUnsignedIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const ULONG Value); | |
| HRESULT GetUnsignedIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] ULONG *pValue); | |
| HRESULT SetSignedIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const LONG Value); | |
| HRESULT GetSignedIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] LONG *pValue); | |
| HRESULT SetUnsignedLargeIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const ULONGLONG Value); | |
| HRESULT GetUnsignedLargeIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] ULONGLONG *pValue); | |
| HRESULT SetSignedLargeIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const LONGLONG Value) = 0; | |
| HRESULT GetSignedLargeIntegerValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] LONGLONG *pValue); | |
| HRESULT SetFloatValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const FLOAT Value); | |
| HRESULT GetFloatValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] FLOAT *pValue); | |
| HRESULT SetErrorValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const HRESULT Value); | |
| HRESULT GetErrorValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] HRESULT *pValue); | |
| HRESULT SetKeyValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] REFPROPERTYKEY Value); | |
| HRESULT GetKeyValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] PROPERTYKEY *pValue); | |
| HRESULT SetBoolValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] const BOOL Value); | |
| HRESULT GetBoolValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] BOOL *pValue); | |
| HRESULT SetIUnknownValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] IUnknown *pValue); | |
| HRESULT GetIUnknownValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] IUnknown **ppValue); | |
| HRESULT SetGuidValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] REFGUID Value); | |
| HRESULT GetGuidValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] GUID *pValue); | |
| HRESULT SetBufferValue( | |
| [in] REFPROPERTYKEY key, | |
| [size_is(cbValue), in] BYTE *pValue, | |
| [in] DWORD cbValue); | |
| HRESULT GetBufferValue( | |
| [in] REFPROPERTYKEY key, | |
| [size_is(*pcbValue), out] BYTE **ppValue, | |
| [out] DWORD *pcbValue); | |
| HRESULT SetIPortableDeviceValuesValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] IPortableDeviceValues *pValue); | |
| HRESULT GetIPortableDeviceValuesValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] IPortableDeviceValues **ppValue); | |
| HRESULT SetIPortableDevicePropVariantCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] IPortableDevicePropVariantCollection *pValue); | |
| HRESULT GetIPortableDevicePropVariantCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] IPortableDevicePropVariantCollection **ppValue); | |
| HRESULT SetIPortableDeviceKeyCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] IPortableDeviceKeyCollection *pValue); | |
| HRESULT GetIPortableDeviceKeyCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] IPortableDeviceKeyCollection **ppValue); | |
| HRESULT SetIPortableDeviceValuesCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [in] IPortableDeviceValuesCollection *pValue); | |
| HRESULT GetIPortableDeviceValuesCollectionValue( | |
| [in] REFPROPERTYKEY key, | |
| [out] IPortableDeviceValuesCollection **ppValue); | |
| HRESULT RemoveValue([in] REFPROPERTYKEY key); | |
| HRESULT CopyValuesFromPropertyStore([in] IPropertyStore *pStore); | |
| HRESULT CopyValuesToPropertyStore([in] IPropertyStore *pStore); | |
| HRESULT Clear(); | |
| } | |
| [ | |
| uuid(dada2357-e0ad-492e-98db-dd61c53ba353), | |
| object | |
| ] | |
| interface IPortableDeviceKeyCollection : IUnknown | |
| { | |
| HRESULT GetCount([in] DWORD *pcElems); | |
| HRESULT GetAt( | |
| [in] const DWORD dwIndex, | |
| [in] PROPERTYKEY *pKey); | |
| HRESULT Add([in] REFPROPERTYKEY Key); | |
| HRESULT Clear(); | |
| HRESULT RemoveAt([in] const DWORD dwIndex); | |
| } | |
| [ | |
| uuid(89b2e422-4f1b-4316-bcef-a44afea83eb3), | |
| object | |
| ] | |
| interface IPortableDevicePropVariantCollection : IUnknown | |
| { | |
| HRESULT GetCount([out] DWORD *pcElems); | |
| HRESULT GetAt( | |
| [in] const DWORD dwIndex, | |
| [in] PROPVARIANT *pValue); | |
| HRESULT Add([in] const PROPVARIANT *pValue); | |
| HRESULT GetType([out] VARTYPE *pvt); | |
| HRESULT ChangeType([in] const VARTYPE vt); | |
| HRESULT Clear(); | |
| HRESULT RemoveAt([in] const DWORD dwIndex); | |
| } | |
| [ | |
| uuid(6e3f2d79-4e07-48c4-8208-d8c2e5af4a99), | |
| object | |
| ] | |
| interface IPortableDeviceValuesCollection : IUnknown | |
| { | |
| HRESULT GetCount([out] DWORD *pcElems); | |
| HRESULT GetAt( | |
| [in] DWORD dwIndex, | |
| [out] IPortableDeviceValues **ppValues); | |
| HRESULT Add([in] IPortableDeviceValues *pValues); | |
| HRESULT Clear(); | |
| HRESULT RemoveAt([in] const DWORD dwIndex); | |
| } | |
| [ | |
| uuid(2b00ba2f-e750-4beb-9235-97142ede1d3e), | |
| version(1.0) | |
| ] | |
| library PortableDeviceTypesLib | |
| { | |
| [ | |
| uuid(0b91a74b-ad7c-4a9d-b563-29eef9167172) | |
| ] | |
| coclass WpdSerializer | |
| { | |
| [default] interface IWpdSerializer; | |
| } | |
| [ | |
| uuid(0c15d503-d017-47ce-9016-7b3f978721cc) | |
| ] | |
| coclass PortableDeviceValues | |
| { | |
| [default] interface IPortableDeviceValues; | |
| } | |
| [ | |
| uuid(de2d022d-2480-43be-97f0-d1fa2cf98f4f) | |
| ] | |
| coclass PortableDeviceKeyCollection | |
| { | |
| [default] interface IPortableDeviceKeyCollection; | |
| } | |
| [ | |
| uuid(08a99e2f-6d6d-4b80-af5a-baf2bcbe4cb9) | |
| ] | |
| coclass PortableDevicePropVariantCollection | |
| { | |
| [default] interface IPortableDevicePropVariantCollection; | |
| } | |
| [ | |
| uuid(3882134d-14cf-4220-9cb4-435f86d83f60) | |
| ] | |
| coclass PortableDeviceValuesCollection | |
| { | |
| [default] interface IPortableDeviceValuesCollection; | |
| } | |
| } |