blob: c18d1eb9eda8eafdd4b614b439aedc95f12e392a [file] [log] [blame]
/**
* 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;
}
}