From c95f8e51d3541984953c021d3a67d586eba9f94d Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 8 Oct 2017 10:27:23 +0100 Subject: [PATCH] [PSDK] Update wmsdkidl.idl and import some of its related idl files from Wine Staging 2.16. CORE-13762 --- sdk/include/psdk/CMakeLists.txt | 6 + sdk/include/psdk/drmexternals.idl | 19 + sdk/include/psdk/mediaobj.idl | 242 ++++++ sdk/include/psdk/mfidl.idl | 169 ++++ sdk/include/psdk/mfobjects.idl | 585 +++++++++++++ sdk/include/psdk/mftransform.idl | 113 +++ sdk/include/psdk/nserror.h | 1266 +++++++++++++++++++++++++++++ sdk/include/psdk/wmdrmsdk.idl | 81 ++ sdk/include/psdk/wmsdk.h | 26 + sdk/include/psdk/wmsdkidl.idl | 606 +++++++++++++- 10 files changed, 3111 insertions(+), 2 deletions(-) create mode 100644 sdk/include/psdk/drmexternals.idl create mode 100644 sdk/include/psdk/mediaobj.idl create mode 100644 sdk/include/psdk/mfidl.idl create mode 100644 sdk/include/psdk/mfobjects.idl create mode 100644 sdk/include/psdk/mftransform.idl create mode 100644 sdk/include/psdk/nserror.h create mode 100644 sdk/include/psdk/wmdrmsdk.idl create mode 100644 sdk/include/psdk/wmsdk.h diff --git a/sdk/include/psdk/CMakeLists.txt b/sdk/include/psdk/CMakeLists.txt index 1b33c14a66d..2f63a08e300 100644 --- a/sdk/include/psdk/CMakeLists.txt +++ b/sdk/include/psdk/CMakeLists.txt @@ -43,6 +43,7 @@ list(APPEND SOURCE docobj.idl docobjectservice.idl downloadmgr.idl + drmexternals.idl # dyngraph.idl endpointvolume.idl exdisp.idl @@ -58,7 +59,11 @@ list(APPEND SOURCE indexsrv.idl inputscope.idl inseng.idl + mediaobj.idl metahost.idl + mfidl.idl + mfobjects.idl + mftransform.idl mimeinfo.idl mimeole.idl mlang.idl @@ -124,6 +129,7 @@ list(APPEND SOURCE wincodec.idl wincodecsdk.idl winsxs.idl + wmdrmsdk.idl wmiutils.idl wmsbuffer.idl wmsdkidl.idl diff --git a/sdk/include/psdk/drmexternals.idl b/sdk/include/psdk/drmexternals.idl new file mode 100644 index 00000000000..88826ad561c --- /dev/null +++ b/sdk/include/psdk/drmexternals.idl @@ -0,0 +1,19 @@ +/* + * Copyright 2017 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "wmdrmsdk.idl"; diff --git a/sdk/include/psdk/mediaobj.idl b/sdk/include/psdk/mediaobj.idl new file mode 100644 index 00000000000..04c82e890a0 --- /dev/null +++ b/sdk/include/psdk/mediaobj.idl @@ -0,0 +1,242 @@ +/* + * Copyright (C) 2002 Alexandre Julliard + * Copyright (C) 2004 Vincent Béron + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "objidl.idl"; +import "strmif.idl"; + +interface IDMOQualityControl; +interface IDMOVideoOutputOptimizations; + +typedef struct _DMOMediaType +{ + GUID majortype; + GUID subtype; + BOOL bFixedSizeSamples; + BOOL bTemporalCompression; + ULONG lSampleSize; + GUID formattype; + IUnknown *pUnk; + ULONG cbFormat; + BYTE *pbFormat; +} DMO_MEDIA_TYPE; + +/***************************************************************************** + * IEnumDMO interface + */ +[ + object, + uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F), + pointer_default(unique) +] +interface IEnumDMO : IUnknown +{ + [local] + HRESULT Next( + [in] DWORD cItemsToFetch, + [out] CLSID *pCLSID, + [out] WCHAR **Names, + [out] DWORD *pcItemsFetched + ); + + HRESULT Skip( + [in] DWORD cItemsToSkip + ); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumDMO **ppEnum + ); +} + +/***************************************************************************** + * IMediaBuffer interface + */ +[ + object, + uuid(59eff8b9-938c-4a26-82f2-95cb84cdc837), + local +] +interface IMediaBuffer : IUnknown +{ + HRESULT SetLength( + DWORD cbLength + ); + + HRESULT GetMaxLength( + [out] DWORD *pcbMaxLength + ); + + HRESULT GetBufferAndLength( + [out] BYTE **ppBuffer, + [out] DWORD *pcbLength + ); +} + +typedef struct _DMO_OUTPUT_DATA_BUFFER { + IMediaBuffer *pBuffer; + DWORD dwStatus; + REFERENCE_TIME rtTimestamp; + REFERENCE_TIME rtTimelength; +} DMO_OUTPUT_DATA_BUFFER, *PDMO_OUTPUT_DATA_BUFFER; + +enum _DMO_INPLACE_PROCESS_FLAGS { + DMO_INPLACE_NORMAL = 0x00000000, + DMO_INPLACE_ZERO = 0x00000001 +}; + +/***************************************************************************** + * IMediaObject interface + */ +[ + object, + uuid(d8ad0f58-5494-4102-97c5-ec798e59bcf4), + local +] +interface IMediaObject : IUnknown +{ + HRESULT GetStreamCount( + [out] DWORD *pcInputStreams, + [out] DWORD *pcOutputStreams + ); + + HRESULT GetInputStreamInfo( + DWORD dwInputStreamIndex, + [out] DWORD *pdwFlags + ); + + HRESULT GetOutputStreamInfo( + DWORD dwOutputStreamIndex, + [out] DWORD *pdwFlags + ); + + HRESULT GetInputType( + DWORD dwInputStreamIndex, + DWORD dwTypeIndex, + [out] DMO_MEDIA_TYPE *pmt + ); + + HRESULT GetOutputType( + DWORD dwOutputStreamIndex, + DWORD dwTypeIndex, + [out] DMO_MEDIA_TYPE *pmt + ); + + HRESULT SetInputType( + DWORD dwInputStreamIndex, + [in] const DMO_MEDIA_TYPE *pmt, + DWORD dwFlags + ); + + HRESULT SetOutputType( + DWORD dwOutputStreamIndex, + [in] const DMO_MEDIA_TYPE *pmt, + DWORD dwFlags + ); + + HRESULT GetInputCurrentType( + DWORD dwInputStreamIndex, + [out] DMO_MEDIA_TYPE *pmt + ); + + HRESULT GetOutputCurrentType( + DWORD dwOutputStreamIndex, + [out] DMO_MEDIA_TYPE *pmt + ); + + HRESULT GetInputSizeInfo( + DWORD dwInputStreamIndex, + [out] DWORD *pcbSize, + [out] DWORD *pcbMaxLookahead, + [out] DWORD *pcbAlignment + ); + + HRESULT GetOutputSizeInfo( + DWORD dwOutputStreamIndex, + [out] DWORD *pcbSize, + [out] DWORD *pcbAlignment + ); + + HRESULT GetInputMaxLatency( + DWORD dwInputStreamIndex, + [out] REFERENCE_TIME *prtMaxLatency + ); + + HRESULT SetInputMaxLatency( + DWORD dwInputStreamIndex, + REFERENCE_TIME rtMaxLatency + ); + + HRESULT Flush(); + + HRESULT Discontinuity(DWORD dwInputStreamIndex); + + HRESULT AllocateStreamingResources(); + + HRESULT FreeStreamingResources(); + + HRESULT GetInputStatus( + DWORD dwInputStreamIndex, + [out] DWORD *dwFlags + ); + + HRESULT ProcessInput( + DWORD dwInputStreamIndex, + IMediaBuffer *pBuffer, + DWORD dwFlags, + REFERENCE_TIME rtTimestamp, + REFERENCE_TIME rtTimelength + ); + + HRESULT ProcessOutput( + DWORD dwFlags, + DWORD cOutputBufferCount, + [in,out] DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, + [out] DWORD *pdwStatus + ); + + HRESULT Lock(LONG bLock); +}; + +/***************************************************************************** + * IMediaObjectInPlace interface + */ + +[ + object, + uuid(651b9ad0-0fc7-4aa9-9538-d89931010741), + local +] +interface IMediaObjectInPlace : IUnknown { + HRESULT Process( + [in] ULONG ulSize, + [in,out] BYTE* pData, + [in] REFERENCE_TIME refTimeStart, + [in] DWORD dwFlags + ); + + HRESULT Clone( + [out] IMediaObjectInPlace **ppMediaObject + ); + + HRESULT GetLatency( + [out] REFERENCE_TIME *pLatencyTime + ); +} diff --git a/sdk/include/psdk/mfidl.idl b/sdk/include/psdk/mfidl.idl new file mode 100644 index 00000000000..3c338062351 --- /dev/null +++ b/sdk/include/psdk/mfidl.idl @@ -0,0 +1,169 @@ +/* + * Copyright 2016 Michael Müller + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "mfobjects.idl"; +import "mftransform.idl"; + +typedef unsigned __int64 TOPOID; +typedef LONGLONG MFTIME; + +typedef enum MF_TOPOLOGY_TYPE +{ + MF_TOPOLOGY_OUTPUT_NODE, + MF_TOPOLOGY_SOURCESTREAM_NODE, + MF_TOPOLOGY_TRANSFORM_NODE, + MF_TOPOLOGY_TEE_NODE, + MF_TOPOLOGY_MAX = 0xffffffff +} MF_TOPOLOGY_TYPE; + +typedef enum _MFCLOCK_STATE +{ + MFCLOCK_STATE_INVALID, + MFCLOCK_STATE_RUNNING, + MFCLOCK_STATE_STOPPED, + MFCLOCK_STATE_PAUSED +} MFCLOCK_STATE; + +typedef enum MF_OBJECT_TYPE +{ + MF_OBJECT_MEDIASOURCE, + MF_OBJECT_BYTESTREAM, + MF_OBJECT_INVALID +} MF_OBJECT_TYPE; + +typedef struct _MFCLOCK_PROPERTIES +{ + unsigned __int64 qwCorrelationRate; + GUID guidClockId; + DWORD dwClockFlags; + unsigned __int64 qwClockFrequency; + DWORD dwClockTolerance; + DWORD dwClockJitter; +} MFCLOCK_PROPERTIES; + +[ + object, + uuid(2eb1e945-18b8-4139-9b1a-d5d584818530), +] +interface IMFClock : IUnknown +{ + HRESULT GetClockCharacteristics([out] DWORD *characteristics); + HRESULT GetCorrelatedTime([in] DWORD reserved, [out] LONGLONG *clock_time, [out] MFTIME *system_time); + HRESULT GetContinuityKey([out] DWORD *key); + HRESULT GetState([in] DWORD reserved, [out] MFCLOCK_STATE *state); + HRESULT GetProperties([out] MFCLOCK_PROPERTIES *props); +} + +[ + object, + uuid(83cf873a-f6da-4bc8-823f-bacfd55dc430), +] +interface IMFTopologyNode : IMFAttributes +{ + HRESULT SetObject([in] IUnknown *object); + HRESULT GetObject([out] IUnknown **object); + HRESULT GetNodeType([out] MF_TOPOLOGY_TYPE *type); + HRESULT GetTopoNodeID([out] TOPOID *id); + HRESULT SetTopoNodeID([in] TOPOID id); + HRESULT GetInputCount([out] DWORD *count); + HRESULT GetOutputCount([out] DWORD *count); + [local] HRESULT ConnectOutput([in] DWORD output_index, [in] IMFTopologyNode *node, [in] DWORD input_index); + [local] HRESULT DisconnectOutput([in] DWORD index); + HRESULT GetInput([in] DWORD input_index, [out] IMFTopologyNode **node, [out] DWORD *output_index); + HRESULT GetOutput([in] DWORD output_index, [out] IMFTopologyNode **node, [out] DWORD *input_index); + [local] HRESULT SetOutputPrefType([in] DWORD index, [in] IMFMediaType *type); + [local] HRESULT GetOutputPrefType([in] DWORD output_index, [out] IMFMediaType **type); + [call_as(GetOutputPrefType)] HRESULT RemoteGetOutputPrefType([in] DWORD index, [out] DWORD *length, + [out, size_is(, *length)] BYTE **data); + [local] HRESULT SetInputPrefType([in] DWORD index, [in] IMFMediaType *type); + [local] HRESULT GetInputPrefType([in] DWORD index, [out] IMFMediaType **type); + [call_as(GetInputPrefType)] HRESULT RemoteGetInputPrefType([in] DWORD index, [out] DWORD *length, + [out, size_is(, *length)] BYTE **data); + HRESULT CloneFrom([in] IMFTopologyNode *node); +} + +[ + object, + uuid(83cf873a-f6da-4bc8-823f-bacfd55dc433), +] +interface IMFTopology : IMFAttributes +{ + HRESULT GetTopologyID([out] TOPOID *id); + [local] HRESULT AddNode([in] IMFTopologyNode *node); + [local] HRESULT RemoveNode([in] IMFTopologyNode *node); + HRESULT GetNodeCount([out] WORD *nodes); + HRESULT GetNode([in] WORD index, [out] IMFTopologyNode **node); + [local] HRESULT Clear(); + HRESULT CloneFrom([in] IMFTopology *topology); + HRESULT GetNodeByID([in] TOPOID id, [out] IMFTopologyNode **node); + HRESULT GetSourceNodeCollection([out] IMFCollection **collection); + HRESULT GetOutputNodeCollection([out] IMFCollection **collection); +} + +[ + object, + uuid(90377834-21d0-4dee-8214-ba2e3e6c1127), +] +interface IMFMediaSession : IMFMediaEventGenerator +{ + HRESULT SetTopology([in] DWORD flags, [in] IMFTopology *topology); + HRESULT ClearTopologies(); + HRESULT Start([in, unique] const GUID *format, [in, unique] const PROPVARIANT *start); + HRESULT Pause(); + HRESULT Stop(); + HRESULT Close(); + HRESULT Shutdown(); + HRESULT GetClock([out] IMFClock **clock); + HRESULT GetSessionCapabilities([out] DWORD *caps); + HRESULT GetFullTopology([in] DWORD flags, [in] TOPOID id, [out] IMFTopology **topology); +} + +[ + object, + uuid(fbe5a32d-a497-4b61-bb85-97b1a848a6e3) +] +interface IMFSourceResolver : IUnknown +{ + [local] HRESULT CreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, + [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object); + [local] HRESULT CreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url, [in] DWORD flags, + [in] IPropertyStore *props, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object); + [local] HRESULT BeginCreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, + [out] IUnknown **cancel_cookie, [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state); + [call_as(BeginCreateObjectFromURL)] HRESULT RemoteBeginCreateObjectFromURL([in, string] const WCHAR *url, + [in] DWORD flags, [in] IPropertyStore *props, [in] IMFRemoteAsyncCallback *callback); + [local] HRESULT EndCreateObjectFromURL([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type, + [out] IUnknown **object); + [call_as(EndCreateObjectFromURL)] HRESULT RemoteEndCreateObjectFromURL([in] IUnknown *result, + [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object); + [local] HRESULT BeginCreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url, + [in] DWORD flags, [in] IPropertyStore *props, [out] IUnknown **cancel_cookie, + [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state); + [call_as(BeginCreateObjectFromByteStream)] HRESULT RemoteBeginCreateObjectFromByteStream([in] IMFByteStream *stream, + [in, unique] const WCHAR *url, [in] DWORD flags, [in, unique] IPropertyStore *props, + [in] IMFRemoteAsyncCallback *callback); + [local] HRESULT EndCreateObjectFromByteStream([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type, + [out] IUnknown **object); + [call_as(EndCreateObjectFromByteStream)] HRESULT RemoteEndCreateObjectFromByteStream([in] IUnknown *result, + [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object); + [local] HRESULT CanceObjectCreation([in] IUnknown *cancel_cookie); +} + +cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session);") +cpp_quote("HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver);") +cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);") diff --git a/sdk/include/psdk/mfobjects.idl b/sdk/include/psdk/mfobjects.idl new file mode 100644 index 00000000000..467535dbd8e --- /dev/null +++ b/sdk/include/psdk/mfobjects.idl @@ -0,0 +1,585 @@ +/* + * Copyright 2015 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "propsys.idl"; +import "mediaobj.idl"; + +cpp_quote("#include ") +#include + +typedef ULONGLONG QWORD; + +typedef enum _MF_ATTRIBUTE_TYPE { + MF_ATTRIBUTE_UINT32 = VT_UI4, + MF_ATTRIBUTE_UINT64 = VT_UI8, + MF_ATTRIBUTE_DOUBLE = VT_R8, + MF_ATTRIBUTE_GUID = VT_CLSID, + MF_ATTRIBUTE_STRING = VT_LPWSTR, + MF_ATTRIBUTE_BLOB = VT_VECTOR | VT_UI1, + MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN +} MF_ATTRIBUTE_TYPE; + +typedef enum _MF_ATTRIBUTES_MATCH_TYPE { + MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0, + MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1, + MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2, + MF_ATTRIBUTES_MATCH_INTERSECTION = 3, + MF_ATTRIBUTES_MATCH_SMALLER = 4 +} MF_ATTRIBUTES_MATCH_TYPE; + +[ + object, + uuid(2cd2d921-c447-44a7-a13c-4adabfc247e3) +] +interface IMFAttributes : IUnknown +{ + HRESULT GetItem(REFGUID guidKey, [in, out, ptr] PROPVARIANT *pValue); + HRESULT GetItemType(REFGUID guidKey, [out] MF_ATTRIBUTE_TYPE *pType); + HRESULT CompareItem(REFGUID guidKey, REFPROPVARIANT Value, [out] BOOL *pbResult); + HRESULT Compare(IMFAttributes *pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, [out] BOOL *pbResult); + HRESULT GetUINT32(REFGUID guidKey, [out] UINT32 *punValue); + HRESULT GetUINT64(REFGUID guidKey, [out] UINT64 *punValue); + HRESULT GetDouble(REFGUID guidKey, [out] double *pfValue); + HRESULT GetGUID(REFGUID guidKey, [out] GUID *pguidValue); + HRESULT GetStringLength(REFGUID guidKey, [out] UINT32 *pcchLength); + HRESULT GetString(REFGUID guidKey, [out, size_is(cchBufSize)] LPWSTR pwszValue, UINT32 cchBufSize, + [in, out, ptr] UINT32 *pcchLength); + HRESULT GetAllocatedString(REFGUID guidKey, [out, size_is(,*pcchLength+1)] LPWSTR *ppwszValue, + [out] UINT32 *pcchLength); + HRESULT GetBlobSize(REFGUID guidKey, [out] UINT32 *pcbBlobSize); + HRESULT GetBlob(REFGUID guidKey, [out, size_is(cbBufSize)] UINT8 *pBuf, UINT32 cbBufSize, + [in, out, ptr] UINT32 *pcbBlobSize); + HRESULT GetAllocatedBlob(REFGUID guidKey, [out, size_is(,*pcbSize)] UINT8 **ppBuf, [out] UINT32 *pcbSize); + HRESULT GetUnknown(REFGUID guidKey, REFIID riid, [out, iid_is(riid)] LPVOID *ppv); + HRESULT SetItem(REFGUID guidKey, REFPROPVARIANT Value); + HRESULT DeleteItem(REFGUID guidKey); + HRESULT DeleteAllItems(); + HRESULT SetUINT32(REFGUID guidKey, UINT32 unValue); + HRESULT SetUINT64(REFGUID guidKey, UINT64 unValue); + HRESULT SetDouble(REFGUID guidKey, double fValue); + HRESULT SetGUID(REFGUID guidKey, REFGUID guidValue); + HRESULT SetString(REFGUID guidKey, [in, string] LPCWSTR wszValue); + HRESULT SetBlob(REFGUID guidKey, [in, size_is(cbBufSize)] const UINT8* pBuf, UINT32 cbBufSize); + HRESULT SetUnknown(REFGUID guidKey, [in] IUnknown *pUnknown); + HRESULT LockStore(); + HRESULT UnlockStore(); + HRESULT GetCount([out] UINT32 *pcItems); + HRESULT GetItemByIndex(UINT32 unIndex, [out] GUID *pguidKey, [in, out, ptr] PROPVARIANT *pValue); + HRESULT CopyAllItems([in] IMFAttributes *pDest); +} + +enum MF_ATTRIBUTE_SERIALIZE_OPTIONS { + MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x00000001 +}; + +[ + object, + uuid(045fa593-8799-42b8-bc8d-8968c6453507), + local +] +interface IMFMediaBuffer : IUnknown +{ + HRESULT Lock([out] BYTE **ppbBuffer, [out] DWORD *pcbMaxLength, [out] DWORD *pcbCurrentLength); + HRESULT Unlock(); + HRESULT GetCurrentLength([out] DWORD *pcbCurrentLength); + HRESULT SetCurrentLength([in] DWORD cbCurrentLength); + HRESULT GetMaxLength([out] DWORD *pcbMaxLength); +} + +[ + object, + uuid(c40a00f2-b93a-4d80-ae8c-5a1c634f58e4), + local +] +interface IMFSample : IMFAttributes +{ + HRESULT GetSampleFlags([out] DWORD *pdwSampleFlags); + HRESULT SetSampleFlags([in] DWORD dwSampleFlags); + HRESULT GetSampleTime([out] LONGLONG *phnsSampleTime); + HRESULT SetSampleTime([in] LONGLONG hnsSampleTime); + HRESULT GetSampleDuration([out] LONGLONG *phnsSampleDuration); + HRESULT SetSampleDuration([in] LONGLONG hnsSampleDuration); + HRESULT GetBufferCount([out] DWORD *pdwBufferCount); + HRESULT GetBufferByIndex([in] DWORD dwIndex, [out] IMFMediaBuffer **ppBuffer); + HRESULT ConvertToContiguousBuffer([out] IMFMediaBuffer **ppBuffer); + HRESULT AddBuffer([in] IMFMediaBuffer *pBuffer); + HRESULT RemoveBufferByIndex([in] DWORD dwIndex); + HRESULT RemoveAllBuffers(); + HRESULT GetTotalLength([out] DWORD *pcbTotalLength); + HRESULT CopyToBuffer([in] IMFMediaBuffer *pBuffer); +} + +[ + object, + uuid(7dc9d5f9-9ed9-44ec-9bbf-0600bb589fbb), + local +] +interface IMF2DBuffer : IUnknown +{ + HRESULT Lock2D([out] BYTE **pbScanline0, [out] LONG *plPitch); + HRESULT Unlock2D(); + HRESULT GetScanline0AndPitch([out] BYTE **pbScanline0, [out] LONG *plPitch); + HRESULT IsContiguousFormat([out] BOOL *pfIsContiguous); + HRESULT GetContiguousLength([out] DWORD *pcbLength); + HRESULT ContiguousCopyTo([out, size_is(cbDestBuffer)] BYTE *pbDestBuffer, [in] DWORD cbDestBuffer); + HRESULT ContiguousCopyFrom([in, size_is(cbSrcBuffer)] const BYTE *pbSrcBuffer, [in] DWORD cbSrcBuffer); +} + +[ + object, + uuid(44ae0fa8-ea31-4109-8d2e-4cae4997c555), + local +] +interface IMFMediaType : IMFAttributes +{ + HRESULT GetMajorType([out] GUID *pguidMajorType); + HRESULT IsCompressedFormat([out] BOOL *pfCompressed); + HRESULT IsEqual([in] IMFMediaType *pIMediaType, [out] DWORD *pdwFlags); + HRESULT GetRepresentation([in] GUID guidRepresentation, [out] LPVOID *ppvRepresentation); + HRESULT FreeRepresentation([in] GUID guidRepresentation, [in] LPVOID pvRepresentation); +} + +cpp_quote("#define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001") +cpp_quote("#define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002") +cpp_quote("#define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004") +cpp_quote("#define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008") + +[ + object, + uuid(26a0adc3-ce26-4672-9304-69552edd3faf), + local +] +interface IMFAudioMediaType : IMFMediaType +{ + const WAVEFORMATEX *GetAudioFormat(); +} + +typedef struct { + GUID guidMajorType; + GUID guidSubtype; +} MFT_REGISTER_TYPE_INFO; + +typedef enum _MFVideoFlags { + MFVideoFlag_PAD_TO_Mask = 0x00000003, + MFVideoFlag_PAD_TO_None = 0, + MFVideoFlag_PAD_TO_4x3 = 0x00000001, + MFVideoFlag_PAD_TO_16x9 = 0x00000002, + MFVideoFlag_SrcContentHintMask = 0x0000001c, + MFVideoFlag_SrcContentHintNone = 0, + MFVideoFlag_SrcContentHint16x9 = 0x00000004, + MFVideoFlag_SrcContentHint235_1 = 0x00000008, + MFVideoFlag_AnalogProtected = 0x00000020, + MFVideoFlag_DigitallyProtected = 0x00000040, + MFVideoFlag_ProgressiveContent = 0x00000080, + MFVideoFlag_FieldRepeatCountMask = 0x00000700, + MFVideoFlag_FieldRepeatCountShift = 8, + MFVideoFlag_ProgressiveSeqReset = 0x00000800, + MFVideoFlag_PanScanEnabled = 0x00020000, + MFVideoFlag_LowerFieldFirst = 0x00040000, + MFVideoFlag_BottomUpLinearRep = 0x00080000, + MFVideoFlags_DXVASurface = 0x00100000, + MFVideoFlags_RenderTargetSurface = 0x00400000, + MFVideoFlags_ForceQWORD = 0x7fffffff +} MFVideoFlags; + +typedef struct _MFRatio { + DWORD Numerator; + DWORD Denominator; +} MFRatio; + +typedef struct _MFOffset { + WORD fract; + short value; +} MFOffset; + +typedef struct _MFVideoArea { + MFOffset OffsetX; + MFOffset OffsetY; + SIZE Area; +} MFVideoArea; + +typedef enum _MFVideoChromaSubsampling { + MFVideoChromaSubsampling_Unknown = 0, + MFVideoChromaSubsampling_ProgressiveChroma = 0x8, + MFVideoChromaSubsampling_Horizontally_Cosited = 0x4, + MFVideoChromaSubsampling_Vertically_Cosited = 0x2, + MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, + MFVideoChromaSubsampling_MPEG2 + = MFVideoChromaSubsampling_Horizontally_Cosited + | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, + MFVideoChromaSubsampling_MPEG1 + = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, + MFVideoChromaSubsampling_DV_PAL + = MFVideoChromaSubsampling_Horizontally_Cosited + | MFVideoChromaSubsampling_Vertically_Cosited, + MFVideoChromaSubsampling_Cosited + = MFVideoChromaSubsampling_Horizontally_Cosited + | MFVideoChromaSubsampling_Vertically_Cosited + | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, + MFVideoChromaSubsampling_Last = MFVideoChromaSubsampling_Cosited + 1, + MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff +} MFVideoChromaSubsampling; + +typedef enum _MFVideoInterlaceMode { + MFVideoInterlace_Unknown = 0, + MFVideoInterlace_Progressive = 2, + MFVideoInterlace_FieldInterleavedUpperFirst = 3, + MFVideoInterlace_FieldInterleavedLowerFirst = 4, + MFVideoInterlace_FieldSingleUpper = 5, + MFVideoInterlace_FieldSingleLower = 6, + MFVideoInterlace_MixedInterlaceOrProgressive = 7, + MFVideoInterlace_Last, + MFVideoInterlace_ForceDWORD = 0x7fffffff +} MFVideoInterlaceMode; + +typedef enum _MFVideoTransferFunction { + MFVideoTransFunc_Unknown = 0, + MFVideoTransFunc_10 = 1, + MFVideoTransFunc_18 = 2, + MFVideoTransFunc_20 = 3, + MFVideoTransFunc_22 = 4, + MFVideoTransFunc_709 = 5, + MFVideoTransFunc_240M = 6, + MFVideoTransFunc_sRGB = 7, + MFVideoTransFunc_28 = 8, + MFVideoTransFunc_Log_100 = 9, + MFVideoTransFunc_Log_316 = 10, + MFVideoTransFunc_709_sym = 11, + MFVideoTransFunc_Last, + MFVideoTransFunc_ForceDWORD = 0x7fffffff +} MFVideoTransferFunction; + +typedef enum _MFVideoTransferMatrix { + MFVideoTransferMatrix_Unknown = 0, + MFVideoTransferMatrix_BT709 = 1, + MFVideoTransferMatrix_BT601 = 2, + MFVideoTransferMatrix_SMPTE240M = 3, + MFVideoTransferMatrix_Last, + MFVideoTransferMatrix_ForceDWORD = 0x7fffffff +} MFVideoTransferMatrix; + +typedef enum _MFVideoPrimaries { + MFVideoPrimaries_Unknown = 0, + MFVideoPrimaries_reserved = 1, + MFVideoPrimaries_BT709 = 2, + MFVideoPrimaries_BT470_2_SysM = 3, + MFVideoPrimaries_BT470_2_SysBG = 4, + MFVideoPrimaries_SMPTE170M = 5, + MFVideoPrimaries_SMPTE240M = 6, + MFVideoPrimaries_EBU3213 = 7, + MFVideoPrimaries_SMPTE_C = 8, + MFVideoPrimaries_Last, + MFVideoPrimaries_ForceDWORD = 0x7fffffff +} MFVideoPrimaries; + +typedef enum _MFVideoLighting { + MFVideoLighting_Unknown = 0, + MFVideoLighting_bright = 1, + MFVideoLighting_office = 2, + MFVideoLighting_dim = 3, + MFVideoLighting_dark = 4, + MFVideoLighting_Last, + MFVideoLighting_ForceDWORD = 0x7fffffff +} MFVideoLighting; + +typedef enum _MFNominalRange { + MFNominalRange_Unknown = 0, + MFNominalRange_Normal = 1, + MFNominalRange_Wide = 2, + MFNominalRange_0_255 = 1, + MFNominalRange_16_235 = 2, + MFNominalRange_48_208 = 3, + MFNominalRange_64_127 = 4 +} MFNominalRange; + +typedef struct _MFVideoInfo { + DWORD dwWidth; + DWORD dwHeight; + MFRatio PixelAspectRatio; + MFVideoChromaSubsampling SourceChromaSubsampling; + MFVideoInterlaceMode InterlaceMode; + MFVideoTransferFunction TransferFunction; + MFVideoPrimaries ColorPrimaries; + MFVideoTransferMatrix TransferMatrix; + MFVideoLighting SourceLighting; + MFRatio FramesPerSecond; + MFNominalRange NominalRange; + MFVideoArea GeometricAperture; + MFVideoArea MinimumDisplayAperture; + MFVideoArea PanScanAperture; + unsigned __int64 VideoFlags; +} MFVideoInfo; + +typedef struct _MFVideoCompressedInfo { + LONGLONG AvgBitrate; + LONGLONG AvgBitErrorRate; + DWORD MaxKeyFrameSpacing; +} MFVideoCompressedInfo; + +typedef struct _MFARGB { + BYTE rgbBlue; + BYTE rgbGreen; + BYTE rgbRed; + BYTE rgbAlpha; +} MFARGB; + +typedef struct __MFAYUVSample { + BYTE bCrValue; + BYTE bCbValue; + BYTE bYValue; + BYTE bSampleAlpha8; +} MFAYUVSample; + +typedef union _MFPaletteEntry { + MFARGB ARGB; + MFAYUVSample AYCbCr; +} MFPaletteEntry; + +typedef struct _MFVideoSurfaceInfo { + DWORD Format; + DWORD PaletteEntries; + MFPaletteEntry Palette[]; +} MFVideoSurfaceInfo; + +typedef struct _MFVIDEOFORMAT { + DWORD dwSize; + MFVideoInfo videoInfo; + GUID guidFormat; + MFVideoCompressedInfo compressedInfo; + MFVideoSurfaceInfo surfaceInfo; +} MFVIDEOFORMAT; + +typedef enum _MFStandardVideoFormat { + MFStdVideoFormat_reserved = 0, + MFStdVideoFormat_NTSC, + MFStdVideoFormat_PAL, + MFStdVideoFormat_DVD_NTSC, + MFStdVideoFormat_DVD_PAL, + MFStdVideoFormat_DV_PAL, + MFStdVideoFormat_DV_NTSC, + MFStdVideoFormat_ATSC_SD480i, + MFStdVideoFormat_ATSC_HD1080i, + MFStdVideoFormat_ATSC_HD720p +} MFStandardVideoFormat; + +[ + object, + uuid(b99f381f-a8f9-47a2-a5af-ca3a225a3890), + local +] +interface IMFVideoMediaType : IMFMediaType +{ + const MFVIDEOFORMAT *GetVideoFormat(); + + HRESULT GetVideoRepresentation([in] GUID guidRepresentation, [out] LPVOID *ppvRepresentation, + [in] LONG lStride); +} + +[ + object, + uuid(ac6b7889-0740-4d51-8619-905994a55cc6) +] +interface IMFAsyncResult : IUnknown +{ + HRESULT GetState([out] IUnknown **ppunkState); + HRESULT GetStatus(); + HRESULT SetStatus([in] HRESULT hrStatus); + HRESULT GetObject([out] IUnknown **ppObject); + [local] IUnknown *GetStateNoAddRef(); +} + +[ + object, + uuid(a27003cf-2354-4f2a-8d6a-ab7cff15437e), +] +interface IMFAsyncCallback : IUnknown +{ + HRESULT GetParameters([out] DWORD *pdwFlags, [out] DWORD *pdwQueue); + HRESULT Invoke([in] IMFAsyncResult *pAsyncResult); +} + +[ + object, + uuid(a27003d0-2354-4f2a-8d6a-ab7cff15437e), +] +interface IMFRemoteAsyncCallback : IUnknown +{ + HRESULT Invoke([in] HRESULT hr, [in] IUnknown *pRemoteResult); +} + +cpp_quote("#define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x0001") +cpp_quote("#define MFASYNC_SIGNAL_CALLBACK 0x0002" ) + +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_RT 0x00000002") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_IO 0x00000003") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xffff0000") +cpp_quote("#define MFASYNC_CALLBACK_QUEUE_ALL 0xffffffff") + +typedef DWORD MediaEventType; + +[ + object, + uuid(df598932-f10c-4e39-bba2-c308f101daa3) +] +interface IMFMediaEvent : IMFAttributes +{ + HRESULT GetType([out] MediaEventType *pmet); + HRESULT GetExtendedType([out] GUID *pguidExtendedType); + HRESULT GetStatus([out] HRESULT *phrStatus); + HRESULT GetValue([out] PROPVARIANT *pvValue); +} + +[ + object, + uuid(2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d) +] +interface IMFMediaEventGenerator : IUnknown +{ + HRESULT GetEvent([in] DWORD dwFlags, [out] IMFMediaEvent **ppEvent); + + [local] HRESULT BeginGetEvent([in] IMFAsyncCallback *pCallback, [in] IUnknown *punkState); + [call_as(BeginGetEvent)] HRESULT RemoteBeginGetEvent([in] IMFRemoteAsyncCallback *pCallback); + + [local] HRESULT EndGetEvent([in] IMFAsyncResult *pResult, [out] IMFMediaEvent **ppEvent); + [call_as(EndGetEvent)] HRESULT RemoteEndGetEvent([in] IUnknown *pResult, [out] DWORD *pcbEvent, + [out, size_is(,*pcbEvent)] BYTE **ppbEvent); + + HRESULT QueueEvent([in] MediaEventType met, [in] REFGUID guidExtendedType, [in] HRESULT hrStatus, + [in, unique] const PROPVARIANT *pvValue); +} + +typedef enum _MFBYTESTREAM_SEEK_ORIGIN { + msoBegin, + msoCurrent +} MFBYTESTREAM_SEEK_ORIGIN; + +[ + object, + uuid(ad4c1b00-4bf7-422f-9175-756693d9130d), +] +interface IMFByteStream : IUnknown +{ + HRESULT GetCapabilities([out] DWORD *pdwCapabilities); + HRESULT GetLength([out] QWORD *pqwLength); + HRESULT SetLength([in] QWORD qwLength); + HRESULT GetCurrentPosition([out] QWORD *pqwPosition); + HRESULT SetCurrentPosition([in] QWORD qwPosition); + HRESULT IsEndOfStream([out] BOOL *pfEndOfStream); + + [local] HRESULT Read([in] BYTE* pb, [in] ULONG cb, [out] ULONG *pcbRead); + [local] HRESULT BeginRead([in] BYTE *pb, [in] ULONG cb, [in] IMFAsyncCallback *pCallback, [in] IUnknown *punkState); + [local] HRESULT EndRead([in] IMFAsyncResult *pResult, [out] ULONG *pcbRead); + [local] HRESULT Write([in] const BYTE *pb, [in] ULONG cb, [out] ULONG *pcbWritten); + [local] HRESULT BeginWrite([in] const BYTE *pb, [in] ULONG cb, [in] IMFAsyncCallback *pCallback, [in] IUnknown *punkState); + [local] HRESULT EndWrite([in] IMFAsyncResult *pResult, [out] ULONG *pcbWritten); + [local] HRESULT Seek([in] MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, [in] LONGLONG llSeekOffset, [in] DWORD dwSeekFlags, + [out] QWORD *pqwCurrentPosition); + + HRESULT Flush(); + HRESULT Close(); +} + +cpp_quote("#define MFBYTESTREAM_IS_READABLE 0x00000001") +cpp_quote("#define MFBYTESTREAM_IS_WRITABLE 0x00000002") +cpp_quote("#define MFBYTESTREAM_IS_SEEKABLE 0x00000004") +cpp_quote("#define MFBYTESTREAM_IS_REMOTE 0x00000008") +cpp_quote("#define MFBYTESTREAM_IS_DIRECTORY 0x00000080") +cpp_quote("#define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100") +cpp_quote("#define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200") +cpp_quote("#define MFBYTESTREAM_SHARE_WRITE 0x00000400") + +cpp_quote("#define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001") + +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_DURATION, 0xfc35828a,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") +cpp_quote("EXTERN_GUID(MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);") + +typedef enum MF_FILE_ACCESSMODE { + MF_ACCESSMODE_READ = 1, + MF_ACCESSMODE_WRITE = 2, + MF_ACCESSMODE_READWRITE = 3 +} MF_FILE_ACCESSMODE; + +typedef enum { + MF_OPENMODE_FAIL_IF_NOT_EXIST = 0, + MF_OPENMODE_FAIL_IF_EXIST = 1, + MF_OPENMODE_RESET_IF_EXIST = 2, + MF_OPENMODE_APPEND_IF_EXIST = 3, + MF_OPENMODE_DELETE_IF_EXIST = 4 +} MF_FILE_OPENMODE; + +typedef enum { + MF_FILEFLAGS_NONE = 0x00000000, + MF_FILEFLAGS_NOBUFFERING = 0x00000001, + MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x00000002 +} MF_FILE_FLAGS; + +[ + object, + uuid(5bc8a76b-869a-46a3-9b03-fa218a66aebe) +] +interface IMFCollection : IUnknown +{ + HRESULT GetElementCount([out] DWORD *pcElements); + HRESULT GetElement([in] DWORD dwElementIndex, [out] IUnknown **ppUnkElement); + HRESULT AddElement([in] IUnknown *pUnkElement); + HRESULT RemoveElement([in] DWORD dwElementIndex, [out] IUnknown **ppUnkElement); + HRESULT InsertElementAt([in] DWORD dwIndex, [in] IUnknown *pUnknown); + HRESULT RemoveAllElements(); +} + +[ + object, + uuid(7fee9e9a-4a89-47a6-899c-b6a53a70fb67), + pointer_default(unique) +] +interface IMFActivate : IMFAttributes +{ + HRESULT ActivateObject([in] REFIID riid, [out, iid_is(riid), retval] void **ppv); + HRESULT ShutdownObject(); + HRESULT DetachObject(); +} + +typedef enum _MF_Plugin_Type { + MF_Plugin_Type_MFT = 0, + MF_Plugin_Type_MediaSource = 1 +} MF_Plugin_Type; + +[ + object, + local, + uuid(5c6c44bf-1db6-435b-9249-e8cd10fdec96), + pointer_default(unique) +] +interface IMFPluginControl : IUnknown +{ + HRESULT GetPreferredClsid(DWORD pluginType, LPCWSTR selector, CLSID *clsid); + HRESULT GetPreferredClsidByIndex(DWORD pluginType, DWORD index, LPWSTR *selector, CLSID *clsid); + HRESULT SetPreferredClsid(DWORD pluginType, LPCWSTR selector, const CLSID *clsid); + HRESULT IsDisabled(DWORD pluginType, REFCLSID clsid); + HRESULT GetDisabledByIndex(DWORD pluginType, DWORD index, CLSID *clsid); + HRESULT SetDisabled(DWORD pluginType, REFCLSID clsid, BOOL disabled); +} diff --git a/sdk/include/psdk/mftransform.idl b/sdk/include/psdk/mftransform.idl new file mode 100644 index 00000000000..165cad4afd1 --- /dev/null +++ b/sdk/include/psdk/mftransform.idl @@ -0,0 +1,113 @@ +/* + * Copyright 2017 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "mfobjects.idl"; + +typedef struct _MFT_INPUT_STREAM_INFO +{ + LONGLONG hnsMaxLatency; + DWORD dwFlags; + DWORD cbSize; + DWORD cbMaxLookahead; + DWORD cbAlignment; +} MFT_INPUT_STREAM_INFO; + +typedef struct _MFT_OUTPUT_STREAM_INFO +{ + DWORD dwFlags; + DWORD cbSize; + DWORD cbAlignment; +} MFT_OUTPUT_STREAM_INFO; + +typedef struct _MFT_OUTPUT_DATA_BUFFER +{ + DWORD dwStreamID; + IMFSample *pSample; + DWORD dwStatus; + IMFCollection *pEvents; +} MFT_OUTPUT_DATA_BUFFER, *PMFT_OUTPUT_DATA_BUFFER; + +typedef enum _MFT_MESSAGE_TYPE +{ + MFT_MESSAGE_COMMAND_FLUSH = 0x00000000, + MFT_MESSAGE_COMMAND_DRAIN = 0x00000001, + MFT_MESSAGE_SET_D3D_MANAGER = 0x00000002, + MFT_MESSAGE_DROP_SAMPLES = 0x00000003, + MFT_MESSAGE_COMMAND_TICK = 0x00000004, + MFT_MESSAGE_NOTIFY_BEGIN_STREAMING = 0x10000000, + MFT_MESSAGE_NOTIFY_END_STREAMING = 0x10000001, + MFT_MESSAGE_NOTIFY_END_OF_STREAM = 0x10000002, + MFT_MESSAGE_NOTIFY_START_OF_STREAM = 0x10000003, + MFT_MESSAGE_COMMAND_MARKER = 0x20000000 +} MFT_MESSAGE_TYPE; + +[ + object, + uuid(bf94c121-5b05-4e6f-8000-ba598961414d) +] +interface IMFTransform : IUnknown +{ + HRESULT GetStreamLimits([out] DWORD *input_minimum, [out] DWORD *input_maximum, [out] DWORD *output_minimum, + [out] DWORD *output_maximum); + + HRESULT GetStreamCount([out] DWORD *inputs, [out] DWORD *outputs); + + HRESULT GetStreamIDs([in] DWORD input_size, [out,size_is(input_size)] DWORD *inputs, + [in] DWORD output_size, [out,size_is(output_size)] DWORD *outputs); + + HRESULT GetInputStreamInfo([in] DWORD id, [out] MFT_INPUT_STREAM_INFO *info); + + HRESULT GetOutputStreamInfo([in] DWORD id, [out] MFT_OUTPUT_STREAM_INFO *info); + + HRESULT GetAttributes([out] IMFAttributes **attributes); + + HRESULT GetInputStreamAttributes([in] DWORD id, [out] IMFAttributes **attributes); + + HRESULT GetOutputStreamAttributes([in] DWORD id, [out] IMFAttributes **attributes); + + HRESULT DeleteInputStream([in] DWORD id); + + HRESULT AddInputStreams([in] DWORD streams, [in] DWORD *ids); + + HRESULT GetInputAvailableType([in] DWORD id, [in] DWORD index, [out] IMFMediaType **type); + + HRESULT GetOutputAvailableType([in] DWORD id, [in] DWORD index, [out] IMFMediaType **type); + + HRESULT SetInputType(DWORD id, [in] IMFMediaType *type, [in] DWORD flags); + + HRESULT SetOutputType(DWORD id, [in] IMFMediaType *type, [in] DWORD flags); + + HRESULT GetInputCurrentType([in] DWORD id, [out] IMFMediaType **type); + + HRESULT GetOutputCurrentType([in] DWORD id, [out] IMFMediaType **type); + + HRESULT GetInputStatus([in] DWORD id, [out] DWORD *flags); + + HRESULT GetOutputStatus([out] DWORD *flags); + + HRESULT SetOutputBounds([in] LONGLONG lower, [in] LONGLONG upper); + + HRESULT ProcessEvent([in] DWORD id, [in] IMFMediaEvent *event); + + HRESULT ProcessMessage([in] MFT_MESSAGE_TYPE message, [in] ULONG_PTR param); + + [local] HRESULT ProcessInput([in] DWORD id, [in] IMFSample *sample, [in] DWORD flags); + + [local] HRESULT ProcessOutput([in] DWORD flags, [in] DWORD count, [in,out,size_is(count)] MFT_OUTPUT_DATA_BUFFER *samples, + [out] DWORD *status); +}; diff --git a/sdk/include/psdk/nserror.h b/sdk/include/psdk/nserror.h new file mode 100644 index 00000000000..00f267d5135 --- /dev/null +++ b/sdk/include/psdk/nserror.h @@ -0,0 +1,1266 @@ +/* + * Copyright (C) 2017 Austin English + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _NSERROR_H +#define _NSERROR_H + +/* Facility codes */ +#define FACILITY_NS_WIN32 0x7 +#define FACILITY_NS 0xD + +/* Severity codes */ +#define STATUS_SEVERITY_WARNING 0x2 +#define STATUS_SEVERITY_SUCCESS 0x0 +#define STATUS_SEVERITY_INFORMATIONAL 0x1 +#define STATUS_SEVERITY_ERROR 0x3 + +/* Success events */ +#define NS_S_CALLPENDING _HRESULT_TYPEDEF_(0x000d0000) +#define NS_S_CALLABORTED _HRESULT_TYPEDEF_(0x000d0001) +#define NS_S_STREAM_TRUNCATED _HRESULT_TYPEDEF_(0x000d0002) + +/* Warning events */ +#define NS_W_SERVER_BANDWIDTH_LIMIT _HRESULT_TYPEDEF_(0x800d0003) +#define NS_W_FILE_BANDWIDTH_LIMIT _HRESULT_TYPEDEF_(0x800d0004) + +/* Error events */ +#define NS_E_NOCONNECTION _HRESULT_TYPEDEF_(0xc00d0005) +#define NS_E_CANNOTCONNECT _HRESULT_TYPEDEF_(0xc00d0006) +#define NS_E_CANNOTDESTROYTITLE _HRESULT_TYPEDEF_(0xc00d0007) +#define NS_E_CANNOTRENAMETITLE _HRESULT_TYPEDEF_(0xc00d0008) +#define NS_E_CANNOTOFFLINEDISK _HRESULT_TYPEDEF_(0xc00d0009) +#define NS_E_CANNOTONLINEDISK _HRESULT_TYPEDEF_(0xc00d000a) +#define NS_E_NOREGISTEREDWALKER _HRESULT_TYPEDEF_(0xc00d000b) +#define NS_E_NOFUNNEL _HRESULT_TYPEDEF_(0xc00d000c) +#define NS_E_NO_LOCALPLAY _HRESULT_TYPEDEF_(0xc00d000d) +#define NS_E_NETWORK_BUSY _HRESULT_TYPEDEF_(0xc00d000e) +#define NS_E_TOO_MANY_SESS _HRESULT_TYPEDEF_(0xc00d000f) +#define NS_E_ALREADY_CONNECTED _HRESULT_TYPEDEF_(0xc00d0010) +#define NS_E_INVALID_INDEX _HRESULT_TYPEDEF_(0xc00d0011) +#define NS_E_PROTOCOL_MISMATCH _HRESULT_TYPEDEF_(0xc00d0012) +#define NS_E_TIMEOUT _HRESULT_TYPEDEF_(0xc00d0013) +#define NS_E_NET_WRITE _HRESULT_TYPEDEF_(0xc00d0014) +#define NS_E_NET_READ _HRESULT_TYPEDEF_(0xc00d0015) +#define NS_E_DISK_WRITE _HRESULT_TYPEDEF_(0xc00d0016) +#define NS_E_DISK_READ _HRESULT_TYPEDEF_(0xc00d0017) +#define NS_E_FILE_WRITE _HRESULT_TYPEDEF_(0xc00d0018) +#define NS_E_FILE_READ _HRESULT_TYPEDEF_(0xc00d0019) +#define NS_E_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d001a) +#define NS_E_FILE_EXISTS _HRESULT_TYPEDEF_(0xc00d001b) +#define NS_E_INVALID_NAME _HRESULT_TYPEDEF_(0xc00d001c) +#define NS_E_FILE_OPEN_FAILED _HRESULT_TYPEDEF_(0xc00d001d) +#define NS_E_FILE_ALLOCATION_FAILED _HRESULT_TYPEDEF_(0xc00d001e) +#define NS_E_FILE_INIT_FAILED _HRESULT_TYPEDEF_(0xc00d001f) +#define NS_E_FILE_PLAY_FAILED _HRESULT_TYPEDEF_(0xc00d0020) +#define NS_E_SET_DISK_UID_FAILED _HRESULT_TYPEDEF_(0xc00d0021) +#define NS_E_INDUCED _HRESULT_TYPEDEF_(0xc00d0022) +#define NS_E_CCLINK_DOWN _HRESULT_TYPEDEF_(0xc00d0023) +#define NS_E_INTERNAL _HRESULT_TYPEDEF_(0xc00d0024) +#define NS_E_BUSY _HRESULT_TYPEDEF_(0xc00d0025) +#define NS_E_UNRECOGNIZED_STREAM_TYPE _HRESULT_TYPEDEF_(0xc00d0026) +#define NS_E_NETWORK_SERVICE_FAILURE _HRESULT_TYPEDEF_(0xc00d0027) +#define NS_E_NETWORK_RESOURCE_FAILURE _HRESULT_TYPEDEF_(0xc00d0028) +#define NS_E_CONNECTION_FAILURE _HRESULT_TYPEDEF_(0xc00d0029) +#define NS_E_SHUTDOWN _HRESULT_TYPEDEF_(0xc00d002a) +#define NS_E_INVALID_REQUEST _HRESULT_TYPEDEF_(0xc00d002b) +#define NS_E_INSUFFICIENT_BANDWIDTH _HRESULT_TYPEDEF_(0xc00d002c) +#define NS_E_NOT_REBUILDING _HRESULT_TYPEDEF_(0xc00d002d) +#define NS_E_LATE_OPERATION _HRESULT_TYPEDEF_(0xc00d002e) +#define NS_E_INVALID_DATA _HRESULT_TYPEDEF_(0xc00d002f) +#define NS_E_FILE_BANDWIDTH_LIMIT _HRESULT_TYPEDEF_(0xc00d0030) +#define NS_E_OPEN_FILE_LIMIT _HRESULT_TYPEDEF_(0xc00d0031) +#define NS_E_BAD_CONTROL_DATA _HRESULT_TYPEDEF_(0xc00d0032) +#define NS_E_NO_STREAM _HRESULT_TYPEDEF_(0xc00d0033) +#define NS_E_STREAM_END _HRESULT_TYPEDEF_(0xc00d0034) +#define NS_E_SERVER_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d0035) +#define NS_E_DUPLICATE_NAME _HRESULT_TYPEDEF_(0xc00d0036) +#define NS_E_DUPLICATE_ADDRESS _HRESULT_TYPEDEF_(0xc00d0037) +#define NS_E_BAD_MULTICAST_ADDRESS _HRESULT_TYPEDEF_(0xc00d0038) +#define NS_E_BAD_ADAPTER_ADDRESS _HRESULT_TYPEDEF_(0xc00d0039) +#define NS_E_BAD_DELIVERY_MODE _HRESULT_TYPEDEF_(0xc00d003a) +#define NS_E_INVALID_CHANNEL _HRESULT_TYPEDEF_(0xc00d003b) +#define NS_E_INVALID_STREAM _HRESULT_TYPEDEF_(0xc00d003c) +#define NS_E_INVALID_ARCHIVE _HRESULT_TYPEDEF_(0xc00d003d) +#define NS_E_NOTITLES _HRESULT_TYPEDEF_(0xc00d003e) +#define NS_E_INVALID_CLIENT _HRESULT_TYPEDEF_(0xc00d003f) +#define NS_E_INVALID_BLACKHOLE_ADDRESS _HRESULT_TYPEDEF_(0xc00d0040) +#define NS_E_INCOMPATIBLE_FORMAT _HRESULT_TYPEDEF_(0xc00d0041) +#define NS_E_INVALID_KEY _HRESULT_TYPEDEF_(0xc00d0042) +#define NS_E_INVALID_PORT _HRESULT_TYPEDEF_(0xc00d0043) +#define NS_E_INVALID_TTL _HRESULT_TYPEDEF_(0xc00d0044) +#define NS_E_STRIDE_REFUSED _HRESULT_TYPEDEF_(0xc00d0045) +#define NS_E_MMSAUTOSERVER_CANTFINDWALKER _HRESULT_TYPEDEF_(0xc00d0046) +#define NS_E_MAX_BITRATE _HRESULT_TYPEDEF_(0xc00d0047) +#define NS_E_LOGFILEPERIOD _HRESULT_TYPEDEF_(0xc00d0048) +#define NS_E_MAX_CLIENTS _HRESULT_TYPEDEF_(0xc00d0049) +#define NS_E_LOG_FILE_SIZE _HRESULT_TYPEDEF_(0xc00d004a) +#define NS_E_MAX_FILERATE _HRESULT_TYPEDEF_(0xc00d004b) +#define NS_E_WALKER_UNKNOWN _HRESULT_TYPEDEF_(0xc00d004c) +#define NS_E_WALKER_SERVER _HRESULT_TYPEDEF_(0xc00d004d) +#define NS_E_WALKER_USAGE _HRESULT_TYPEDEF_(0xc00d004e) + +/* Monitor events */ +#define NS_I_TIGER_START _HRESULT_TYPEDEF_(0x400d004f) +#define NS_E_TIGER_FAIL _HRESULT_TYPEDEF_(0xc00d0050) +#define NS_I_CUB_START _HRESULT_TYPEDEF_(0x400d0051) +#define NS_I_CUB_RUNNING _HRESULT_TYPEDEF_(0x400d0052) +#define NS_E_CUB_FAIL _HRESULT_TYPEDEF_(0xc00d0053) +#define NS_I_DISK_START _HRESULT_TYPEDEF_(0x400d0054) +#define NS_E_DISK_FAIL _HRESULT_TYPEDEF_(0xc00d0055) +#define NS_I_DISK_REBUILD_STARTED _HRESULT_TYPEDEF_(0x400d0056) +#define NS_I_DISK_REBUILD_FINISHED _HRESULT_TYPEDEF_(0x400d0057) +#define NS_I_DISK_REBUILD_ABORTED _HRESULT_TYPEDEF_(0x400d0058) +#define NS_I_LIMIT_FUNNELS _HRESULT_TYPEDEF_(0x400d0059) +#define NS_I_START_DISK _HRESULT_TYPEDEF_(0x400d005a) +#define NS_I_STOP_DISK _HRESULT_TYPEDEF_(0x400d005b) +#define NS_I_STOP_CUB _HRESULT_TYPEDEF_(0x400d005c) +#define NS_I_KILL_USERSESSION _HRESULT_TYPEDEF_(0x400d005d) +#define NS_I_KILL_CONNECTION _HRESULT_TYPEDEF_(0x400d005e) +#define NS_I_REBUILD_DISK _HRESULT_TYPEDEF_(0x400d005f) +#define NS_W_UNKNOWN_EVENT _HRESULT_TYPEDEF_(0x800d0060) +#define NS_E_MAX_FUNNELS_ALERT _HRESULT_TYPEDEF_(0xc00d0060) +#define NS_E_ALLOCATE_FILE_FAIL _HRESULT_TYPEDEF_(0xc00d0061) +#define NS_E_PAGING_ERROR _HRESULT_TYPEDEF_(0xc00d0062) +#define NS_E_BAD_BLOCK0_VERSION _HRESULT_TYPEDEF_(0xc00d0063) +#define NS_E_BAD_DISK_UID _HRESULT_TYPEDEF_(0xc00d0064) +#define NS_E_BAD_FSMAJOR_VERSION _HRESULT_TYPEDEF_(0xc00d0065) +#define NS_E_BAD_STAMPNUMBER _HRESULT_TYPEDEF_(0xc00d0066) +#define NS_E_PARTIALLY_REBUILT_DISK _HRESULT_TYPEDEF_(0xc00d0067) +#define NS_E_ENACTPLAN_GIVEUP _HRESULT_TYPEDEF_(0xc00d0068) +#define MCMADM_I_NO_EVENTS _HRESULT_TYPEDEF_(0x400d0069) +#define MCMADM_E_REGKEY_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d006a) +#define NS_E_NO_FORMATS _HRESULT_TYPEDEF_(0xc00d006b) +#define NS_E_NO_REFERENCES _HRESULT_TYPEDEF_(0xc00d006c) +#define NS_E_WAVE_OPEN _HRESULT_TYPEDEF_(0xc00d006d) +#define NS_I_LOGGING_FAILED _HRESULT_TYPEDEF_(0x400d006e) +#define NS_E_CANNOTCONNECTEVENTS _HRESULT_TYPEDEF_(0xc00d006f) +#define NS_I_LIMIT_BANDWIDTH _HRESULT_TYPEDEF_(0x400d0070) +#define NS_E_NO_DEVICE _HRESULT_TYPEDEF_(0xc00d0071) +#define NS_E_NO_SPECIFIED_DEVICE _HRESULT_TYPEDEF_(0xc00d0072) +#define NS_E_NOTHING_TO_DO _HRESULT_TYPEDEF_(0xc00d07f1) +#define NS_E_NO_MULTICAST _HRESULT_TYPEDEF_(0xc00d07f2) + +/* Error events */ +#define NS_E_MONITOR_GIVEUP _HRESULT_TYPEDEF_(0xc00d00c8) +#define NS_E_REMIRRORED_DISK _HRESULT_TYPEDEF_(0xc00d00c9) +#define NS_E_INSUFFICIENT_DATA _HRESULT_TYPEDEF_(0xc00d00ca) +#define NS_E_ASSERT _HRESULT_TYPEDEF_(0xc00d00cb) +#define NS_E_BAD_ADAPTER_NAME _HRESULT_TYPEDEF_(0xc00d00cc) +#define NS_E_NOT_LICENSED _HRESULT_TYPEDEF_(0xc00d00cd) +#define NS_E_NO_SERVER_CONTACT _HRESULT_TYPEDEF_(0xc00d00ce) +#define NS_E_TOO_MANY_TITLES _HRESULT_TYPEDEF_(0xc00d00cf) +#define NS_E_TITLE_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0xc00d00d0) +#define NS_E_UDP_DISABLED _HRESULT_TYPEDEF_(0xc00d00d1) +#define NS_E_TCP_DISABLED _HRESULT_TYPEDEF_(0xc00d00d2) +#define NS_E_HTTP_DISABLED _HRESULT_TYPEDEF_(0xc00d00d3) +#define NS_E_LICENSE_EXPIRED _HRESULT_TYPEDEF_(0xc00d00d4) +#define NS_E_TITLE_BITRATE _HRESULT_TYPEDEF_(0xc00d00d5) +#define NS_E_EMPTY_PROGRAM_NAME _HRESULT_TYPEDEF_(0xc00d00d6) +#define NS_E_MISSING_CHANNEL _HRESULT_TYPEDEF_(0xc00d00d7) +#define NS_E_NO_CHANNELS _HRESULT_TYPEDEF_(0xc00d00d8) +#define NS_E_INVALID_INDEX2 _HRESULT_TYPEDEF_(0xc00d00d9) + +/* (More) error events */ +#define NS_E_CUB_FAIL_LINK _HRESULT_TYPEDEF_(0xc00d0190) +#define NS_I_CUB_UNFAIL_LINK _HRESULT_TYPEDEF_(0x400d0191) +#define NS_E_BAD_CUB_UID _HRESULT_TYPEDEF_(0xc00d0192) +#define NS_I_RESTRIPE_START _HRESULT_TYPEDEF_(0x400d0193) +#define NS_I_RESTRIPE_DONE _HRESULT_TYPEDEF_(0x400d0194) +#define NS_E_GLITCH_MODE _HRESULT_TYPEDEF_(0xc00d0195) +#define NS_I_RESTRIPE_DISK_OUT _HRESULT_TYPEDEF_(0x400d0196) +#define NS_I_RESTRIPE_CUB_OUT _HRESULT_TYPEDEF_(0x400d0197) +#define NS_I_DISK_STOP _HRESULT_TYPEDEF_(0x400d0198) +#define NS_I_CATATONIC_FAILURE _HRESULT_TYPEDEF_(0x800d0199) +#define NS_I_CATATONIC_AUTO_UNFAIL _HRESULT_TYPEDEF_(0x800d019a) +#define NS_E_NO_MEDIA_PROTOCOL _HRESULT_TYPEDEF_(0xc00d019b) + +/* WMSDK errors */ +#define NS_E_INVALID_INPUT_FORMAT _HRESULT_TYPEDEF_(0xc00d0bb8) +#define NS_E_MSAUDIO_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d0bb9) +#define NS_E_UNEXPECTED_MSAUDIO_ERROR _HRESULT_TYPEDEF_(0xc00d0bba) +#define NS_E_INVALID_OUTPUT_FORMAT _HRESULT_TYPEDEF_(0xc00d0bbb) +#define NS_E_NOT_CONFIGURED _HRESULT_TYPEDEF_(0xc00d0bbc) +#define NS_E_PROTECTED_CONTENT _HRESULT_TYPEDEF_(0xc00d0bbd) +#define NS_E_LICENSE_REQUIRED _HRESULT_TYPEDEF_(0xc00d0bbe) +#define NS_E_TAMPERED_CONTENT _HRESULT_TYPEDEF_(0xc00d0bbf) +#define NS_E_LICENSE_OUTOFDATE _HRESULT_TYPEDEF_(0xc00d0bc0) +#define NS_E_LICENSE_INCORRECT_RIGHTS _HRESULT_TYPEDEF_(0xc00d0bc1) +#define NS_E_AUDIO_CODEC_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d0bc2) +#define NS_E_AUDIO_CODEC_ERROR _HRESULT_TYPEDEF_(0xc00d0bc3) +#define NS_E_VIDEO_CODEC_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d0bc4) +#define NS_E_VIDEO_CODEC_ERROR _HRESULT_TYPEDEF_(0xc00d0bc5) +#define NS_E_INVALIDPROFILE _HRESULT_TYPEDEF_(0xc00d0bc6) +#define NS_E_INCOMPATIBLE_VERSION _HRESULT_TYPEDEF_(0xc00d0bc7) +#define NS_S_REBUFFERING _HRESULT_TYPEDEF_(0x000d0bc8) +#define NS_S_DEGRADING_QUALITY _HRESULT_TYPEDEF_(0x000d0bc9) +#define NS_E_OFFLINE_MODE _HRESULT_TYPEDEF_(0xc00d0bca) +#define NS_E_NOT_CONNECTED _HRESULT_TYPEDEF_(0xc00d0bcb) +#define NS_E_TOO_MUCH_DATA _HRESULT_TYPEDEF_(0xc00d0bcc) +#define NS_E_UNSUPPORTED_PROPERTY _HRESULT_TYPEDEF_(0xc00d0bcd) +#define NS_E_8BIT_WAVE_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d0bce) +#define NS_E_NO_MORE_SAMPLES _HRESULT_TYPEDEF_(0xc00d0bcf) +#define NS_E_INVALID_SAMPLING_RATE _HRESULT_TYPEDEF_(0xc00d0bd0) +#define NS_E_MAX_PACKET_SIZE_TOO_SMALL _HRESULT_TYPEDEF_(0xc00d0bd1) +#define NS_E_LATE_PACKET _HRESULT_TYPEDEF_(0xc00d0bd2) +#define NS_E_DUPLICATE_PACKET _HRESULT_TYPEDEF_(0xc00d0bd3) +#define NS_E_SDK_BUFFERTOOSMALL _HRESULT_TYPEDEF_(0xc00d0bd4) +#define NS_E_INVALID_NUM_PASSES _HRESULT_TYPEDEF_(0xc00d0bd5) +#define NS_E_ATTRIBUTE_READ_ONLY _HRESULT_TYPEDEF_(0xc00d0bd6) +#define NS_E_ATTRIBUTE_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d0bd7) +#define NS_E_INVALID_EDL _HRESULT_TYPEDEF_(0xc00d0bd8) +#define NS_E_DATA_UNIT_EXTENSION_TOO_LARGE _HRESULT_TYPEDEF_(0xc00d0bd9) +#define NS_E_CODEC_DMO_ERROR _HRESULT_TYPEDEF_(0xc00d0bda) +#define NS_S_TRANSCRYPTOR_EOF _HRESULT_TYPEDEF_(0x000d0bdb) +#define NS_E_FEATURE_DISABLED_BY_GROUP_POLICY _HRESULT_TYPEDEF_(0xc00d0bdc) +#define NS_E_FEATURE_DISABLED_IN_SKU _HRESULT_TYPEDEF_(0xc00d0bdd) + +/* WMP errors */ +#define NS_E_NO_CD _HRESULT_TYPEDEF_(0xc00d0fa0) +#define NS_E_CANT_READ_DIGITAL _HRESULT_TYPEDEF_(0xc00d0fa1) +#define NS_E_DEVICE_DISCONNECTED _HRESULT_TYPEDEF_(0xc00d0fa2) +#define NS_E_DEVICE_NOT_SUPPORT_FORMAT _HRESULT_TYPEDEF_(0xc00d0fa3) +#define NS_E_SLOW_READ_DIGITAL _HRESULT_TYPEDEF_(0xc00d0fa4) +#define NS_E_MIXER_INVALID_LINE _HRESULT_TYPEDEF_(0xc00d0fa5) +#define NS_E_MIXER_INVALID_CONTROL _HRESULT_TYPEDEF_(0xc00d0fa6) +#define NS_E_MIXER_INVALID_VALUE _HRESULT_TYPEDEF_(0xc00d0fa7) +#define NS_E_MIXER_UNKNOWN_MMRESULT _HRESULT_TYPEDEF_(0xc00d0fa8) +#define NS_E_USER_STOP _HRESULT_TYPEDEF_(0xc00d0fa9) +#define NS_E_MP3_FORMAT_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d0faa) +#define NS_E_CD_READ_ERROR_NO_CORRECTION _HRESULT_TYPEDEF_(0xc00d0fab) +#define NS_E_CD_READ_ERROR _HRESULT_TYPEDEF_(0xc00d0fac) +#define NS_E_CD_SLOW_COPY _HRESULT_TYPEDEF_(0xc00d0fad) +#define NS_E_CD_COPYTO_CD _HRESULT_TYPEDEF_(0xc00d0fae) +#define NS_E_MIXER_NODRIVER _HRESULT_TYPEDEF_(0xc00d0faf) +#define NS_E_REDBOOK_ENABLED_WHILE_COPYING _HRESULT_TYPEDEF_(0xc00d0fb0) +#define NS_E_CD_REFRESH _HRESULT_TYPEDEF_(0xc00d0fb1) +#define NS_E_CD_DRIVER_PROBLEM _HRESULT_TYPEDEF_(0xc00d0fb2) +#define NS_E_WONT_DO_DIGITAL _HRESULT_TYPEDEF_(0xc00d0fb3) +#define NS_E_WMPXML_NOERROR _HRESULT_TYPEDEF_(0xc00d0fb4) +#define NS_E_WMPXML_ENDOFDATA _HRESULT_TYPEDEF_(0xc00d0fb5) +#define NS_E_WMPXML_PARSEERROR _HRESULT_TYPEDEF_(0xc00d0fb6) +#define NS_E_WMPXML_ATTRIBUTENOTFOUND _HRESULT_TYPEDEF_(0xc00d0fb7) +#define NS_E_WMPXML_PINOTFOUND _HRESULT_TYPEDEF_(0xc00d0fb8) +#define NS_E_WMPXML_EMPTYDOC _HRESULT_TYPEDEF_(0xc00d0fb9) +#define NS_E_WMP_PATH_ALREADY_IN_LIBRARY _HRESULT_TYPEDEF_(0xc00d0fba) +#define NS_E_WMP_FILESCANALREADYSTARTED _HRESULT_TYPEDEF_(0xc00d0fbe) +#define NS_E_WMP_HME_INVALIDOBJECTID _HRESULT_TYPEDEF_(0xc00d0fbf) +#define NS_E_WMP_MF_CODE_EXPIRED _HRESULT_TYPEDEF_(0xc00d0fc0) +#define NS_E_WMP_HME_NOTSEARCHABLEFORITEMS _HRESULT_TYPEDEF_(0xc00d0fc1) +#define NS_E_WMP_HME_STALEREQUEST _HRESULT_TYPEDEF_(0xc00d0fc2) +#define NS_E_WMP_ADDTOLIBRARY_FAILED _HRESULT_TYPEDEF_(0xc00d0fc7) +#define NS_E_WMP_WINDOWSAPIFAILURE _HRESULT_TYPEDEF_(0xc00d0fc8) +#define NS_E_WMP_RECORDING_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d0fc9) +#define NS_E_DEVICE_NOT_READY _HRESULT_TYPEDEF_(0xc00d0fca) +#define NS_E_DAMAGED_FILE _HRESULT_TYPEDEF_(0xc00d0fcb) +#define NS_E_MPDB_GENERIC _HRESULT_TYPEDEF_(0xc00d0fcc) +#define NS_E_FILE_FAILED_CHECKS _HRESULT_TYPEDEF_(0xc00d0fcd) +#define NS_E_MEDIA_LIBRARY_FAILED _HRESULT_TYPEDEF_(0xc00d0fce) +#define NS_E_SHARING_VIOLATION _HRESULT_TYPEDEF_(0xc00d0fcf) +#define NS_E_NO_ERROR_STRING_FOUND _HRESULT_TYPEDEF_(0xc00d0fd0) +#define NS_E_WMPOCX_NO_REMOTE_CORE _HRESULT_TYPEDEF_(0xc00d0fd1) +#define NS_E_WMPOCX_NO_ACTIVE_CORE _HRESULT_TYPEDEF_(0xc00d0fd2) +#define NS_E_WMPOCX_NOT_RUNNING_REMOTELY _HRESULT_TYPEDEF_(0xc00d0fd3) +#define NS_E_WMPOCX_NO_REMOTE_WINDOW _HRESULT_TYPEDEF_(0xc00d0fd4) +#define NS_E_WMPOCX_ERRORMANAGERNOTAVAILABLE _HRESULT_TYPEDEF_(0xc00d0fd5) +#define NS_E_PLUGIN_NOTSHUTDOWN _HRESULT_TYPEDEF_(0xc00d0fd6) +#define NS_E_WMP_CANNOT_FIND_FOLDER _HRESULT_TYPEDEF_(0xc00d0fd7) +#define NS_E_WMP_STREAMING_RECORDING_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d0fd8) +#define NS_E_WMP_PLUGINDLL_NOTFOUND _HRESULT_TYPEDEF_(0xc00d0fd9) +#define NS_E_NEED_TO_ASK_USER _HRESULT_TYPEDEF_(0xc00d0fda) +#define NS_E_WMPOCX_PLAYER_NOT_DOCKED _HRESULT_TYPEDEF_(0xc00d0fdb) +#define NS_E_WMP_EXTERNAL_NOTREADY _HRESULT_TYPEDEF_(0xc00d0fdc) +#define NS_E_WMP_MLS_STALE_DATA _HRESULT_TYPEDEF_(0xc00d0fdd) +#define NS_E_WMP_UI_SUBCONTROLSNOTSUPPORTED _HRESULT_TYPEDEF_(0xc00d0fde) +#define NS_E_WMP_UI_VERSIONMISMATCH _HRESULT_TYPEDEF_(0xc00d0fdf) +#define NS_E_WMP_UI_NOTATHEMEFILE _HRESULT_TYPEDEF_(0xc00d0fe0) +#define NS_E_WMP_UI_SUBELEMENTNOTFOUND _HRESULT_TYPEDEF_(0xc00d0fe1) +#define NS_E_WMP_UI_VERSIONPARSE _HRESULT_TYPEDEF_(0xc00d0fe2) +#define NS_E_WMP_UI_VIEWIDNOTFOUND _HRESULT_TYPEDEF_(0xc00d0fe3) +#define NS_E_WMP_UI_PASSTHROUGH _HRESULT_TYPEDEF_(0xc00d0fe4) +#define NS_E_WMP_UI_OBJECTNOTFOUND _HRESULT_TYPEDEF_(0xc00d0fe5) +#define NS_E_WMP_UI_SECONDHANDLER _HRESULT_TYPEDEF_(0xc00d0fe6) +#define NS_E_WMP_UI_NOSKININZIP _HRESULT_TYPEDEF_(0xc00d0fe7) +#define NS_S_WMP_UI_VERSIONMISMATCH _HRESULT_TYPEDEF_(0x000d0fe8) +#define NS_S_WMP_EXCEPTION _HRESULT_TYPEDEF_(0x000d0fe9) +#define NS_E_WMP_URLDOWNLOADFAILED _HRESULT_TYPEDEF_(0xc00d0fea) +#define NS_E_WMPOCX_UNABLE_TO_LOAD_SKIN _HRESULT_TYPEDEF_(0xc00d0feb) +#define NS_E_WMP_INVALID_SKIN _HRESULT_TYPEDEF_(0xc00d0fec) +#define NS_E_WMP_SENDMAILFAILED _HRESULT_TYPEDEF_(0xc00d0fed) +#define NS_E_WMP_LOCKEDINSKINMODE _HRESULT_TYPEDEF_(0xc00d0fee) +#define NS_E_WMP_FAILED_TO_SAVE_FILE _HRESULT_TYPEDEF_(0xc00d0fef) +#define NS_E_WMP_SAVEAS_READONLY _HRESULT_TYPEDEF_(0xc00d0ff0) +#define NS_E_WMP_FAILED_TO_SAVE_PLAYLIST _HRESULT_TYPEDEF_(0xc00d0ff1) +#define NS_E_WMP_FAILED_TO_OPEN_WMD _HRESULT_TYPEDEF_(0xc00d0ff2) +#define NS_E_WMP_CANT_PLAY_PROTECTED _HRESULT_TYPEDEF_(0xc00d0ff3) +#define NS_E_SHARING_STATE_OUT_OF_SYNC _HRESULT_TYPEDEF_(0xc00d0ff4) +#define NS_E_WMPOCX_REMOTE_PLAYER_ALREADY_RUNNING _HRESULT_TYPEDEF_(0xc00d0ffa) +#define NS_E_WMP_RBC_JPGMAPPINGIMAGE _HRESULT_TYPEDEF_(0xc00d1004) +#define NS_E_WMP_JPGTRANSPARENCY _HRESULT_TYPEDEF_(0xc00d1005) +#define NS_E_WMP_INVALID_MAX_VAL _HRESULT_TYPEDEF_(0xc00d1009) +#define NS_E_WMP_INVALID_MIN_VAL _HRESULT_TYPEDEF_(0xc00d100a) +#define NS_E_WMP_CS_JPGPOSITIONIMAGE _HRESULT_TYPEDEF_(0xc00d100e) +#define NS_E_WMP_CS_NOTEVENLYDIVISIBLE _HRESULT_TYPEDEF_(0xc00d100f) +#define NS_E_WMPZIP_NOTAZIPFILE _HRESULT_TYPEDEF_(0xc00d1018) +#define NS_E_WMPZIP_CORRUPT _HRESULT_TYPEDEF_(0xc00d1019) +#define NS_E_WMPZIP_FILENOTFOUND _HRESULT_TYPEDEF_(0xc00d101a) +#define NS_E_WMP_IMAGE_FILETYPE_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d1022) +#define NS_E_WMP_IMAGE_INVALID_FORMAT _HRESULT_TYPEDEF_(0xc00d1023) +#define NS_E_WMP_GIF_UNEXPECTED_ENDOFFILE _HRESULT_TYPEDEF_(0xc00d1024) +#define NS_E_WMP_GIF_INVALID_FORMAT _HRESULT_TYPEDEF_(0xc00d1025) +#define NS_E_WMP_GIF_BAD_VERSION_NUMBER _HRESULT_TYPEDEF_(0xc00d1026) +#define NS_E_WMP_GIF_NO_IMAGE_IN_FILE _HRESULT_TYPEDEF_(0xc00d1027) +#define NS_E_WMP_PNG_INVALIDFORMAT _HRESULT_TYPEDEF_(0xc00d1028) +#define NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH _HRESULT_TYPEDEF_(0xc00d1029) +#define NS_E_WMP_PNG_UNSUPPORTED_COMPRESSION _HRESULT_TYPEDEF_(0xc00d102a) +#define NS_E_WMP_PNG_UNSUPPORTED_FILTER _HRESULT_TYPEDEF_(0xc00d102b) +#define NS_E_WMP_PNG_UNSUPPORTED_INTERLACE _HRESULT_TYPEDEF_(0xc00d102c) +#define NS_E_WMP_PNG_UNSUPPORTED_BAD_CRC _HRESULT_TYPEDEF_(0xc00d102d) +#define NS_E_WMP_BMP_INVALID_BITMASK _HRESULT_TYPEDEF_(0xc00d102e) +#define NS_E_WMP_BMP_TOPDOWN_DIB_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d102f) +#define NS_E_WMP_BMP_BITMAP_NOT_CREATED _HRESULT_TYPEDEF_(0xc00d1030) +#define NS_E_WMP_BMP_COMPRESSION_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d1031) +#define NS_E_WMP_BMP_INVALID_FORMAT _HRESULT_TYPEDEF_(0xc00d1032) +#define NS_E_WMP_JPG_JERR_ARITHCODING_NOTIMPL _HRESULT_TYPEDEF_(0xc00d1033) +#define NS_E_WMP_JPG_INVALID_FORMAT _HRESULT_TYPEDEF_(0xc00d1034) +#define NS_E_WMP_JPG_BAD_DCTSIZE _HRESULT_TYPEDEF_(0xc00d1035) +#define NS_E_WMP_JPG_BAD_VERSION_NUMBER _HRESULT_TYPEDEF_(0xc00d1036) +#define NS_E_WMP_JPG_BAD_PRECISION _HRESULT_TYPEDEF_(0xc00d1037) +#define NS_E_WMP_JPG_CCIR601_NOTIMPL _HRESULT_TYPEDEF_(0xc00d1038) +#define NS_E_WMP_JPG_NO_IMAGE_IN_FILE _HRESULT_TYPEDEF_(0xc00d1039) +#define NS_E_WMP_JPG_READ_ERROR _HRESULT_TYPEDEF_(0xc00d103a) +#define NS_E_WMP_JPG_FRACT_SAMPLE_NOTIMPL _HRESULT_TYPEDEF_(0xc00d103b) +#define NS_E_WMP_JPG_IMAGE_TOO_BIG _HRESULT_TYPEDEF_(0xc00d103c) +#define NS_E_WMP_JPG_UNEXPECTED_ENDOFFILE _HRESULT_TYPEDEF_(0xc00d103d) +#define NS_E_WMP_JPG_SOF_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d103e) +#define NS_E_WMP_JPG_UNKNOWN_MARKER _HRESULT_TYPEDEF_(0xc00d103f) +#define NS_S_WMP_LOADED_GIF_IMAGE _HRESULT_TYPEDEF_(0x000d1040) +#define NS_S_WMP_LOADED_PNG_IMAGE _HRESULT_TYPEDEF_(0x000d1041) +#define NS_S_WMP_LOADED_BMP_IMAGE _HRESULT_TYPEDEF_(0x000d1042) +#define NS_S_WMP_LOADED_JPG_IMAGE _HRESULT_TYPEDEF_(0x000d1043) +#define NS_E_WMP_FAILED_TO_OPEN_IMAGE _HRESULT_TYPEDEF_(0xc00d1044) +#define NS_E_WMP_DAI_SONGTOOSHORT _HRESULT_TYPEDEF_(0xc00d1049) +#define NS_E_WMG_RATEUNAVAILABLE _HRESULT_TYPEDEF_(0xc00d104a) +#define NS_E_WMG_PLUGINUNAVAILABLE _HRESULT_TYPEDEF_(0xc00d104b) +#define NS_E_WMG_CANNOTQUEUE _HRESULT_TYPEDEF_(0xc00d104c) +#define NS_E_WMG_PREROLLLICENSEACQUISITIONNOTALLOWED _HRESULT_TYPEDEF_(0xc00d104d) +#define NS_E_WMG_UNEXPECTEDPREROLLSTATUS _HRESULT_TYPEDEF_(0xc00d104e) +#define NS_S_WMG_FORCE_DROP_FRAME _HRESULT_TYPEDEF_(0x000d104f) +#define NS_E_WMG_INVALID_COPP_CERTIFICATE _HRESULT_TYPEDEF_(0xc00d1051) +#define NS_E_WMG_COPP_SECURITY_INVALID _HRESULT_TYPEDEF_(0xc00d1052) +#define NS_E_WMG_COPP_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d1053) +#define NS_E_WMG_INVALIDSTATE _HRESULT_TYPEDEF_(0xc00d1054) +#define NS_E_WMG_SINKALREADYEXISTS _HRESULT_TYPEDEF_(0xc00d1055) +#define NS_E_WMG_NOSDKINTERFACE _HRESULT_TYPEDEF_(0xc00d1056) +#define NS_E_WMG_NOTALLOUTPUTSRENDERED _HRESULT_TYPEDEF_(0xc00d1057) +#define NS_E_WMG_FILETRANSFERNOTALLOWED _HRESULT_TYPEDEF_(0xc00d1058) +#define NS_E_WMR_UNSUPPORTEDSTREAM _HRESULT_TYPEDEF_(0xc00d1059) +#define NS_E_WMR_PINNOTFOUND _HRESULT_TYPEDEF_(0xc00d105a) +#define NS_E_WMR_WAITINGONFORMATSWITCH _HRESULT_TYPEDEF_(0xc00d105b) +#define NS_E_WMR_NOSOURCEFILTER _HRESULT_TYPEDEF_(0xc00d105c) +#define NS_E_WMR_PINTYPENOMATCH _HRESULT_TYPEDEF_(0xc00d105d) +#define NS_E_WMR_NOCALLBACKAVAILABLE _HRESULT_TYPEDEF_(0xc00d105e) +#define NS_S_WMR_ALREADYRENDERED _HRESULT_TYPEDEF_(0x000d105f) +#define NS_S_WMR_PINTYPEPARTIALMATCH _HRESULT_TYPEDEF_(0x000d1060) +#define NS_S_WMR_PINTYPEFULLMATCH _HRESULT_TYPEDEF_(0x000d1061) +#define NS_E_WMR_SAMPLEPROPERTYNOTSET _HRESULT_TYPEDEF_(0xc00d1062) +#define NS_E_WMR_CANNOT_RENDER_BINARY_STREAM _HRESULT_TYPEDEF_(0xc00d1063) +#define NS_E_WMG_LICENSE_TAMPERED _HRESULT_TYPEDEF_(0xc00d1064) +#define NS_E_WMR_WILLNOT_RENDER_BINARY_STREAM _HRESULT_TYPEDEF_(0xc00d1065) +#define NS_S_WMG_ADVISE_DROP_FRAME _HRESULT_TYPEDEF_(0x000d1066) +#define NS_S_WMG_ADVISE_DROP_TO_KEYFRAME _HRESULT_TYPEDEF_(0x000d1067) +#define NS_E_WMX_UNRECOGNIZED_PLAYLIST_FORMAT _HRESULT_TYPEDEF_(0xc00d1068) +#define NS_E_ASX_INVALIDFORMAT _HRESULT_TYPEDEF_(0xc00d1069) +#define NS_E_ASX_INVALIDVERSION _HRESULT_TYPEDEF_(0xc00d106a) +#define NS_E_ASX_INVALID_REPEAT_BLOCK _HRESULT_TYPEDEF_(0xc00d106b) +#define NS_E_ASX_NOTHING_TO_WRITE _HRESULT_TYPEDEF_(0xc00d106c) +#define NS_E_URLLIST_INVALIDFORMAT _HRESULT_TYPEDEF_(0xc00d106d) +#define NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0xc00d106e) +#define NS_E_WMX_ATTRIBUTE_ALREADY_EXISTS _HRESULT_TYPEDEF_(0xc00d106f) +#define NS_E_WMX_ATTRIBUTE_UNRETRIEVABLE _HRESULT_TYPEDEF_(0xc00d1070) +#define NS_E_WMX_ITEM_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0xc00d1071) +#define NS_E_WMX_ITEM_TYPE_ILLEGAL _HRESULT_TYPEDEF_(0xc00d1072) +#define NS_E_WMX_ITEM_UNSETTABLE _HRESULT_TYPEDEF_(0xc00d1073) +#define NS_E_WMX_PLAYLIST_EMPTY _HRESULT_TYPEDEF_(0xc00d1074) +#define NS_E_MLS_SMARTPLAYLIST_FILTER_NOT_REGISTERED _HRESULT_TYPEDEF_(0xc00d1075) +#define NS_E_WMX_INVALID_FORMAT_OVER_NESTING _HRESULT_TYPEDEF_(0xc00d1076) +#define NS_E_WMPCORE_NOSOURCEURLSTRING _HRESULT_TYPEDEF_(0xc00d107c) +#define NS_E_WMPCORE_COCREATEFAILEDFORGITOBJECT _HRESULT_TYPEDEF_(0xc00d107d) +#define NS_E_WMPCORE_FAILEDTOGETMARSHALLEDEVENTHANDLERINTERFACE _HRESULT_TYPEDEF_(0xc00d107e) +#define NS_E_WMPCORE_BUFFERTOOSMALL _HRESULT_TYPEDEF_(0xc00d107f) +#define NS_E_WMPCORE_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d1080) +#define NS_E_WMPCORE_INVALIDPLAYLISTMODE _HRESULT_TYPEDEF_(0xc00d1081) +#define NS_E_WMPCORE_ITEMNOTINPLAYLIST _HRESULT_TYPEDEF_(0xc00d1086) +#define NS_E_WMPCORE_PLAYLISTEMPTY _HRESULT_TYPEDEF_(0xc00d1087) +#define NS_E_WMPCORE_NOBROWSER _HRESULT_TYPEDEF_(0xc00d1088) +#define NS_E_WMPCORE_UNRECOGNIZED_MEDIA_URL _HRESULT_TYPEDEF_(0xc00d1089) +#define NS_E_WMPCORE_GRAPH_NOT_IN_LIST _HRESULT_TYPEDEF_(0xc00d108a) +#define NS_E_WMPCORE_PLAYLIST_EMPTY_OR_SINGLE_MEDIA _HRESULT_TYPEDEF_(0xc00d108b) +#define NS_E_WMPCORE_ERRORSINKNOTREGISTERED _HRESULT_TYPEDEF_(0xc00d108c) +#define NS_E_WMPCORE_ERRORMANAGERNOTAVAILABLE _HRESULT_TYPEDEF_(0xc00d108d) +#define NS_E_WMPCORE_WEBHELPFAILED _HRESULT_TYPEDEF_(0xc00d108e) +#define NS_E_WMPCORE_MEDIA_ERROR_RESUME_FAILED _HRESULT_TYPEDEF_(0xc00d108f) +#define NS_E_WMPCORE_NO_REF_IN_ENTRY _HRESULT_TYPEDEF_(0xc00d1090) +#define NS_E_WMPCORE_WMX_LIST_ATTRIBUTE_NAME_EMPTY _HRESULT_TYPEDEF_(0xc00d1091) +#define NS_E_WMPCORE_WMX_LIST_ATTRIBUTE_NAME_ILLEGAL _HRESULT_TYPEDEF_(0xc00d1092) +#define NS_E_WMPCORE_WMX_LIST_ATTRIBUTE_VALUE_EMPTY _HRESULT_TYPEDEF_(0xc00d1093) +#define NS_E_WMPCORE_WMX_LIST_ATTRIBUTE_VALUE_ILLEGAL _HRESULT_TYPEDEF_(0xc00d1094) +#define NS_E_WMPCORE_WMX_LIST_ITEM_ATTRIBUTE_NAME_EMPTY _HRESULT_TYPEDEF_(0xc00d1095) +#define NS_E_WMPCORE_WMX_LIST_ITEM_ATTRIBUTE_NAME_ILLEGAL _HRESULT_TYPEDEF_(0xc00d1096) +#define NS_E_WMPCORE_WMX_LIST_ITEM_ATTRIBUTE_VALUE_EMPTY _HRESULT_TYPEDEF_(0xc00d1097) +#define NS_E_WMPCORE_LIST_ENTRY_NO_REF _HRESULT_TYPEDEF_(0xc00d1098) +#define NS_E_WMPCORE_MISNAMED_FILE _HRESULT_TYPEDEF_(0xc00d1099) +#define NS_E_WMPCORE_CODEC_NOT_TRUSTED _HRESULT_TYPEDEF_(0xc00d109a) +#define NS_E_WMPCORE_CODEC_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d109b) +#define NS_E_WMPCORE_CODEC_DOWNLOAD_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d109c) +#define NS_E_WMPCORE_ERROR_DOWNLOADING_PLAYLIST _HRESULT_TYPEDEF_(0xc00d109d) +#define NS_E_WMPCORE_FAILED_TO_BUILD_PLAYLIST _HRESULT_TYPEDEF_(0xc00d109e) +#define NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_NONE _HRESULT_TYPEDEF_(0xc00d109f) +#define NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_EXHAUSTED _HRESULT_TYPEDEF_(0xc00d10a0) +#define NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_NAME_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d10a1) +#define NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_MORPH_FAILED _HRESULT_TYPEDEF_(0xc00d10a2) +#define NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_INIT_FAILED _HRESULT_TYPEDEF_(0xc00d10a3) +#define NS_E_WMPCORE_MEDIA_ALTERNATE_REF_EMPTY _HRESULT_TYPEDEF_(0xc00d10a4) +#define NS_E_WMPCORE_PLAYLIST_NO_EVENT_NAME _HRESULT_TYPEDEF_(0xc00d10a5) +#define NS_E_WMPCORE_PLAYLIST_EVENT_ATTRIBUTE_ABSENT _HRESULT_TYPEDEF_(0xc00d10a6) +#define NS_E_WMPCORE_PLAYLIST_EVENT_EMPTY _HRESULT_TYPEDEF_(0xc00d10a7) +#define NS_E_WMPCORE_PLAYLIST_STACK_EMPTY _HRESULT_TYPEDEF_(0xc00d10a8) +#define NS_E_WMPCORE_CURRENT_MEDIA_NOT_ACTIVE _HRESULT_TYPEDEF_(0xc00d10a9) +#define NS_E_WMPCORE_USER_CANCEL _HRESULT_TYPEDEF_(0xc00d10ab) +#define NS_E_WMPCORE_PLAYLIST_REPEAT_EMPTY _HRESULT_TYPEDEF_(0xc00d10ac) +#define NS_E_WMPCORE_PLAYLIST_REPEAT_START_MEDIA_NONE _HRESULT_TYPEDEF_(0xc00d10ad) +#define NS_E_WMPCORE_PLAYLIST_REPEAT_END_MEDIA_NONE _HRESULT_TYPEDEF_(0xc00d10ae) +#define NS_E_WMPCORE_INVALID_PLAYLIST_URL _HRESULT_TYPEDEF_(0xc00d10af) +#define NS_E_WMPCORE_MISMATCHED_RUNTIME _HRESULT_TYPEDEF_(0xc00d10b0) +#define NS_E_WMPCORE_PLAYLIST_IMPORT_FAILED_NO_ITEMS _HRESULT_TYPEDEF_(0xc00d10b1) +#define NS_E_WMPCORE_VIDEO_TRANSFORM_FILTER_INSERTION _HRESULT_TYPEDEF_(0xc00d10b2) +#define NS_E_WMPCORE_MEDIA_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d10b3) +#define NS_E_WMPCORE_WMX_ENTRYREF_NO_REF _HRESULT_TYPEDEF_(0xc00d10b4) +#define NS_E_WMPCORE_NO_PLAYABLE_MEDIA_IN_PLAYLIST _HRESULT_TYPEDEF_(0xc00d10b5) +#define NS_E_WMPCORE_PLAYLIST_EMPTY_NESTED_PLAYLIST_SKIPPED_ITEMS _HRESULT_TYPEDEF_(0xc00d10b6) +#define NS_E_WMPCORE_BUSY _HRESULT_TYPEDEF_(0xc00d10b7) +#define NS_E_WMPCORE_MEDIA_CHILD_PLAYLIST_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d10b8) +#define NS_E_WMPCORE_MEDIA_NO_CHILD_PLAYLIST _HRESULT_TYPEDEF_(0xc00d10b9) +#define NS_E_WMPCORE_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d10ba) +#define NS_E_WMPCORE_TEMP_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d10bb) +#define NS_E_WMDM_REVOKED _HRESULT_TYPEDEF_(0xc00d10bc) +#define NS_E_DDRAW_GENERIC _HRESULT_TYPEDEF_(0xc00d10bd) +#define NS_E_DISPLAY_MODE_CHANGE_FAILED _HRESULT_TYPEDEF_(0xc00d10be) +#define NS_E_PLAYLIST_CONTAINS_ERRORS _HRESULT_TYPEDEF_(0xc00d10bf) +#define NS_E_CHANGING_PROXY_NAME _HRESULT_TYPEDEF_(0xc00d10c0) +#define NS_E_CHANGING_PROXY_PORT _HRESULT_TYPEDEF_(0xc00d10c1) +#define NS_E_CHANGING_PROXY_EXCEPTIONLIST _HRESULT_TYPEDEF_(0xc00d10c2) +#define NS_E_CHANGING_PROXYBYPASS _HRESULT_TYPEDEF_(0xc00d10c3) +#define NS_E_CHANGING_PROXY_PROTOCOL_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d10c4) +#define NS_E_GRAPH_NOAUDIOLANGUAGE _HRESULT_TYPEDEF_(0xc00d10c5) +#define NS_E_GRAPH_NOAUDIOLANGUAGESELECTED _HRESULT_TYPEDEF_(0xc00d10c6) +#define NS_E_CORECD_NOTAMEDIACD _HRESULT_TYPEDEF_(0xc00d10c7) +#define NS_E_WMPCORE_MEDIA_URL_TOO_LONG _HRESULT_TYPEDEF_(0xc00d10c8) +#define NS_E_WMPFLASH_CANT_FIND_COM_SERVER _HRESULT_TYPEDEF_(0xc00d10c9) +#define NS_E_WMPFLASH_INCOMPATIBLEVERSION _HRESULT_TYPEDEF_(0xc00d10ca) +#define NS_E_WMPOCXGRAPH_IE_DISALLOWS_ACTIVEX_CONTROLS _HRESULT_TYPEDEF_(0xc00d10cb) +#define NS_E_NEED_CORE_REFERENCE _HRESULT_TYPEDEF_(0xc00d10cc) +#define NS_E_MEDIACD_READ_ERROR _HRESULT_TYPEDEF_(0xc00d10cd) +#define NS_E_IE_DISALLOWS_ACTIVEX_CONTROLS _HRESULT_TYPEDEF_(0xc00d10ce) +#define NS_E_FLASH_PLAYBACK_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d10cf) +#define NS_E_UNABLE_TO_CREATE_RIP_LOCATION _HRESULT_TYPEDEF_(0xc00d10d0) +#define NS_E_WMPCORE_SOME_CODECS_MISSING _HRESULT_TYPEDEF_(0xc00d10d1) +#define NS_E_WMP_RIP_FAILED _HRESULT_TYPEDEF_(0xc00d10d2) +#define NS_E_WMP_FAILED_TO_RIP_TRACK _HRESULT_TYPEDEF_(0xc00d10d3) +#define NS_E_WMP_ERASE_FAILED _HRESULT_TYPEDEF_(0xc00d10d4) +#define NS_E_WMP_FORMAT_FAILED _HRESULT_TYPEDEF_(0xc00d10d5) +#define NS_E_WMP_CANNOT_BURN_NON_LOCAL_FILE _HRESULT_TYPEDEF_(0xc00d10d6) +#define NS_E_WMP_FILE_TYPE_CANNOT_BURN_TO_AUDIO_CD _HRESULT_TYPEDEF_(0xc00d10d7) +#define NS_E_WMP_FILE_DOES_NOT_FIT_ON_CD _HRESULT_TYPEDEF_(0xc00d10d8) +#define NS_E_WMP_FILE_NO_DURATION _HRESULT_TYPEDEF_(0xc00d10d9) +#define NS_E_PDA_FAILED_TO_BURN _HRESULT_TYPEDEF_(0xc00d10da) +#define NS_S_NEED_TO_BUY_BURN_RIGHTS _HRESULT_TYPEDEF_(0x000d10db) +#define NS_E_FAILED_DOWNLOAD_ABORT_BURN _HRESULT_TYPEDEF_(0xc00d10dc) +#define NS_E_WMPCORE_DEVICE_DRIVERS_MISSING _HRESULT_TYPEDEF_(0xc00d10dd) +#define NS_S_WMPCORE_PLAYLISTCLEARABORT _HRESULT_TYPEDEF_(0x000d10fe) +#define NS_S_WMPCORE_PLAYLISTREMOVEITEMABORT _HRESULT_TYPEDEF_(0x000d10ff) +#define NS_S_WMPCORE_PLAYLIST_CREATION_PENDING _HRESULT_TYPEDEF_(0x000d1102) +#define NS_S_WMPCORE_MEDIA_VALIDATION_PENDING _HRESULT_TYPEDEF_(0x000d1103) +#define NS_S_WMPCORE_PLAYLIST_REPEAT_SECONDARY_SEGMENTS_IGNORED _HRESULT_TYPEDEF_(0x000d1104) +#define NS_S_WMPCORE_COMMAND_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x000d1105) +#define NS_S_WMPCORE_PLAYLIST_NAME_AUTO_GENERATED _HRESULT_TYPEDEF_(0x000d1106) +#define NS_S_WMPCORE_PLAYLIST_IMPORT_MISSING_ITEMS _HRESULT_TYPEDEF_(0x000d1107) +#define NS_S_WMPCORE_PLAYLIST_COLLAPSED_TO_SINGLE_MEDIA _HRESULT_TYPEDEF_(0x000d1108) +#define NS_S_WMPCORE_MEDIA_CHILD_PLAYLIST_OPEN_PENDING _HRESULT_TYPEDEF_(0x000d1109) +#define NS_S_WMPCORE_MORE_NODES_AVAIABLE _HRESULT_TYPEDEF_(0x000d110a) +#define NS_E_WMPIM_USEROFFLINE _HRESULT_TYPEDEF_(0xc00d1126) +#define NS_E_WMPIM_USERCANCELED _HRESULT_TYPEDEF_(0xc00d1127) +#define NS_E_WMPIM_DIALUPFAILED _HRESULT_TYPEDEF_(0xc00d1128) +#define NS_E_WINSOCK_ERROR_STRING _HRESULT_TYPEDEF_(0xc00d1129) +#define NS_E_WMPBR_NOLISTENER _HRESULT_TYPEDEF_(0xc00d1130) +#define NS_E_WMPBR_BACKUPCANCEL _HRESULT_TYPEDEF_(0xc00d1131) +#define NS_E_WMPBR_RESTORECANCEL _HRESULT_TYPEDEF_(0xc00d1132) +#define NS_E_WMPBR_ERRORWITHURL _HRESULT_TYPEDEF_(0xc00d1133) +#define NS_E_WMPBR_NAMECOLLISION _HRESULT_TYPEDEF_(0xc00d1134) +#define NS_S_WMPBR_SUCCESS _HRESULT_TYPEDEF_(0x000d1135) +#define NS_S_WMPBR_PARTIALSUCCESS _HRESULT_TYPEDEF_(0x000d1136) +#define NS_E_WMPBR_DRIVE_INVALID _HRESULT_TYPEDEF_(0xc00d1137) +#define NS_E_WMPBR_BACKUPRESTOREFAILED _HRESULT_TYPEDEF_(0xc00d1138) +#define NS_S_WMPEFFECT_TRANSPARENT _HRESULT_TYPEDEF_(0x000d1144) +#define NS_S_WMPEFFECT_OPAQUE _HRESULT_TYPEDEF_(0x000d1145) +#define NS_S_OPERATION_PENDING _HRESULT_TYPEDEF_(0x000d114e) +#define NS_E_WMP_CONVERT_FILE_FAILED _HRESULT_TYPEDEF_(0xc00d1158) +#define NS_E_WMP_CONVERT_NO_RIGHTS_ERRORURL _HRESULT_TYPEDEF_(0xc00d1159) +#define NS_E_WMP_CONVERT_NO_RIGHTS_NOERRORURL _HRESULT_TYPEDEF_(0xc00d115a) +#define NS_E_WMP_CONVERT_FILE_CORRUPT _HRESULT_TYPEDEF_(0xc00d115b) +#define NS_E_WMP_CONVERT_PLUGIN_UNAVAILABLE_ERRORURL _HRESULT_TYPEDEF_(0xc00d115c) +#define NS_E_WMP_CONVERT_PLUGIN_UNAVAILABLE_NOERRORURL _HRESULT_TYPEDEF_(0xc00d115d) +#define NS_E_WMP_CONVERT_PLUGIN_UNKNOWN_FILE_OWNER _HRESULT_TYPEDEF_(0xc00d115e) +#define NS_E_DVD_DISC_COPY_PROTECT_OUTPUT_NS _HRESULT_TYPEDEF_(0xc00d1160) +#define NS_E_DVD_DISC_COPY_PROTECT_OUTPUT_FAILED _HRESULT_TYPEDEF_(0xc00d1161) +#define NS_E_DVD_NO_SUBPICTURE_STREAM _HRESULT_TYPEDEF_(0xc00d1162) +#define NS_E_DVD_COPY_PROTECT _HRESULT_TYPEDEF_(0xc00d1163) +#define NS_E_DVD_AUTHORING_PROBLEM _HRESULT_TYPEDEF_(0xc00d1164) +#define NS_E_DVD_INVALID_DISC_REGION _HRESULT_TYPEDEF_(0xc00d1165) +#define NS_E_DVD_COMPATIBLE_VIDEO_CARD _HRESULT_TYPEDEF_(0xc00d1166) +#define NS_E_DVD_MACROVISION _HRESULT_TYPEDEF_(0xc00d1167) +#define NS_E_DVD_SYSTEM_DECODER_REGION _HRESULT_TYPEDEF_(0xc00d1168) +#define NS_E_DVD_DISC_DECODER_REGION _HRESULT_TYPEDEF_(0xc00d1169) +#define NS_E_DVD_NO_VIDEO_STREAM _HRESULT_TYPEDEF_(0xc00d116a) +#define NS_E_DVD_NO_AUDIO_STREAM _HRESULT_TYPEDEF_(0xc00d116b) +#define NS_E_DVD_GRAPH_BUILDING _HRESULT_TYPEDEF_(0xc00d116c) +#define NS_E_DVD_NO_DECODER _HRESULT_TYPEDEF_(0xc00d116d) +#define NS_E_DVD_PARENTAL _HRESULT_TYPEDEF_(0xc00d116e) +#define NS_E_DVD_CANNOT_JUMP _HRESULT_TYPEDEF_(0xc00d116f) +#define NS_E_DVD_DEVICE_CONTENTION _HRESULT_TYPEDEF_(0xc00d1170) +#define NS_E_DVD_NO_VIDEO_MEMORY _HRESULT_TYPEDEF_(0xc00d1171) +#define NS_E_DVD_CANNOT_COPY_PROTECTED _HRESULT_TYPEDEF_(0xc00d1172) +#define NS_E_DVD_REQUIRED_PROPERTY_NOT_SET _HRESULT_TYPEDEF_(0xc00d1173) +#define NS_E_DVD_INVALID_TITLE_CHAPTER _HRESULT_TYPEDEF_(0xc00d1174) +#define NS_E_NO_CD_BURNER _HRESULT_TYPEDEF_(0xc00d1176) +#define NS_E_DEVICE_IS_NOT_READY _HRESULT_TYPEDEF_(0xc00d1177) +#define NS_E_PDA_UNSUPPORTED_FORMAT _HRESULT_TYPEDEF_(0xc00d1178) +#define NS_E_NO_PDA _HRESULT_TYPEDEF_(0xc00d1179) +#define NS_E_PDA_UNSPECIFIED_ERROR _HRESULT_TYPEDEF_(0xc00d117a) +#define NS_E_MEMSTORAGE_BAD_DATA _HRESULT_TYPEDEF_(0xc00d117b) +#define NS_E_PDA_FAIL_SELECT_DEVICE _HRESULT_TYPEDEF_(0xc00d117c) +#define NS_E_PDA_FAIL_READ_WAVE_FILE _HRESULT_TYPEDEF_(0xc00d117d) +#define NS_E_IMAPI_LOSSOFSTREAMING _HRESULT_TYPEDEF_(0xc00d117e) +#define NS_E_PDA_DEVICE_FULL _HRESULT_TYPEDEF_(0xc00d117f) +#define NS_E_FAIL_LAUNCH_ROXIO_PLUGIN _HRESULT_TYPEDEF_(0xc00d1180) +#define NS_E_PDA_DEVICE_FULL_IN_SESSION _HRESULT_TYPEDEF_(0xc00d1181) +#define NS_E_IMAPI_MEDIUM_INVALIDTYPE _HRESULT_TYPEDEF_(0xc00d1182) +#define NS_E_PDA_MANUALDEVICE _HRESULT_TYPEDEF_(0xc00d1183) +#define NS_E_PDA_PARTNERSHIPNOTEXIST _HRESULT_TYPEDEF_(0xc00d1184) +#define NS_E_PDA_CANNOT_CREATE_ADDITIONAL_SYNC_RELATIONSHIP _HRESULT_TYPEDEF_(0xc00d1185) +#define NS_E_PDA_NO_TRANSCODE_OF_DRM _HRESULT_TYPEDEF_(0xc00d1186) +#define NS_E_PDA_TRANSCODECACHEFULL _HRESULT_TYPEDEF_(0xc00d1187) +#define NS_E_PDA_TOO_MANY_FILE_COLLISIONS _HRESULT_TYPEDEF_(0xc00d1188) +#define NS_E_PDA_CANNOT_TRANSCODE _HRESULT_TYPEDEF_(0xc00d1189) +#define NS_E_PDA_TOO_MANY_FILES_IN_DIRECTORY _HRESULT_TYPEDEF_(0xc00d118a) +#define NS_E_PROCESSINGSHOWSYNCWIZARD _HRESULT_TYPEDEF_(0xc00d118b) +#define NS_E_PDA_TRANSCODE_NOT_PERMITTED _HRESULT_TYPEDEF_(0xc00d118c) +#define NS_E_PDA_INITIALIZINGDEVICES _HRESULT_TYPEDEF_(0xc00d118d) +#define NS_E_PDA_OBSOLETE_SP _HRESULT_TYPEDEF_(0xc00d118e) +#define NS_E_PDA_TITLE_COLLISION _HRESULT_TYPEDEF_(0xc00d118f) +#define NS_E_PDA_DEVICESUPPORTDISABLED _HRESULT_TYPEDEF_(0xc00d1190) +#define NS_E_PDA_NO_LONGER_AVAILABLE _HRESULT_TYPEDEF_(0xc00d1191) +#define NS_E_PDA_ENCODER_NOT_RESPONDING _HRESULT_TYPEDEF_(0xc00d1192) +#define NS_E_PDA_CANNOT_SYNC_FROM_LOCATION _HRESULT_TYPEDEF_(0xc00d1193) +#define NS_E_WMP_PROTOCOL_PROBLEM _HRESULT_TYPEDEF_(0xc00d1194) +#define NS_E_WMP_NO_DISK_SPACE _HRESULT_TYPEDEF_(0xc00d1195) +#define NS_E_WMP_LOGON_FAILURE _HRESULT_TYPEDEF_(0xc00d1196) +#define NS_E_WMP_CANNOT_FIND_FILE _HRESULT_TYPEDEF_(0xc00d1197) +#define NS_E_WMP_SERVER_INACCESSIBLE _HRESULT_TYPEDEF_(0xc00d1198) +#define NS_E_WMP_UNSUPPORTED_FORMAT _HRESULT_TYPEDEF_(0xc00d1199) +#define NS_E_WMP_DSHOW_UNSUPPORTED_FORMAT _HRESULT_TYPEDEF_(0xc00d119a) +#define NS_E_WMP_PLAYLIST_EXISTS _HRESULT_TYPEDEF_(0xc00d119b) +#define NS_E_WMP_NONMEDIA_FILES _HRESULT_TYPEDEF_(0xc00d119c) +#define NS_E_WMP_INVALID_ASX _HRESULT_TYPEDEF_(0xc00d119d) +#define NS_E_WMP_ALREADY_IN_USE _HRESULT_TYPEDEF_(0xc00d119e) +#define NS_E_WMP_IMAPI_FAILURE _HRESULT_TYPEDEF_(0xc00d119f) +#define NS_E_WMP_WMDM_FAILURE _HRESULT_TYPEDEF_(0xc00d11a0) +#define NS_E_WMP_CODEC_NEEDED_WITH_4CC _HRESULT_TYPEDEF_(0xc00d11a1) +#define NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAG _HRESULT_TYPEDEF_(0xc00d11a2) +#define NS_E_WMP_MSSAP_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d11a3) +#define NS_E_WMP_WMDM_INTERFACEDEAD _HRESULT_TYPEDEF_(0xc00d11a4) +#define NS_E_WMP_WMDM_NOTCERTIFIED _HRESULT_TYPEDEF_(0xc00d11a5) +#define NS_E_WMP_WMDM_LICENSE_NOTEXIST _HRESULT_TYPEDEF_(0xc00d11a6) +#define NS_E_WMP_WMDM_LICENSE_EXPIRED _HRESULT_TYPEDEF_(0xc00d11a7) +#define NS_E_WMP_WMDM_BUSY _HRESULT_TYPEDEF_(0xc00d11a8) +#define NS_E_WMP_WMDM_NORIGHTS _HRESULT_TYPEDEF_(0xc00d11a9) +#define NS_E_WMP_WMDM_INCORRECT_RIGHTS _HRESULT_TYPEDEF_(0xc00d11aa) +#define NS_E_WMP_IMAPI_GENERIC _HRESULT_TYPEDEF_(0xc00d11ab) +#define NS_E_WMP_IMAPI_DEVICE_NOTPRESENT _HRESULT_TYPEDEF_(0xc00d11ad) +#define NS_E_WMP_IMAPI_DEVICE_BUSY _HRESULT_TYPEDEF_(0xc00d11ae) +#define NS_E_WMP_IMAPI_LOSS_OF_STREAMING _HRESULT_TYPEDEF_(0xc00d11af) +#define NS_E_WMP_SERVER_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d11b0) +#define NS_E_WMP_FILE_OPEN_FAILED _HRESULT_TYPEDEF_(0xc00d11b1) +#define NS_E_WMP_VERIFY_ONLINE _HRESULT_TYPEDEF_(0xc00d11b2) +#define NS_E_WMP_SERVER_NOT_RESPONDING _HRESULT_TYPEDEF_(0xc00d11b3) +#define NS_E_WMP_DRM_CORRUPT_BACKUP _HRESULT_TYPEDEF_(0xc00d11b4) +#define NS_E_WMP_DRM_LICENSE_SERVER_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d11b5) +#define NS_E_WMP_NETWORK_FIREWALL _HRESULT_TYPEDEF_(0xc00d11b6) +#define NS_E_WMP_NO_REMOVABLE_MEDIA _HRESULT_TYPEDEF_(0xc00d11b7) +#define NS_E_WMP_PROXY_CONNECT_TIMEOUT _HRESULT_TYPEDEF_(0xc00d11b8) +#define NS_E_WMP_NEED_UPGRADE _HRESULT_TYPEDEF_(0xc00d11b9) +#define NS_E_WMP_AUDIO_HW_PROBLEM _HRESULT_TYPEDEF_(0xc00d11ba) +#define NS_E_WMP_INVALID_PROTOCOL _HRESULT_TYPEDEF_(0xc00d11bb) +#define NS_E_WMP_INVALID_LIBRARY_ADD _HRESULT_TYPEDEF_(0xc00d11bc) +#define NS_E_WMP_MMS_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d11bd) +#define NS_E_WMP_NO_PROTOCOLS_SELECTED _HRESULT_TYPEDEF_(0xc00d11be) +#define NS_E_WMP_GOFULLSCREEN_FAILED _HRESULT_TYPEDEF_(0xc00d11bf) +#define NS_E_WMP_NETWORK_ERROR _HRESULT_TYPEDEF_(0xc00d11c0) +#define NS_E_WMP_CONNECT_TIMEOUT _HRESULT_TYPEDEF_(0xc00d11c1) +#define NS_E_WMP_MULTICAST_DISABLED _HRESULT_TYPEDEF_(0xc00d11c2) +#define NS_E_WMP_SERVER_DNS_TIMEOUT _HRESULT_TYPEDEF_(0xc00d11c3) +#define NS_E_WMP_PROXY_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d11c4) +#define NS_E_WMP_TAMPERED_CONTENT _HRESULT_TYPEDEF_(0xc00d11c5) +#define NS_E_WMP_OUTOFMEMORY _HRESULT_TYPEDEF_(0xc00d11c6) +#define NS_E_WMP_AUDIO_CODEC_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d11c7) +#define NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d11c8) +#define NS_E_WMP_IMAPI_DEVICE_INVALIDTYPE _HRESULT_TYPEDEF_(0xc00d11c9) +#define NS_E_WMP_DRM_DRIVER_AUTH_FAILURE _HRESULT_TYPEDEF_(0xc00d11ca) +#define NS_E_WMP_NETWORK_RESOURCE_FAILURE _HRESULT_TYPEDEF_(0xc00d11cb) +#define NS_E_WMP_UPGRADE_APPLICATION _HRESULT_TYPEDEF_(0xc00d11cc) +#define NS_E_WMP_UNKNOWN_ERROR _HRESULT_TYPEDEF_(0xc00d11cd) +#define NS_E_WMP_INVALID_KEY _HRESULT_TYPEDEF_(0xc00d11ce) +#define NS_E_WMP_CD_ANOTHER_USER _HRESULT_TYPEDEF_(0xc00d11cf) +#define NS_E_WMP_DRM_NEEDS_AUTHORIZATION _HRESULT_TYPEDEF_(0xc00d11d0) +#define NS_E_WMP_BAD_DRIVER _HRESULT_TYPEDEF_(0xc00d11d1) +#define NS_E_WMP_ACCESS_DENIED _HRESULT_TYPEDEF_(0xc00d11d2) +#define NS_E_WMP_LICENSE_RESTRICTS _HRESULT_TYPEDEF_(0xc00d11d3) +#define NS_E_WMP_INVALID_REQUEST _HRESULT_TYPEDEF_(0xc00d11d4) +#define NS_E_WMP_CD_STASH_NO_SPACE _HRESULT_TYPEDEF_(0xc00d11d5) +#define NS_E_WMP_DRM_NEW_HARDWARE _HRESULT_TYPEDEF_(0xc00d11d6) +#define NS_E_WMP_DRM_INVALID_SIG _HRESULT_TYPEDEF_(0xc00d11d7) +#define NS_E_WMP_DRM_CANNOT_RESTORE _HRESULT_TYPEDEF_(0xc00d11d8) +#define NS_E_WMP_BURN_DISC_OVERFLOW _HRESULT_TYPEDEF_(0xc00d11d9) +#define NS_E_WMP_DRM_GENERIC_LICENSE_FAILURE _HRESULT_TYPEDEF_(0xc00d11da) +#define NS_E_WMP_DRM_NO_SECURE_CLOCK _HRESULT_TYPEDEF_(0xc00d11db) +#define NS_E_WMP_DRM_NO_RIGHTS _HRESULT_TYPEDEF_(0xc00d11dc) +#define NS_E_WMP_DRM_INDIV_FAILED _HRESULT_TYPEDEF_(0xc00d11dd) +#define NS_E_WMP_SERVER_NONEWCONNECTIONS _HRESULT_TYPEDEF_(0xc00d11de) +#define NS_E_WMP_MULTIPLE_ERROR_IN_PLAYLIST _HRESULT_TYPEDEF_(0xc00d11df) +#define NS_E_WMP_IMAPI2_ERASE_FAIL _HRESULT_TYPEDEF_(0xc00d11e0) +#define NS_E_WMP_IMAPI2_ERASE_DEVICE_BUSY _HRESULT_TYPEDEF_(0xc00d11e1) +#define NS_E_WMP_DRM_COMPONENT_FAILURE _HRESULT_TYPEDEF_(0xc00d11e2) +#define NS_E_WMP_DRM_NO_DEVICE_CERT _HRESULT_TYPEDEF_(0xc00d11e3) +#define NS_E_WMP_SERVER_SECURITY_ERROR _HRESULT_TYPEDEF_(0xc00d11e4) +#define NS_E_WMP_AUDIO_DEVICE_LOST _HRESULT_TYPEDEF_(0xc00d11e5) +#define NS_E_WMP_IMAPI_MEDIA_INCOMPATIBLE _HRESULT_TYPEDEF_(0xc00d11e6) +#define NS_E_SYNCWIZ_DEVICE_FULL _HRESULT_TYPEDEF_(0xc00d11ee) +#define NS_E_SYNCWIZ_CANNOT_CHANGE_SETTINGS _HRESULT_TYPEDEF_(0xc00d11ef) +#define NS_E_TRANSCODE_DELETECACHEERROR _HRESULT_TYPEDEF_(0xc00d11f0) +#define NS_E_CD_NO_BUFFERS_READ _HRESULT_TYPEDEF_(0xc00d11f8) +#define NS_E_CD_EMPTY_TRACK_QUEUE _HRESULT_TYPEDEF_(0xc00d11f9) +#define NS_E_CD_NO_READER _HRESULT_TYPEDEF_(0xc00d11fa) +#define NS_E_CD_ISRC_INVALID _HRESULT_TYPEDEF_(0xc00d11fb) +#define NS_E_CD_MEDIA_CATALOG_NUMBER_INVALID _HRESULT_TYPEDEF_(0xc00d11fc) +#define NS_E_SLOW_READ_DIGITAL_WITH_ERRORCORRECTION _HRESULT_TYPEDEF_(0xc00d11fd) +#define NS_E_CD_SPEEDDETECT_NOT_ENOUGH_READS _HRESULT_TYPEDEF_(0xc00d11fe) +#define NS_E_CD_QUEUEING_DISABLED _HRESULT_TYPEDEF_(0xc00d11ff) +#define NS_E_WMP_DRM_ACQUIRING_LICENSE _HRESULT_TYPEDEF_(0xc00d1202) +#define NS_E_WMP_DRM_LICENSE_EXPIRED _HRESULT_TYPEDEF_(0xc00d1203) +#define NS_E_WMP_DRM_LICENSE_NOTACQUIRED _HRESULT_TYPEDEF_(0xc00d1204) +#define NS_E_WMP_DRM_LICENSE_NOTENABLED _HRESULT_TYPEDEF_(0xc00d1205) +#define NS_E_WMP_DRM_LICENSE_UNUSABLE _HRESULT_TYPEDEF_(0xc00d1206) +#define NS_E_WMP_DRM_LICENSE_CONTENT_REVOKED _HRESULT_TYPEDEF_(0xc00d1207) +#define NS_E_WMP_DRM_LICENSE_NOSAP _HRESULT_TYPEDEF_(0xc00d1208) +#define NS_E_WMP_DRM_UNABLE_TO_ACQUIRE_LICENSE _HRESULT_TYPEDEF_(0xc00d1209) +#define NS_E_WMP_LICENSE_REQUIRED _HRESULT_TYPEDEF_(0xc00d120a) +#define NS_E_WMP_PROTECTED_CONTENT _HRESULT_TYPEDEF_(0xc00d120b) +#define NS_E_WMP_POLICY_VALUE_NOT_CONFIGURED _HRESULT_TYPEDEF_(0xc00d122a) +#define NS_E_PDA_CANNOT_SYNC_FROM_INTERNET _HRESULT_TYPEDEF_(0xc00d1234) +#define NS_E_PDA_CANNOT_SYNC_INVALID_PLAYLIST _HRESULT_TYPEDEF_(0xc00d1235) +#define NS_E_PDA_FAILED_TO_SYNCHRONIZE_FILE _HRESULT_TYPEDEF_(0xc00d1236) +#define NS_E_PDA_SYNC_FAILED _HRESULT_TYPEDEF_(0xc00d1237) +#define NS_E_PDA_DELETE_FAILED _HRESULT_TYPEDEF_(0xc00d1238) +#define NS_E_PDA_FAILED_TO_RETRIEVE_FILE _HRESULT_TYPEDEF_(0xc00d1239) +#define NS_E_PDA_DEVICE_NOT_RESPONDING _HRESULT_TYPEDEF_(0xc00d123a) +#define NS_E_PDA_FAILED_TO_TRANSCODE_PHOTO _HRESULT_TYPEDEF_(0xc00d123b) +#define NS_E_PDA_FAILED_TO_ENCRYPT_TRANSCODED_FILE _HRESULT_TYPEDEF_(0xc00d123c) +#define NS_E_PDA_CANNOT_TRANSCODE_TO_AUDIO _HRESULT_TYPEDEF_(0xc00d123d) +#define NS_E_PDA_CANNOT_TRANSCODE_TO_VIDEO _HRESULT_TYPEDEF_(0xc00d123e) +#define NS_E_PDA_CANNOT_TRANSCODE_TO_IMAGE _HRESULT_TYPEDEF_(0xc00d123f) +#define NS_E_PDA_RETRIEVED_FILE_FILENAME_TOO_LONG _HRESULT_TYPEDEF_(0xc00d1240) +#define NS_E_PDA_CEWMDM_DRM_ERROR _HRESULT_TYPEDEF_(0xc00d1241) +#define NS_E_INCOMPLETE_PLAYLIST _HRESULT_TYPEDEF_(0xc00d1242) +#define NS_E_PDA_SYNC_RUNNING _HRESULT_TYPEDEF_(0xc00d1243) +#define NS_E_PDA_SYNC_LOGIN_ERROR _HRESULT_TYPEDEF_(0xc00d1244) +#define NS_E_PDA_TRANSCODE_CODEC_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d1245) +#define NS_E_CANNOT_SYNC_DRM_TO_NON_JANUS_DEVICE _HRESULT_TYPEDEF_(0xc00d1246) +#define NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING _HRESULT_TYPEDEF_(0xc00d1247) +#define NS_E_WMP_HWND_NOTFOUND _HRESULT_TYPEDEF_(0xc00d125c) +#define NS_E_BKGDOWNLOAD_WRONG_NO_FILES _HRESULT_TYPEDEF_(0xc00d125d) +#define NS_E_BKGDOWNLOAD_COMPLETECANCELLEDJOB _HRESULT_TYPEDEF_(0xc00d125e) +#define NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB _HRESULT_TYPEDEF_(0xc00d125f) +#define NS_E_BKGDOWNLOAD_NOJOBPOINTER _HRESULT_TYPEDEF_(0xc00d1260) +#define NS_E_BKGDOWNLOAD_INVALIDJOBSIGNATURE _HRESULT_TYPEDEF_(0xc00d1261) +#define NS_E_BKGDOWNLOAD_FAILED_TO_CREATE_TEMPFILE _HRESULT_TYPEDEF_(0xc00d1262) +#define NS_E_BKGDOWNLOAD_PLUGIN_FAILEDINITIALIZE _HRESULT_TYPEDEF_(0xc00d1263) +#define NS_E_BKGDOWNLOAD_PLUGIN_FAILEDTOMOVEFILE _HRESULT_TYPEDEF_(0xc00d1264) +#define NS_E_BKGDOWNLOAD_CALLFUNCFAILED _HRESULT_TYPEDEF_(0xc00d1265) +#define NS_E_BKGDOWNLOAD_CALLFUNCTIMEOUT _HRESULT_TYPEDEF_(0xc00d1266) +#define NS_E_BKGDOWNLOAD_CALLFUNCENDED _HRESULT_TYPEDEF_(0xc00d1267) +#define NS_E_BKGDOWNLOAD_WMDUNPACKFAILED _HRESULT_TYPEDEF_(0xc00d1268) +#define NS_E_BKGDOWNLOAD_FAILEDINITIALIZE _HRESULT_TYPEDEF_(0xc00d1269) +#define NS_E_INTERFACE_NOT_REGISTERED_IN_GIT _HRESULT_TYPEDEF_(0xc00d126a) +#define NS_E_BKGDOWNLOAD_INVALID_FILE_NAME _HRESULT_TYPEDEF_(0xc00d126b) +#define NS_E_IMAGE_DOWNLOAD_FAILED _HRESULT_TYPEDEF_(0xc00d128e) +#define NS_E_WMP_UDRM_NOUSERLIST _HRESULT_TYPEDEF_(0xc00d12c0) +#define NS_E_WMP_DRM_NOT_ACQUIRING _HRESULT_TYPEDEF_(0xc00d12c1) +#define NS_E_WMP_BSTR_TOO_LONG _HRESULT_TYPEDEF_(0xc00d12f2) +#define NS_E_WMP_AUTOPLAY_INVALID_STATE _HRESULT_TYPEDEF_(0xc00d12fc) +#define NS_E_WMP_COMPONENT_REVOKED _HRESULT_TYPEDEF_(0xc00d1306) +#define NS_E_CURL_NOTSAFE _HRESULT_TYPEDEF_(0xc00d1324) +#define NS_E_CURL_INVALIDCHAR _HRESULT_TYPEDEF_(0xc00d1325) +#define NS_E_CURL_INVALIDHOSTNAME _HRESULT_TYPEDEF_(0xc00d1326) +#define NS_E_CURL_INVALIDPATH _HRESULT_TYPEDEF_(0xc00d1327) +#define NS_E_CURL_INVALIDSCHEME _HRESULT_TYPEDEF_(0xc00d1328) +#define NS_E_CURL_INVALIDURL _HRESULT_TYPEDEF_(0xc00d1329) +#define NS_E_CURL_CANTWALK _HRESULT_TYPEDEF_(0xc00d132b) +#define NS_E_CURL_INVALIDPORT _HRESULT_TYPEDEF_(0xc00d132c) +#define NS_E_CURLHELPER_NOTADIRECTORY _HRESULT_TYPEDEF_(0xc00d132d) +#define NS_E_CURLHELPER_NOTAFILE _HRESULT_TYPEDEF_(0xc00d132e) +#define NS_E_CURL_CANTDECODE _HRESULT_TYPEDEF_(0xc00d132f) +#define NS_E_CURLHELPER_NOTRELATIVE _HRESULT_TYPEDEF_(0xc00d1330) +#define NS_E_CURL_INVALIDBUFFERSIZE _HRESULT_TYPEDEF_(0xc00d1331) +#define NS_E_SUBSCRIPTIONSERVICE_PLAYBACK_DISALLOWED _HRESULT_TYPEDEF_(0xc00d1356) +#define NS_E_CANNOT_BUY_OR_DOWNLOAD_FROM_MULTIPLE_SERVICES _HRESULT_TYPEDEF_(0xc00d1357) +#define NS_E_CANNOT_BUY_OR_DOWNLOAD_CONTENT _HRESULT_TYPEDEF_(0xc00d1358) +#define NS_S_TRACK_BUY_REQUIRES_ALBUM_PURCHASE _HRESULT_TYPEDEF_(0x000d1359) +#define NS_E_NOT_CONTENT_PARTNER_TRACK _HRESULT_TYPEDEF_(0xc00d135a) +#define NS_E_TRACK_DOWNLOAD_REQUIRES_ALBUM_PURCHASE _HRESULT_TYPEDEF_(0xc00d135b) +#define NS_E_TRACK_DOWNLOAD_REQUIRES_PURCHASE _HRESULT_TYPEDEF_(0xc00d135c) +#define NS_E_TRACK_PURCHASE_MAXIMUM_EXCEEDED _HRESULT_TYPEDEF_(0xc00d135d) +#define NS_S_NAVIGATION_COMPLETE_WITH_ERRORS _HRESULT_TYPEDEF_(0x000d135e) +#define NS_E_SUBSCRIPTIONSERVICE_LOGIN_FAILED _HRESULT_TYPEDEF_(0xc00d135f) +#define NS_E_SUBSCRIPTIONSERVICE_DOWNLOAD_TIMEOUT _HRESULT_TYPEDEF_(0xc00d1360) +#define NS_S_TRACK_ALREADY_DOWNLOADED _HRESULT_TYPEDEF_(0x000d1361) +#define NS_E_CONTENT_PARTNER_STILL_INITIALIZING _HRESULT_TYPEDEF_(0xc00d1362) +#define NS_E_OPEN_CONTAINING_FOLDER_FAILED _HRESULT_TYPEDEF_(0xc00d1363) +#define NS_E_ADVANCEDEDIT_TOO_MANY_PICTURES _HRESULT_TYPEDEF_(0xc00d136a) + +/* Windows Media Server errors */ +#define NS_E_REDIRECT _HRESULT_TYPEDEF_(0xc00d1388) +#define NS_E_STALE_PRESENTATION _HRESULT_TYPEDEF_(0xc00d1389) +#define NS_E_NAMESPACE_WRONG_PERSIST _HRESULT_TYPEDEF_(0xc00d138a) +#define NS_E_NAMESPACE_WRONG_TYPE _HRESULT_TYPEDEF_(0xc00d138b) +#define NS_E_NAMESPACE_NODE_CONFLICT _HRESULT_TYPEDEF_(0xc00d138c) +#define NS_E_NAMESPACE_NODE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d138d) +#define NS_E_NAMESPACE_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0xc00d138e) +#define NS_E_NAMESPACE_TOO_MANY_CALLBACKS _HRESULT_TYPEDEF_(0xc00d138f) +#define NS_E_NAMESPACE_DUPLICATE_CALLBACK _HRESULT_TYPEDEF_(0xc00d1390) +#define NS_E_NAMESPACE_CALLBACK_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d1391) +#define NS_E_NAMESPACE_NAME_TOO_LONG _HRESULT_TYPEDEF_(0xc00d1392) +#define NS_E_NAMESPACE_DUPLICATE_NAME _HRESULT_TYPEDEF_(0xc00d1393) +#define NS_E_NAMESPACE_EMPTY_NAME _HRESULT_TYPEDEF_(0xc00d1394) +#define NS_E_NAMESPACE_INDEX_TOO_LARGE _HRESULT_TYPEDEF_(0xc00d1395) +#define NS_E_NAMESPACE_BAD_NAME _HRESULT_TYPEDEF_(0xc00d1396) +#define NS_E_NAMESPACE_WRONG_SECURITY _HRESULT_TYPEDEF_(0xc00d1397) +#define NS_E_CACHE_ARCHIVE_CONFLICT _HRESULT_TYPEDEF_(0xc00d13ec) +#define NS_E_CACHE_ORIGIN_SERVER_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d13ed) +#define NS_E_CACHE_ORIGIN_SERVER_TIMEOUT _HRESULT_TYPEDEF_(0xc00d13ee) +#define NS_E_CACHE_NOT_BROADCAST _HRESULT_TYPEDEF_(0xc00d13ef) +#define NS_E_CACHE_CANNOT_BE_CACHED _HRESULT_TYPEDEF_(0xc00d13f0) +#define NS_E_CACHE_NOT_MODIFIED _HRESULT_TYPEDEF_(0xc00d13f1) +#define NS_E_CANNOT_REMOVE_PUBLISHING_POINT _HRESULT_TYPEDEF_(0xc00d1450) +#define NS_E_CANNOT_REMOVE_PLUGIN _HRESULT_TYPEDEF_(0xc00d1451) +#define NS_E_WRONG_PUBLISHING_POINT_TYPE _HRESULT_TYPEDEF_(0xc00d1452) +#define NS_E_UNSUPPORTED_LOAD_TYPE _HRESULT_TYPEDEF_(0xc00d1453) +#define NS_E_INVALID_PLUGIN_LOAD_TYPE_CONFIGURATION _HRESULT_TYPEDEF_(0xc00d1454) +#define NS_E_INVALID_PUBLISHING_POINT_NAME _HRESULT_TYPEDEF_(0xc00d1455) +#define NS_E_TOO_MANY_MULTICAST_SINKS _HRESULT_TYPEDEF_(0xc00d1456) +#define NS_E_PUBLISHING_POINT_INVALID_REQUEST_WHILE_STARTED _HRESULT_TYPEDEF_(0xc00d1457) +#define NS_E_MULTICAST_PLUGIN_NOT_ENABLED _HRESULT_TYPEDEF_(0xc00d1458) +#define NS_E_INVALID_OPERATING_SYSTEM_VERSION _HRESULT_TYPEDEF_(0xc00d1459) +#define NS_E_PUBLISHING_POINT_REMOVED _HRESULT_TYPEDEF_(0xc00d145a) +#define NS_E_INVALID_PUSH_PUBLISHING_POINT_START_REQUEST _HRESULT_TYPEDEF_(0xc00d145b) +#define NS_E_UNSUPPORTED_LANGUAGE _HRESULT_TYPEDEF_(0xc00d145c) +#define NS_E_WRONG_OS_VERSION _HRESULT_TYPEDEF_(0xc00d145d) +#define NS_E_PUBLISHING_POINT_STOPPED _HRESULT_TYPEDEF_(0xc00d145e) +#define NS_E_PLAYLIST_ENTRY_ALREADY_PLAYING _HRESULT_TYPEDEF_(0xc00d14b4) +#define NS_E_EMPTY_PLAYLIST _HRESULT_TYPEDEF_(0xc00d14b5) +#define NS_E_PLAYLIST_PARSE_FAILURE _HRESULT_TYPEDEF_(0xc00d14b6) +#define NS_E_PLAYLIST_UNSUPPORTED_ENTRY _HRESULT_TYPEDEF_(0xc00d14b7) +#define NS_E_PLAYLIST_ENTRY_NOT_IN_PLAYLIST _HRESULT_TYPEDEF_(0xc00d14b8) +#define NS_E_PLAYLIST_ENTRY_SEEK _HRESULT_TYPEDEF_(0xc00d14b9) +#define NS_E_PLAYLIST_RECURSIVE_PLAYLISTS _HRESULT_TYPEDEF_(0xc00d14ba) +#define NS_E_PLAYLIST_TOO_MANY_NESTED_PLAYLISTS _HRESULT_TYPEDEF_(0xc00d14bb) +#define NS_E_PLAYLIST_SHUTDOWN _HRESULT_TYPEDEF_(0xc00d14bc) +#define NS_E_PLAYLIST_END_RECEDING _HRESULT_TYPEDEF_(0xc00d14bd) +#define NS_I_PLAYLIST_CHANGE_RECEDING _HRESULT_TYPEDEF_(0x400d14be) +#define NS_E_DATAPATH_NO_SINK _HRESULT_TYPEDEF_(0xc00d1518) +#define NS_S_PUBLISHING_POINT_STARTED_WITH_FAILED_SINKS _HRESULT_TYPEDEF_(0x000d1519) +#define NS_E_INVALID_PUSH_TEMPLATE _HRESULT_TYPEDEF_(0xc00d151a) +#define NS_E_INVALID_PUSH_PUBLISHING_POINT _HRESULT_TYPEDEF_(0xc00d151b) +#define NS_E_CRITICAL_ERROR _HRESULT_TYPEDEF_(0xc00d151c) +#define NS_E_NO_NEW_CONNECTIONS _HRESULT_TYPEDEF_(0xc00d151d) +#define NS_E_WSX_INVALID_VERSION _HRESULT_TYPEDEF_(0xc00d151e) +#define NS_E_HEADER_MISMATCH _HRESULT_TYPEDEF_(0xc00d151f) +#define NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME _HRESULT_TYPEDEF_(0xc00d1520) +#define NS_E_NO_SCRIPT_ENGINE _HRESULT_TYPEDEF_(0xc00d157c) +#define NS_E_PLUGIN_ERROR_REPORTED _HRESULT_TYPEDEF_(0xc00d157d) +#define NS_E_SOURCE_PLUGIN_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d157e) +#define NS_E_PLAYLIST_PLUGIN_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d157f) +#define NS_E_DATA_SOURCE_ENUMERATION_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d1580) +#define NS_E_MEDIA_PARSER_INVALID_FORMAT _HRESULT_TYPEDEF_(0xc00d1581) +#define NS_E_SCRIPT_DEBUGGER_NOT_INSTALLED _HRESULT_TYPEDEF_(0xc00d1582) +#define NS_E_FEATURE_REQUIRES_ENTERPRISE_SERVER _HRESULT_TYPEDEF_(0xc00d1583) +#define NS_E_WIZARD_RUNNING _HRESULT_TYPEDEF_(0xc00d1584) +#define NS_E_INVALID_LOG_URL _HRESULT_TYPEDEF_(0xc00d1585) +#define NS_E_INVALID_MTU_RANGE _HRESULT_TYPEDEF_(0xc00d1586) +#define NS_E_INVALID_PLAY_STATISTICS _HRESULT_TYPEDEF_(0xc00d1587) +#define NS_E_LOG_NEED_TO_BE_SKIPPED _HRESULT_TYPEDEF_(0xc00d1588) +#define NS_E_HTTP_TEXT_DATACONTAINER_SIZE_LIMIT_EXCEEDED _HRESULT_TYPEDEF_(0xc00d1589) +#define NS_E_PORT_IN_USE _HRESULT_TYPEDEF_(0xc00d158a) +#define NS_E_PORT_IN_USE_HTTP _HRESULT_TYPEDEF_(0xc00d158b) +#define NS_E_HTTP_TEXT_DATACONTAINER_INVALID_SERVER_RESPONSE _HRESULT_TYPEDEF_(0xc00d158c) +#define NS_E_ARCHIVE_REACH_QUOTA _HRESULT_TYPEDEF_(0xc00d158d) +#define NS_E_ARCHIVE_ABORT_DUE_TO_BCAST _HRESULT_TYPEDEF_(0xc00d158e) +#define NS_E_ARCHIVE_GAP_DETECTED _HRESULT_TYPEDEF_(0xc00d158f) +#define NS_E_AUTHORIZATION_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d1590) + +/* Windows Media Tools errors */ +#define NS_E_BAD_MARKIN _HRESULT_TYPEDEF_(0xc00d1b58) +#define NS_E_BAD_MARKOUT _HRESULT_TYPEDEF_(0xc00d1b59) +#define NS_E_NOMATCHING_MEDIASOURCE _HRESULT_TYPEDEF_(0xc00d1b5a) +#define NS_E_UNSUPPORTED_SOURCETYPE _HRESULT_TYPEDEF_(0xc00d1b5b) +#define NS_E_TOO_MANY_AUDIO _HRESULT_TYPEDEF_(0xc00d1b5c) +#define NS_E_TOO_MANY_VIDEO _HRESULT_TYPEDEF_(0xc00d1b5d) +#define NS_E_NOMATCHING_ELEMENT _HRESULT_TYPEDEF_(0xc00d1b5e) +#define NS_E_MISMATCHED_MEDIACONTENT _HRESULT_TYPEDEF_(0xc00d1b5f) +#define NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP _HRESULT_TYPEDEF_(0xc00d1b60) +#define NS_E_AUDIODEVICE_BUSY _HRESULT_TYPEDEF_(0xc00d1b61) +#define NS_E_AUDIODEVICE_UNEXPECTED _HRESULT_TYPEDEF_(0xc00d1b62) +#define NS_E_AUDIODEVICE_BADFORMAT _HRESULT_TYPEDEF_(0xc00d1b63) +#define NS_E_VIDEODEVICE_BUSY _HRESULT_TYPEDEF_(0xc00d1b64) +#define NS_E_VIDEODEVICE_UNEXPECTED _HRESULT_TYPEDEF_(0xc00d1b65) +#define NS_E_INVALIDCALL_WHILE_ENCODER_RUNNING _HRESULT_TYPEDEF_(0xc00d1b66) +#define NS_E_NO_PROFILE_IN_SOURCEGROUP _HRESULT_TYPEDEF_(0xc00d1b67) +#define NS_E_VIDEODRIVER_UNSTABLE _HRESULT_TYPEDEF_(0xc00d1b68) +#define NS_E_VIDCAPSTARTFAILED _HRESULT_TYPEDEF_(0xc00d1b69) +#define NS_E_VIDSOURCECOMPRESSION _HRESULT_TYPEDEF_(0xc00d1b6a) +#define NS_E_VIDSOURCESIZE _HRESULT_TYPEDEF_(0xc00d1b6b) +#define NS_E_ICMQUERYFORMAT _HRESULT_TYPEDEF_(0xc00d1b6c) +#define NS_E_VIDCAPCREATEWINDOW _HRESULT_TYPEDEF_(0xc00d1b6d) +#define NS_E_VIDCAPDRVINUSE _HRESULT_TYPEDEF_(0xc00d1b6e) +#define NS_E_NO_MEDIAFORMAT_IN_SOURCE _HRESULT_TYPEDEF_(0xc00d1b6f) +#define NS_E_NO_VALID_OUTPUT_STREAM _HRESULT_TYPEDEF_(0xc00d1b70) +#define NS_E_NO_VALID_SOURCE_PLUGIN _HRESULT_TYPEDEF_(0xc00d1b71) +#define NS_E_NO_ACTIVE_SOURCEGROUP _HRESULT_TYPEDEF_(0xc00d1b72) +#define NS_E_NO_SCRIPT_STREAM _HRESULT_TYPEDEF_(0xc00d1b73) +#define NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING _HRESULT_TYPEDEF_(0xc00d1b74) +#define NS_E_INVALIDPACKETSIZE _HRESULT_TYPEDEF_(0xc00d1b75) +#define NS_E_PLUGIN_CLSID_INVALID _HRESULT_TYPEDEF_(0xc00d1b76) +#define NS_E_UNSUPPORTED_ARCHIVETYPE _HRESULT_TYPEDEF_(0xc00d1b77) +#define NS_E_UNSUPPORTED_ARCHIVEOPERATION _HRESULT_TYPEDEF_(0xc00d1b78) +#define NS_E_ARCHIVE_FILENAME_NOTSET _HRESULT_TYPEDEF_(0xc00d1b79) +#define NS_E_SOURCEGROUP_NOTPREPARED _HRESULT_TYPEDEF_(0xc00d1b7a) +#define NS_E_PROFILE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b7b) +#define NS_E_INCORRECTCLIPSETTINGS _HRESULT_TYPEDEF_(0xc00d1b7c) +#define NS_E_NOSTATSAVAILABLE _HRESULT_TYPEDEF_(0xc00d1b7d) +#define NS_E_NOTARCHIVING _HRESULT_TYPEDEF_(0xc00d1b7e) +#define NS_E_INVALIDCALL_WHILE_ENCODER_STOPPED _HRESULT_TYPEDEF_(0xc00d1b7f) +#define NS_E_NOSOURCEGROUPS _HRESULT_TYPEDEF_(0xc00d1b80) +#define NS_E_INVALIDINPUTFPS _HRESULT_TYPEDEF_(0xc00d1b81) +#define NS_E_NO_DATAVIEW_SUPPORT _HRESULT_TYPEDEF_(0xc00d1b82) +#define NS_E_CODEC_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d1b83) +#define NS_E_ARCHIVE_SAME_AS_INPUT _HRESULT_TYPEDEF_(0xc00d1b84) +#define NS_E_SOURCE_NOTSPECIFIED _HRESULT_TYPEDEF_(0xc00d1b85) +#define NS_E_NO_REALTIME_TIMECOMPRESSION _HRESULT_TYPEDEF_(0xc00d1b86) +#define NS_E_UNSUPPORTED_ENCODER_DEVICE _HRESULT_TYPEDEF_(0xc00d1b87) +#define NS_E_UNEXPECTED_DISPLAY_SETTINGS _HRESULT_TYPEDEF_(0xc00d1b88) +#define NS_E_NO_AUDIODATA _HRESULT_TYPEDEF_(0xc00d1b89) +#define NS_E_INPUTSOURCE_PROBLEM _HRESULT_TYPEDEF_(0xc00d1b8a) +#define NS_E_WME_VERSION_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b8b) +#define NS_E_NO_REALTIME_PREPROCESS _HRESULT_TYPEDEF_(0xc00d1b8c) +#define NS_E_NO_REPEAT_PREPROCESS _HRESULT_TYPEDEF_(0xc00d1b8d) +#define NS_E_CANNOT_PAUSE_LIVEBROADCAST _HRESULT_TYPEDEF_(0xc00d1b8e) +#define NS_E_DRM_PROFILE_NOT_SET _HRESULT_TYPEDEF_(0xc00d1b8f) +#define NS_E_DUPLICATE_DRMPROFILE _HRESULT_TYPEDEF_(0xc00d1b90) +#define NS_E_INVALID_DEVICE _HRESULT_TYPEDEF_(0xc00d1b91) +#define NS_E_SPEECHEDL_ON_NON_MIXEDMODE _HRESULT_TYPEDEF_(0xc00d1b92) +#define NS_E_DRM_PASSWORD_TOO_LONG _HRESULT_TYPEDEF_(0xc00d1b93) +#define NS_E_DEVCONTROL_FAILED_SEEK _HRESULT_TYPEDEF_(0xc00d1b94) +#define NS_E_INTERLACE_REQUIRE_SAMESIZE _HRESULT_TYPEDEF_(0xc00d1b95) +#define NS_E_TOO_MANY_DEVICECONTROL _HRESULT_TYPEDEF_(0xc00d1b96) +#define NS_E_NO_MULTIPASS_FOR_LIVEDEVICE _HRESULT_TYPEDEF_(0xc00d1b97) +#define NS_E_MISSING_AUDIENCE _HRESULT_TYPEDEF_(0xc00d1b98) +#define NS_E_AUDIENCE_CONTENTTYPE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b99) +#define NS_E_MISSING_SOURCE_INDEX _HRESULT_TYPEDEF_(0xc00d1b9a) +#define NS_E_NUM_LANGUAGE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b9b) +#define NS_E_LANGUAGE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b9c) +#define NS_E_VBRMODE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1b9d) +#define NS_E_INVALID_INPUT_AUDIENCE_INDEX _HRESULT_TYPEDEF_(0xc00d1b9e) +#define NS_E_INVALID_INPUT_LANGUAGE _HRESULT_TYPEDEF_(0xc00d1b9f) +#define NS_E_INVALID_INPUT_STREAM _HRESULT_TYPEDEF_(0xc00d1ba0) +#define NS_E_EXPECT_MONO_WAV_INPUT _HRESULT_TYPEDEF_(0xc00d1ba1) +#define NS_E_INPUT_WAVFORMAT_MISMATCH _HRESULT_TYPEDEF_(0xc00d1ba2) +#define NS_E_RECORDQ_DISK_FULL _HRESULT_TYPEDEF_(0xc00d1ba3) +#define NS_E_NO_PAL_INVERSE_TELECINE _HRESULT_TYPEDEF_(0xc00d1ba4) +#define NS_E_ACTIVE_SG_DEVICE_DISCONNECTED _HRESULT_TYPEDEF_(0xc00d1ba5) +#define NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED _HRESULT_TYPEDEF_(0xc00d1ba6) +#define NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER _HRESULT_TYPEDEF_(0xc00d1ba7) +#define NS_E_INPUT_DOESNOT_SUPPORT_SMPTE _HRESULT_TYPEDEF_(0xc00d1ba8) +#define NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS _HRESULT_TYPEDEF_(0xc00d1ba9) +#define NS_E_BAD_CONTENTEDL _HRESULT_TYPEDEF_(0xc00d1baa) +#define NS_E_INTERLACEMODE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1bab) +#define NS_E_NONSQUAREPIXELMODE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1bac) +#define NS_E_SMPTEMODE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1bad) +#define NS_E_END_OF_TAPE _HRESULT_TYPEDEF_(0xc00d1bae) +#define NS_E_NO_MEDIA_IN_AUDIENCE _HRESULT_TYPEDEF_(0xc00d1baf) +#define NS_E_NO_AUDIENCES _HRESULT_TYPEDEF_(0xc00d1bb0) +#define NS_E_NO_AUDIO_COMPAT _HRESULT_TYPEDEF_(0xc00d1bb1) +#define NS_E_INVALID_VBR_COMPAT _HRESULT_TYPEDEF_(0xc00d1bb2) +#define NS_E_NO_PROFILE_NAME _HRESULT_TYPEDEF_(0xc00d1bb3) +#define NS_E_INVALID_VBR_WITH_UNCOMP _HRESULT_TYPEDEF_(0xc00d1bb4) +#define NS_E_MULTIPLE_VBR_AUDIENCES _HRESULT_TYPEDEF_(0xc00d1bb5) +#define NS_E_UNCOMP_COMP_COMBINATION _HRESULT_TYPEDEF_(0xc00d1bb6) +#define NS_E_MULTIPLE_AUDIO_CODECS _HRESULT_TYPEDEF_(0xc00d1bb7) +#define NS_E_MULTIPLE_AUDIO_FORMATS _HRESULT_TYPEDEF_(0xc00d1bb8) +#define NS_E_AUDIO_BITRATE_STEPDOWN _HRESULT_TYPEDEF_(0xc00d1bb9) +#define NS_E_INVALID_AUDIO_PEAKRATE _HRESULT_TYPEDEF_(0xc00d1bba) +#define NS_E_INVALID_AUDIO_PEAKRATE_2 _HRESULT_TYPEDEF_(0xc00d1bbb) +#define NS_E_INVALID_AUDIO_BUFFERMAX _HRESULT_TYPEDEF_(0xc00d1bbc) +#define NS_E_MULTIPLE_VIDEO_CODECS _HRESULT_TYPEDEF_(0xc00d1bbd) +#define NS_E_MULTIPLE_VIDEO_SIZES _HRESULT_TYPEDEF_(0xc00d1bbe) +#define NS_E_INVALID_VIDEO_BITRATE _HRESULT_TYPEDEF_(0xc00d1bbf) +#define NS_E_VIDEO_BITRATE_STEPDOWN _HRESULT_TYPEDEF_(0xc00d1bc0) +#define NS_E_INVALID_VIDEO_PEAKRATE _HRESULT_TYPEDEF_(0xc00d1bc1) +#define NS_E_INVALID_VIDEO_PEAKRATE_2 _HRESULT_TYPEDEF_(0xc00d1bc2) +#define NS_E_INVALID_VIDEO_WIDTH _HRESULT_TYPEDEF_(0xc00d1bc3) +#define NS_E_INVALID_VIDEO_HEIGHT _HRESULT_TYPEDEF_(0xc00d1bc4) +#define NS_E_INVALID_VIDEO_FPS _HRESULT_TYPEDEF_(0xc00d1bc5) +#define NS_E_INVALID_VIDEO_KEYFRAME _HRESULT_TYPEDEF_(0xc00d1bc6) +#define NS_E_INVALID_VIDEO_IQUALITY _HRESULT_TYPEDEF_(0xc00d1bc7) +#define NS_E_INVALID_VIDEO_CQUALITY _HRESULT_TYPEDEF_(0xc00d1bc8) +#define NS_E_INVALID_VIDEO_BUFFER _HRESULT_TYPEDEF_(0xc00d1bc9) +#define NS_E_INVALID_VIDEO_BUFFERMAX _HRESULT_TYPEDEF_(0xc00d1bca) +#define NS_E_INVALID_VIDEO_BUFFERMAX_2 _HRESULT_TYPEDEF_(0xc00d1bcb) +#define NS_E_INVALID_VIDEO_WIDTH_ALIGN _HRESULT_TYPEDEF_(0xc00d1bcc) +#define NS_E_INVALID_VIDEO_HEIGHT_ALIGN _HRESULT_TYPEDEF_(0xc00d1bcd) +#define NS_E_MULTIPLE_SCRIPT_BITRATES _HRESULT_TYPEDEF_(0xc00d1bce) +#define NS_E_INVALID_SCRIPT_BITRATE _HRESULT_TYPEDEF_(0xc00d1bcf) +#define NS_E_MULTIPLE_FILE_BITRATES _HRESULT_TYPEDEF_(0xc00d1bd0) +#define NS_E_INVALID_FILE_BITRATE _HRESULT_TYPEDEF_(0xc00d1bd1) +#define NS_E_SAME_AS_INPUT_COMBINATION _HRESULT_TYPEDEF_(0xc00d1bd2) +#define NS_E_SOURCE_CANNOT_LOOP _HRESULT_TYPEDEF_(0xc00d1bd3) +#define NS_E_INVALID_FOLDDOWN_COEFFICIENTS _HRESULT_TYPEDEF_(0xc00d1bd4) +#define NS_E_DRMPROFILE_NOTFOUND _HRESULT_TYPEDEF_(0xc00d1bd5) +#define NS_E_INVALID_TIMECODE _HRESULT_TYPEDEF_(0xc00d1bd6) +#define NS_E_NO_AUDIO_TIMECOMPRESSION _HRESULT_TYPEDEF_(0xc00d1bd7) +#define NS_E_NO_TWOPASS_TIMECOMPRESSION _HRESULT_TYPEDEF_(0xc00d1bd8) +#define NS_E_TIMECODE_REQUIRES_VIDEOSTREAM _HRESULT_TYPEDEF_(0xc00d1bd9) +#define NS_E_NO_MBR_WITH_TIMECODE _HRESULT_TYPEDEF_(0xc00d1bda) +#define NS_E_INVALID_INTERLACEMODE _HRESULT_TYPEDEF_(0xc00d1bdb) +#define NS_E_INVALID_INTERLACE_COMPAT _HRESULT_TYPEDEF_(0xc00d1bdc) +#define NS_E_INVALID_NONSQUAREPIXEL_COMPAT _HRESULT_TYPEDEF_(0xc00d1bdd) +#define NS_E_INVALID_SOURCE_WITH_DEVICE_CONTROL _HRESULT_TYPEDEF_(0xc00d1bde) +#define NS_E_CANNOT_GENERATE_BROADCAST_INFO_FOR_QUALITYVBR _HRESULT_TYPEDEF_(0xc00d1bdf) +#define NS_E_EXCEED_MAX_DRM_PROFILE_LIMIT _HRESULT_TYPEDEF_(0xc00d1be0) +#define NS_E_DEVICECONTROL_UNSTABLE _HRESULT_TYPEDEF_(0xc00d1be1) +#define NS_E_INVALID_PIXEL_ASPECT_RATIO _HRESULT_TYPEDEF_(0xc00d1be2) +#define NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH _HRESULT_TYPEDEF_(0xc00d1be3) +#define NS_E_INVALID_PROFILE_CONTENTTYPE _HRESULT_TYPEDEF_(0xc00d1be4) +#define NS_E_TRANSFORM_PLUGIN_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d1be5) +#define NS_E_TRANSFORM_PLUGIN_INVALID _HRESULT_TYPEDEF_(0xc00d1be6) +#define NS_E_EDL_REQUIRED_FOR_DEVICE_MULTIPASS _HRESULT_TYPEDEF_(0xc00d1be7) +#define NS_E_INVALID_VIDEO_WIDTH_FOR_INTERLACED_ENCODING _HRESULT_TYPEDEF_(0xc00d1be8) +#define NS_E_MARKIN_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d1be9) + +/* DRM errors */ +#define NS_E_DRM_INVALID_APPLICATION _HRESULT_TYPEDEF_(0xc00d2711) +#define NS_E_DRM_LICENSE_STORE_ERROR _HRESULT_TYPEDEF_(0xc00d2712) +#define NS_E_DRM_SECURE_STORE_ERROR _HRESULT_TYPEDEF_(0xc00d2713) +#define NS_E_DRM_LICENSE_STORE_SAVE_ERROR _HRESULT_TYPEDEF_(0xc00d2714) +#define NS_E_DRM_SECURE_STORE_UNLOCK_ERROR _HRESULT_TYPEDEF_(0xc00d2715) +#define NS_E_DRM_INVALID_CONTENT _HRESULT_TYPEDEF_(0xc00d2716) +#define NS_E_DRM_UNABLE_TO_OPEN_LICENSE _HRESULT_TYPEDEF_(0xc00d2717) +#define NS_E_DRM_INVALID_LICENSE _HRESULT_TYPEDEF_(0xc00d2718) +#define NS_E_DRM_INVALID_MACHINE _HRESULT_TYPEDEF_(0xc00d2719) +#define NS_E_DRM_ENUM_LICENSE_FAILED _HRESULT_TYPEDEF_(0xc00d271b) +#define NS_E_DRM_INVALID_LICENSE_REQUEST _HRESULT_TYPEDEF_(0xc00d271c) +#define NS_E_DRM_UNABLE_TO_INITIALIZE _HRESULT_TYPEDEF_(0xc00d271d) +#define NS_E_DRM_UNABLE_TO_ACQUIRE_LICENSE _HRESULT_TYPEDEF_(0xc00d271e) +#define NS_E_DRM_INVALID_LICENSE_ACQUIRED _HRESULT_TYPEDEF_(0xc00d271f) +#define NS_E_DRM_NO_RIGHTS _HRESULT_TYPEDEF_(0xc00d2720) +#define NS_E_DRM_KEY_ERROR _HRESULT_TYPEDEF_(0xc00d2721) +#define NS_E_DRM_ENCRYPT_ERROR _HRESULT_TYPEDEF_(0xc00d2722) +#define NS_E_DRM_DECRYPT_ERROR _HRESULT_TYPEDEF_(0xc00d2723) +#define NS_E_DRM_LICENSE_INVALID_XML _HRESULT_TYPEDEF_(0xc00d2725) +#define NS_S_DRM_LICENSE_ACQUIRED _HRESULT_TYPEDEF_(0x000d2726) +#define NS_S_DRM_INDIVIDUALIZED _HRESULT_TYPEDEF_(0x000d2727) +#define NS_E_DRM_NEEDS_INDIVIDUALIZATION _HRESULT_TYPEDEF_(0xc00d2728) +#define NS_E_DRM_ALREADY_INDIVIDUALIZED _HRESULT_TYPEDEF_(0xc00d2729) +#define NS_E_DRM_ACTION_NOT_QUERIED _HRESULT_TYPEDEF_(0xc00d272a) +#define NS_E_DRM_ACQUIRING_LICENSE _HRESULT_TYPEDEF_(0xc00d272b) +#define NS_E_DRM_INDIVIDUALIZING _HRESULT_TYPEDEF_(0xc00d272c) +#define NS_E_BACKUP_RESTORE_FAILURE _HRESULT_TYPEDEF_(0xc00d272d) +#define NS_E_BACKUP_RESTORE_BAD_REQUEST_ID _HRESULT_TYPEDEF_(0xc00d272e) +#define NS_E_DRM_PARAMETERS_MISMATCHED _HRESULT_TYPEDEF_(0xc00d272f) +#define NS_E_DRM_UNABLE_TO_CREATE_LICENSE_OBJECT _HRESULT_TYPEDEF_(0xc00d2730) +#define NS_E_DRM_UNABLE_TO_CREATE_INDI_OBJECT _HRESULT_TYPEDEF_(0xc00d2731) +#define NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT _HRESULT_TYPEDEF_(0xc00d2732) +#define NS_E_DRM_UNABLE_TO_CREATE_DECRYPT_OBJECT _HRESULT_TYPEDEF_(0xc00d2733) +#define NS_E_DRM_UNABLE_TO_CREATE_PROPERTIES_OBJECT _HRESULT_TYPEDEF_(0xc00d2734) +#define NS_E_DRM_UNABLE_TO_CREATE_BACKUP_OBJECT _HRESULT_TYPEDEF_(0xc00d2735) +#define NS_E_DRM_INDIVIDUALIZE_ERROR _HRESULT_TYPEDEF_(0xc00d2736) +#define NS_E_DRM_LICENSE_OPEN_ERROR _HRESULT_TYPEDEF_(0xc00d2737) +#define NS_E_DRM_LICENSE_CLOSE_ERROR _HRESULT_TYPEDEF_(0xc00d2738) +#define NS_E_DRM_GET_LICENSE_ERROR _HRESULT_TYPEDEF_(0xc00d2739) +#define NS_E_DRM_QUERY_ERROR _HRESULT_TYPEDEF_(0xc00d273a) +#define NS_E_DRM_REPORT_ERROR _HRESULT_TYPEDEF_(0xc00d273b) +#define NS_E_DRM_GET_LICENSESTRING_ERROR _HRESULT_TYPEDEF_(0xc00d273c) +#define NS_E_DRM_GET_CONTENTSTRING_ERROR _HRESULT_TYPEDEF_(0xc00d273d) +#define NS_E_DRM_MONITOR_ERROR _HRESULT_TYPEDEF_(0xc00d273e) +#define NS_E_DRM_UNABLE_TO_SET_PARAMETER _HRESULT_TYPEDEF_(0xc00d273f) +#define NS_E_DRM_INVALID_APPDATA _HRESULT_TYPEDEF_(0xc00d2740) +#define NS_E_DRM_INVALID_APPDATA_VERSION _HRESULT_TYPEDEF_(0xc00d2741) +#define NS_E_DRM_BACKUP_EXISTS _HRESULT_TYPEDEF_(0xc00d2742) +#define NS_E_DRM_BACKUP_CORRUPT _HRESULT_TYPEDEF_(0xc00d2743) +#define NS_E_DRM_BACKUPRESTORE_BUSY _HRESULT_TYPEDEF_(0xc00d2744) +#define NS_E_BACKUP_RESTORE_BAD_DATA _HRESULT_TYPEDEF_(0xc00d2745) +#define NS_S_DRM_MONITOR_CANCELLED _HRESULT_TYPEDEF_(0x000d2746) +#define NS_S_DRM_ACQUIRE_CANCELLED _HRESULT_TYPEDEF_(0x000d2747) +#define NS_E_DRM_LICENSE_UNUSABLE _HRESULT_TYPEDEF_(0xc00d2748) +#define NS_E_DRM_INVALID_PROPERTY _HRESULT_TYPEDEF_(0xc00d2749) +#define NS_E_DRM_SECURE_STORE_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d274a) +#define NS_E_DRM_CACHED_CONTENT_ERROR _HRESULT_TYPEDEF_(0xc00d274b) +#define NS_E_DRM_INDIVIDUALIZATION_INCOMPLETE _HRESULT_TYPEDEF_(0xc00d274c) +#define NS_E_DRM_DRIVER_AUTH_FAILURE _HRESULT_TYPEDEF_(0xc00d274d) +#define NS_E_DRM_NEED_UPGRADE_MSSAP _HRESULT_TYPEDEF_(0xc00d274e) +#define NS_E_DRM_REOPEN_CONTENT _HRESULT_TYPEDEF_(0xc00d274f) +#define NS_E_DRM_DRIVER_DIGIOUT_FAILURE _HRESULT_TYPEDEF_(0xc00d2750) +#define NS_E_DRM_INVALID_SECURESTORE_PASSWORD _HRESULT_TYPEDEF_(0xc00d2751) +#define NS_E_DRM_APPCERT_REVOKED _HRESULT_TYPEDEF_(0xc00d2752) +#define NS_E_DRM_RESTORE_FRAUD _HRESULT_TYPEDEF_(0xc00d2753) +#define NS_E_DRM_HARDWARE_INCONSISTENT _HRESULT_TYPEDEF_(0xc00d2754) +#define NS_E_DRM_SDMI_TRIGGER _HRESULT_TYPEDEF_(0xc00d2755) +#define NS_E_DRM_SDMI_NOMORECOPIES _HRESULT_TYPEDEF_(0xc00d2756) +#define NS_E_DRM_UNABLE_TO_CREATE_HEADER_OBJECT _HRESULT_TYPEDEF_(0xc00d2757) +#define NS_E_DRM_UNABLE_TO_CREATE_KEYS_OBJECT _HRESULT_TYPEDEF_(0xc00d2758) +#define NS_E_DRM_LICENSE_NOTACQUIRED _HRESULT_TYPEDEF_(0xc00d2759) +#define NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT _HRESULT_TYPEDEF_(0xc00d275a) +#define NS_E_DRM_UNABLE_TO_CREATE_STATE_DATA_OBJECT _HRESULT_TYPEDEF_(0xc00d275b) +#define NS_E_DRM_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0xc00d275c) +#define NS_E_DRM_UNSUPPORTED_PROPERTY _HRESULT_TYPEDEF_(0xc00d275d) +#define NS_E_DRM_ERROR_BAD_NET_RESP _HRESULT_TYPEDEF_(0xc00d275e) +#define NS_E_DRM_STORE_NOTALLSTORED _HRESULT_TYPEDEF_(0xc00d275f) +#define NS_E_DRM_SECURITY_COMPONENT_SIGNATURE_INVALID _HRESULT_TYPEDEF_(0xc00d2760) +#define NS_E_DRM_INVALID_DATA _HRESULT_TYPEDEF_(0xc00d2761) +#define NS_E_DRM_POLICY_DISABLE_ONLINE _HRESULT_TYPEDEF_(0xc00d2762) +#define NS_E_DRM_UNABLE_TO_CREATE_AUTHENTICATION_OBJECT _HRESULT_TYPEDEF_(0xc00d2763) +#define NS_E_DRM_NOT_CONFIGURED _HRESULT_TYPEDEF_(0xc00d2764) +#define NS_E_DRM_DEVICE_ACTIVATION_CANCELED _HRESULT_TYPEDEF_(0xc00d2765) +#define NS_E_BACKUP_RESTORE_TOO_MANY_RESETS _HRESULT_TYPEDEF_(0xc00d2766) +#define NS_E_DRM_DEBUGGING_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d2767) +#define NS_E_DRM_OPERATION_CANCELED _HRESULT_TYPEDEF_(0xc00d2768) +#define NS_E_DRM_RESTRICTIONS_NOT_RETRIEVED _HRESULT_TYPEDEF_(0xc00d2769) +#define NS_E_DRM_UNABLE_TO_CREATE_PLAYLIST_OBJECT _HRESULT_TYPEDEF_(0xc00d276a) +#define NS_E_DRM_UNABLE_TO_CREATE_PLAYLIST_BURN_OBJECT _HRESULT_TYPEDEF_(0xc00d276b) +#define NS_E_DRM_UNABLE_TO_CREATE_DEVICE_REGISTRATION_OBJECT _HRESULT_TYPEDEF_(0xc00d276c) +#define NS_E_DRM_UNABLE_TO_CREATE_METERING_OBJECT _HRESULT_TYPEDEF_(0xc00d276d) +#define NS_S_DRM_BURNABLE_TRACK _HRESULT_TYPEDEF_(0x000d276e) +#define NS_S_DRM_BURNABLE_TRACK_WITH_PLAYLIST_RESTRICTION _HRESULT_TYPEDEF_(0x000d276f) +#define NS_E_DRM_TRACK_EXCEEDED_PLAYLIST_RESTICTION _HRESULT_TYPEDEF_(0xc00d2770) +#define NS_E_DRM_TRACK_EXCEEDED_TRACKBURN_RESTRICTION _HRESULT_TYPEDEF_(0xc00d2771) +#define NS_E_DRM_UNABLE_TO_GET_DEVICE_CERT _HRESULT_TYPEDEF_(0xc00d2772) +#define NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK _HRESULT_TYPEDEF_(0xc00d2773) +#define NS_E_DRM_UNABLE_TO_SET_SECURE_CLOCK _HRESULT_TYPEDEF_(0xc00d2774) +#define NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK_FROM_SERVER _HRESULT_TYPEDEF_(0xc00d2775) +#define NS_E_DRM_POLICY_METERING_DISABLED _HRESULT_TYPEDEF_(0xc00d2776) +#define NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2777) +#define NS_E_DRM_SDK_VERSIONMISMATCH _HRESULT_TYPEDEF_(0xc00d2778) +#define NS_E_DRM_LIC_NEEDS_DEVICE_CLOCK_SET _HRESULT_TYPEDEF_(0xc00d2779) +#define NS_E_LICENSE_HEADER_MISSING_URL _HRESULT_TYPEDEF_(0xc00d277a) +#define NS_E_DEVICE_NOT_WMDRM_DEVICE _HRESULT_TYPEDEF_(0xc00d277b) +#define NS_E_DRM_INVALID_APPCERT _HRESULT_TYPEDEF_(0xc00d277c) +#define NS_E_DRM_PROTOCOL_FORCEFUL_TERMINATION_ON_PETITION _HRESULT_TYPEDEF_(0xc00d277d) +#define NS_E_DRM_PROTOCOL_FORCEFUL_TERMINATION_ON_CHALLENGE _HRESULT_TYPEDEF_(0xc00d277e) +#define NS_E_DRM_CHECKPOINT_FAILED _HRESULT_TYPEDEF_(0xc00d277f) +#define NS_E_DRM_BB_UNABLE_TO_INITIALIZE _HRESULT_TYPEDEF_(0xc00d2780) +#define NS_E_DRM_UNABLE_TO_LOAD_HARDWARE_ID _HRESULT_TYPEDEF_(0xc00d2781) +#define NS_E_DRM_UNABLE_TO_OPEN_DATA_STORE _HRESULT_TYPEDEF_(0xc00d2782) +#define NS_E_DRM_DATASTORE_CORRUPT _HRESULT_TYPEDEF_(0xc00d2783) +#define NS_E_DRM_UNABLE_TO_CREATE_INMEMORYSTORE_OBJECT _HRESULT_TYPEDEF_(0xc00d2784) +#define NS_E_DRM_STUBLIB_REQUIRED _HRESULT_TYPEDEF_(0xc00d2785) +#define NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT _HRESULT_TYPEDEF_(0xc00d2786) +#define NS_E_DRM_MIGRATION_TARGET_NOT_ONLINE _HRESULT_TYPEDEF_(0xc00d2787) +#define NS_E_DRM_INVALID_MIGRATION_IMAGE _HRESULT_TYPEDEF_(0xc00d2788) +#define NS_E_DRM_MIGRATION_TARGET_STATES_CORRUPTED _HRESULT_TYPEDEF_(0xc00d2789) +#define NS_E_DRM_MIGRATION_IMPORTER_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d278a) +#define NS_DRM_E_MIGRATION_UPGRADE_WITH_DIFF_SID _HRESULT_TYPEDEF_(0xc00d278b) +#define NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE _HRESULT_TYPEDEF_(0xc00d278c) +#define NS_DRM_E_MIGRATION_TARGET_MACHINE_LESS_THAN_LH _HRESULT_TYPEDEF_(0xc00d278d) +#define NS_DRM_E_MIGRATION_IMAGE_ALREADY_EXISTS _HRESULT_TYPEDEF_(0xc00d278e) +#define NS_E_DRM_HARDWAREID_MISMATCH _HRESULT_TYPEDEF_(0xc00d278f) +#define NS_E_INVALID_DRMV2CLT_STUBLIB _HRESULT_TYPEDEF_(0xc00d2790) +#define NS_E_DRM_MIGRATION_INVALID_LEGACYV2_DATA _HRESULT_TYPEDEF_(0xc00d2791) +#define NS_E_DRM_MIGRATION_LICENSE_ALREADY_EXISTS _HRESULT_TYPEDEF_(0xc00d2792) +#define NS_E_DRM_MIGRATION_INVALID_LEGACYV2_SST_PASSWORD _HRESULT_TYPEDEF_(0xc00d2793) +#define NS_E_DRM_MIGRATION_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d2794) +#define NS_E_DRM_UNABLE_TO_CREATE_MIGRATION_IMPORTER_OBJECT _HRESULT_TYPEDEF_(0xc00d2795) +#define NS_E_DRM_CHECKPOINT_MISMATCH _HRESULT_TYPEDEF_(0xc00d2796) +#define NS_E_DRM_CHECKPOINT_CORRUPT _HRESULT_TYPEDEF_(0xc00d2797) +#define NS_E_REG_FLUSH_FAILURE _HRESULT_TYPEDEF_(0xc00d2798) +#define NS_E_HDS_KEY_MISMATCH _HRESULT_TYPEDEF_(0xc00d2799) +#define NS_E_DRM_MIGRATION_OPERATION_CANCELLED _HRESULT_TYPEDEF_(0xc00d279a) +#define NS_E_DRM_MIGRATION_OBJECT_IN_USE _HRESULT_TYPEDEF_(0xc00d279b) +#define NS_E_DRM_MALFORMED_CONTENT_HEADER _HRESULT_TYPEDEF_(0xc00d279c) +#define NS_E_DRM_LICENSE_EXPIRED _HRESULT_TYPEDEF_(0xc00d27d8) +#define NS_E_DRM_LICENSE_NOTENABLED _HRESULT_TYPEDEF_(0xc00d27d9) +#define NS_E_DRM_LICENSE_APPSECLOW _HRESULT_TYPEDEF_(0xc00d27da) +#define NS_E_DRM_STORE_NEEDINDI _HRESULT_TYPEDEF_(0xc00d27db) +#define NS_E_DRM_STORE_NOTALLOWED _HRESULT_TYPEDEF_(0xc00d27dc) +#define NS_E_DRM_LICENSE_APP_NOTALLOWED _HRESULT_TYPEDEF_(0xc00d27dd) +#define NS_S_DRM_NEEDS_INDIVIDUALIZATION _HRESULT_TYPEDEF_(0x000d27de) +#define NS_E_DRM_LICENSE_CERT_EXPIRED _HRESULT_TYPEDEF_(0xc00d27df) +#define NS_E_DRM_LICENSE_SECLOW _HRESULT_TYPEDEF_(0xc00d27e0) +#define NS_E_DRM_LICENSE_CONTENT_REVOKED _HRESULT_TYPEDEF_(0xc00d27e1) +#define NS_E_DRM_DEVICE_NOT_REGISTERED _HRESULT_TYPEDEF_(0xc00d27e2) +#define NS_E_DRM_LICENSE_NOSAP _HRESULT_TYPEDEF_(0xc00d280a) +#define NS_E_DRM_LICENSE_NOSVP _HRESULT_TYPEDEF_(0xc00d280b) +#define NS_E_DRM_LICENSE_NOWDM _HRESULT_TYPEDEF_(0xc00d280c) +#define NS_E_DRM_LICENSE_NOTRUSTEDCODEC _HRESULT_TYPEDEF_(0xc00d280d) +#define NS_E_DRM_SOURCEID_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d280e) +#define NS_E_DRM_NEEDS_UPGRADE_TEMPFILE _HRESULT_TYPEDEF_(0xc00d283d) +#define NS_E_DRM_NEED_UPGRADE_PD _HRESULT_TYPEDEF_(0xc00d283e) +#define NS_E_DRM_SIGNATURE_FAILURE _HRESULT_TYPEDEF_(0xc00d283f) +#define NS_E_DRM_LICENSE_SERVER_INFO_MISSING _HRESULT_TYPEDEF_(0xc00d2840) +#define NS_E_DRM_BUSY _HRESULT_TYPEDEF_(0xc00d2841) +#define NS_E_DRM_PD_TOO_MANY_DEVICES _HRESULT_TYPEDEF_(0xc00d2842) +#define NS_E_DRM_INDIV_FRAUD _HRESULT_TYPEDEF_(0xc00d2843) +#define NS_E_DRM_INDIV_NO_CABS _HRESULT_TYPEDEF_(0xc00d2844) +#define NS_E_DRM_INDIV_SERVICE_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d2845) +#define NS_E_DRM_RESTORE_SERVICE_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d2846) +#define NS_E_DRM_CLIENT_CODE_EXPIRED _HRESULT_TYPEDEF_(0xc00d2847) +#define NS_E_DRM_NO_UPLINK_LICENSE _HRESULT_TYPEDEF_(0xc00d2848) +#define NS_E_DRM_INVALID_KID _HRESULT_TYPEDEF_(0xc00d2849) +#define NS_E_DRM_LICENSE_INITIALIZATION_ERROR _HRESULT_TYPEDEF_(0xc00d284a) +#define NS_E_DRM_CHAIN_TOO_LONG _HRESULT_TYPEDEF_(0xc00d284c) +#define NS_E_DRM_UNSUPPORTED_ALGORITHM _HRESULT_TYPEDEF_(0xc00d284d) +#define NS_E_DRM_LICENSE_DELETION_ERROR _HRESULT_TYPEDEF_(0xc00d284e) +#define NS_E_DRM_INVALID_CERTIFICATE _HRESULT_TYPEDEF_(0xc00d28a0) +#define NS_E_DRM_CERTIFICATE_REVOKED _HRESULT_TYPEDEF_(0xc00d28a1) +#define NS_E_DRM_LICENSE_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d28a2) +#define NS_E_DRM_DEVICE_LIMIT_REACHED _HRESULT_TYPEDEF_(0xc00d28a3) +#define NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY _HRESULT_TYPEDEF_(0xc00d28a4) +#define NS_E_DRM_MUST_REGISTER _HRESULT_TYPEDEF_(0xc00d28a5) +#define NS_E_DRM_MUST_APPROVE _HRESULT_TYPEDEF_(0xc00d28a6) +#define NS_E_DRM_MUST_REVALIDATE _HRESULT_TYPEDEF_(0xc00d28a7) +#define NS_E_DRM_INVALID_PROXIMITY_RESPONSE _HRESULT_TYPEDEF_(0xc00d28a8) +#define NS_E_DRM_INVALID_SESSION _HRESULT_TYPEDEF_(0xc00d28a9) +#define NS_E_DRM_DEVICE_NOT_OPEN _HRESULT_TYPEDEF_(0xc00d28aa) +#define NS_E_DRM_DEVICE_ALREADY_REGISTERED _HRESULT_TYPEDEF_(0xc00d28ab) +#define NS_E_DRM_UNSUPPORTED_PROTOCOL_VERSION _HRESULT_TYPEDEF_(0xc00d28ac) +#define NS_E_DRM_UNSUPPORTED_ACTION _HRESULT_TYPEDEF_(0xc00d28ad) +#define NS_E_DRM_CERTIFICATE_SECURITY_LEVEL_INADEQUATE _HRESULT_TYPEDEF_(0xc00d28ae) +#define NS_E_DRM_UNABLE_TO_OPEN_PORT _HRESULT_TYPEDEF_(0xc00d28af) +#define NS_E_DRM_BAD_REQUEST _HRESULT_TYPEDEF_(0xc00d28b0) +#define NS_E_DRM_INVALID_CRL _HRESULT_TYPEDEF_(0xc00d28b1) +#define NS_E_DRM_ATTRIBUTE_TOO_LONG _HRESULT_TYPEDEF_(0xc00d28b2) +#define NS_E_DRM_EXPIRED_LICENSEBLOB _HRESULT_TYPEDEF_(0xc00d28b3) +#define NS_E_DRM_INVALID_LICENSEBLOB _HRESULT_TYPEDEF_(0xc00d28b4) +#define NS_E_DRM_INCLUSION_LIST_REQUIRED _HRESULT_TYPEDEF_(0xc00d28b5) +#define NS_E_DRM_DRMV2CLT_REVOKED _HRESULT_TYPEDEF_(0xc00d28b6) +#define NS_E_DRM_RIV_TOO_SMALL _HRESULT_TYPEDEF_(0xc00d28b7) +#define NS_E_OUTPUT_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2904) +#define NS_E_COMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2905) +#define NS_E_UNCOMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2906) +#define NS_E_ANALOG_VIDEO_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2907) +#define NS_E_COMPRESSED_DIGITAL_AUDIO_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2908) +#define NS_E_UNCOMPRESSED_DIGITAL_AUDIO_PROTECTION_LEVEL_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d2909) +#define NS_E_OUTPUT_PROTECTION_SCHEME_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d290a) + +/* Setup errors */ +#define NS_S_REBOOT_RECOMMENDED _HRESULT_TYPEDEF_(0x000d2af8) +#define NS_S_REBOOT_REQUIRED _HRESULT_TYPEDEF_(0x000d2af9) +#define NS_E_REBOOT_RECOMMENDED _HRESULT_TYPEDEF_(0xc00d2afa) +#define NS_E_REBOOT_REQUIRED _HRESULT_TYPEDEF_(0xc00d2afb) +#define NS_E_SETUP_INCOMPLETE _HRESULT_TYPEDEF_(0xc00d2afc) +#define NS_E_SETUP_DRM_MIGRATION_FAILED _HRESULT_TYPEDEF_(0xc00d2afd) +#define NS_E_SETUP_IGNORABLE_FAILURE _HRESULT_TYPEDEF_(0xc00d2afe) +#define NS_E_SETUP_DRM_MIGRATION_FAILED_AND_IGNORABLE_FAILURE _HRESULT_TYPEDEF_(0xc00d2aff) +#define NS_E_SETUP_BLOCKED _HRESULT_TYPEDEF_(0xc00d2b00) + +/* Networking errors */ +#define NS_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(0xc00d2ee0) +#define NS_E_REDIRECT_TO_PROXY _HRESULT_TYPEDEF_(0xc00d2ee1) +#define NS_E_INTERNAL_SERVER_ERROR _HRESULT_TYPEDEF_(0xc00d2ee2) +#define NS_E_BAD_REQUEST _HRESULT_TYPEDEF_(0xc00d2ee3) +#define NS_E_ERROR_FROM_PROXY _HRESULT_TYPEDEF_(0xc00d2ee4) +#define NS_E_PROXY_TIMEOUT _HRESULT_TYPEDEF_(0xc00d2ee5) +#define NS_E_SERVER_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d2ee6) +#define NS_E_REFUSED_BY_SERVER _HRESULT_TYPEDEF_(0xc00d2ee7) +#define NS_E_INCOMPATIBLE_SERVER _HRESULT_TYPEDEF_(0xc00d2ee8) +#define NS_E_MULTICAST_DISABLED _HRESULT_TYPEDEF_(0xc00d2ee9) +#define NS_E_INVALID_REDIRECT _HRESULT_TYPEDEF_(0xc00d2eea) +#define NS_E_ALL_PROTOCOLS_DISABLED _HRESULT_TYPEDEF_(0xc00d2eeb) +#define NS_E_MSBD_NO_LONGER_SUPPORTED _HRESULT_TYPEDEF_(0xc00d2eec) +#define NS_E_PROXY_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d2eed) +#define NS_E_CANNOT_CONNECT_TO_PROXY _HRESULT_TYPEDEF_(0xc00d2eee) +#define NS_E_SERVER_DNS_TIMEOUT _HRESULT_TYPEDEF_(0xc00d2eef) +#define NS_E_PROXY_DNS_TIMEOUT _HRESULT_TYPEDEF_(0xc00d2ef0) +#define NS_E_CLOSED_ON_SUSPEND _HRESULT_TYPEDEF_(0xc00d2ef1) +#define NS_E_CANNOT_READ_PLAYLIST_FROM_MEDIASERVER _HRESULT_TYPEDEF_(0xc00d2ef2) +#define NS_E_SESSION_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d2ef3) +#define NS_E_REQUIRE_STREAMING_CLIENT _HRESULT_TYPEDEF_(0xc00d2ef4) +#define NS_E_PLAYLIST_ENTRY_HAS_CHANGED _HRESULT_TYPEDEF_(0xc00d2ef5) +#define NS_E_PROXY_ACCESSDENIED _HRESULT_TYPEDEF_(0xc00d2ef6) +#define NS_E_PROXY_SOURCE_ACCESSDENIED _HRESULT_TYPEDEF_(0xc00d2ef7) +#define NS_E_NETWORK_SINK_WRITE _HRESULT_TYPEDEF_(0xc00d2ef8) +#define NS_E_FIREWALL _HRESULT_TYPEDEF_(0xc00d2ef9) +#define NS_E_MMS_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d2efa) +#define NS_E_SERVER_ACCESSDENIED _HRESULT_TYPEDEF_(0xc00d2efb) +#define NS_E_RESOURCE_GONE _HRESULT_TYPEDEF_(0xc00d2efc) +#define NS_E_NO_EXISTING_PACKETIZER _HRESULT_TYPEDEF_(0xc00d2efd) +#define NS_E_BAD_SYNTAX_IN_SERVER_RESPONSE _HRESULT_TYPEDEF_(0xc00d2efe) +#define NS_I_RECONNECTED _HRESULT_TYPEDEF_(0x400d2eff) +#define NS_E_RESET_SOCKET_CONNECTION _HRESULT_TYPEDEF_(0xc00d2f00) +#define NS_I_NOLOG_STOP _HRESULT_TYPEDEF_(0x400d2f01) +#define NS_E_TOO_MANY_HOPS _HRESULT_TYPEDEF_(0xc00d2f02) +#define NS_I_EXISTING_PACKETIZER _HRESULT_TYPEDEF_(0x400d2f03) +#define NS_I_MANUAL_PROXY _HRESULT_TYPEDEF_(0x400d2f04) +#define NS_E_TOO_MUCH_DATA_FROM_SERVER _HRESULT_TYPEDEF_(0xc00d2f05) +#define NS_E_CONNECT_TIMEOUT _HRESULT_TYPEDEF_(0xc00d2f06) +#define NS_E_PROXY_CONNECT_TIMEOUT _HRESULT_TYPEDEF_(0xc00d2f07) +#define NS_E_SESSION_INVALID _HRESULT_TYPEDEF_(0xc00d2f08) +#define NS_S_EOSRECEDING _HRESULT_TYPEDEF_(0x000d2f09) +#define NS_E_PACKETSINK_UNKNOWN_FEC_STREAM _HRESULT_TYPEDEF_(0xc00d2f0a) +#define NS_E_PUSH_CANNOTCONNECT _HRESULT_TYPEDEF_(0xc00d2f0b) +#define NS_E_INCOMPATIBLE_PUSH_SERVER _HRESULT_TYPEDEF_(0xc00d2f0c) +#define NS_S_CHANGENOTICE _HRESULT_TYPEDEF_(0x000d2f0d) + +/* Client media service errors */ +#define NS_E_END_OF_PLAYLIST _HRESULT_TYPEDEF_(0xc00d32c8) +#define NS_E_USE_FILE_SOURCE _HRESULT_TYPEDEF_(0xc00d32c9) +#define NS_E_PROPERTY_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d32ca) +#define NS_E_PROPERTY_READ_ONLY _HRESULT_TYPEDEF_(0xc00d32cc) +#define NS_E_TABLE_KEY_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d32cd) +#define NS_E_INVALID_QUERY_OPERATOR _HRESULT_TYPEDEF_(0xc00d32cf) +#define NS_E_INVALID_QUERY_PROPERTY _HRESULT_TYPEDEF_(0xc00d32d0) +#define NS_E_PROPERTY_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d32d2) +#define NS_E_SCHEMA_CLASSIFY_FAILURE _HRESULT_TYPEDEF_(0xc00d32d4) +#define NS_E_METADATA_FORMAT_NOT_SUPPORTED _HRESULT_TYPEDEF_(0xc00d32d5) +#define NS_E_METADATA_NO_EDITING_CAPABILITY _HRESULT_TYPEDEF_(0xc00d32d6) +#define NS_E_METADATA_CANNOT_SET_LOCALE _HRESULT_TYPEDEF_(0xc00d32d7) +#define NS_E_METADATA_LANGUAGE_NOT_SUPORTED _HRESULT_TYPEDEF_(0xc00d32d8) +#define NS_E_METADATA_NO_RFC1766_NAME_FOR_LOCALE _HRESULT_TYPEDEF_(0xc00d32d9) +#define NS_E_METADATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d32da) +#define NS_E_METADATA_CACHE_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d32db) +#define NS_E_METADATA_INVALID_DOCUMENT_TYPE _HRESULT_TYPEDEF_(0xc00d32dc) +#define NS_E_METADATA_IDENTIFIER_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d32dd) +#define NS_E_METADATA_CANNOT_RETRIEVE_FROM_OFFLINE_CACHE _HRESULT_TYPEDEF_(0xc00d32de) + +#endif /* _NSERROR_H */ diff --git a/sdk/include/psdk/wmdrmsdk.idl b/sdk/include/psdk/wmdrmsdk.idl new file mode 100644 index 00000000000..8de3b35aa52 --- /dev/null +++ b/sdk/include/psdk/wmdrmsdk.idl @@ -0,0 +1,81 @@ +/* + * Copyright 2017 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; +import "ocidl.idl"; +import "mfobjects.idl"; +import "mfidl.idl"; + +typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS +{ + WORD wCompressedDigitalVideo; + WORD wUncompressedDigitalVideo; + WORD wAnalogVideo; + WORD wCompressedDigitalAudio; + WORD wUncompressedDigitalAudio; +} DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS; + +typedef struct _DRM_VIDEO_OUTPUT_PROTECTION +{ + GUID guidId; + BYTE bConfigData; +} DRM_VIDEO_OUTPUT_PROTECTION; + +typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS +{ + WORD cEntries; + DRM_VIDEO_OUTPUT_PROTECTION *rgVop; +} DRM_VIDEO_OUTPUT_PROTECTION_IDS; + +typedef struct _DRM_OPL_OUTPUT_IDS +{ + WORD cIds; + GUID *rgIds; +} DRM_OPL_OUTPUT_IDS; + +typedef struct __tagDRM_COPY_OPL +{ + WORD wMinimumCopyLevel; + DRM_OPL_OUTPUT_IDS oplIdIncludes; + DRM_OPL_OUTPUT_IDS oplIdExcludes; +} DRM_COPY_OPL; + +typedef struct __tagDRM_PLAY_OPL +{ + DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL; + DRM_OPL_OUTPUT_IDS oplIdReserved; + DRM_VIDEO_OUTPUT_PROTECTION_IDS vopi; +} DRM_PLAY_OPL; + + +[ + uuid(82435be0-f7c1-4df9-8103-eeabebf3d6e1), + version(1.0) +] +library WMDRMContentEnablerLib +{ + importlib("stdole2.tlb"); + + [ + uuid(82435bdf-f7c1-4df9-8103-eeabebf3d6e1) + ] + coclass WMDRMContentEnablerActivate + { + [default] interface IPersistStream; + }; +}; diff --git a/sdk/include/psdk/wmsdk.h b/sdk/include/psdk/wmsdk.h new file mode 100644 index 00000000000..b5528a889b3 --- /dev/null +++ b/sdk/include/psdk/wmsdk.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2016 Austin English + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* Unlikely to ever be needed on Wine, currently unimplemented */ +/* #include */ + +#include "wmsdkidl.h" + +/* Currently unimplemented */ +/* #include "asferr.h" */ +#include "nserror.h" diff --git a/sdk/include/psdk/wmsdkidl.idl b/sdk/include/psdk/wmsdkidl.idl index ddfd12bc428..e7daa226bcc 100644 --- a/sdk/include/psdk/wmsdkidl.idl +++ b/sdk/include/psdk/wmsdkidl.idl @@ -18,7 +18,7 @@ import "oaidl.idl"; import "wmsbuffer.idl"; -/* import "drmexternals.idl"; */ +import "drmexternals.idl"; typedef unsigned __int64 QWORD; @@ -183,6 +183,42 @@ typedef enum tagWMT_OFFSET_FORMAT WMT_OFFSET_FORMAT_100NS_APPROXIMATE } WMT_OFFSET_FORMAT; +typedef enum WMT_CODEC_INFO_TYPE +{ + WMT_CODECINFO_AUDIO = 0, + WMT_CODECINFO_VIDEO = 1, + WMT_CODECINFO_UNKNOWN = 0xFFFFFFFF, +} WMT_CODEC_INFO_TYPE; + +typedef enum WMT_PROXY_SETTINGS +{ + WMT_PROXY_SETTING_NONE = 0, + WMT_PROXY_SETTING_MANUAL = 1, + WMT_PROXY_SETTING_AUTO = 2, + WMT_PROXY_SETTING_BROWSER = 3, + WMT_PROXY_SETTING_MAX +} WMT_PROXY_SETTINGS; + +typedef enum tagWMT_STORAGE_FORMAT +{ + WMT_Storage_Format_MP3 = 0, + WMT_Storage_Format_V1 = 1 +} WMT_STORAGE_FORMAT; + +#include +typedef struct _WMStreamPrioritizationRecord +{ + WORD wStreamNumber; + BOOL fMandatory; +} WM_STREAM_PRIORITY_RECORD; +#include + +typedef struct _WM_PORT_NUMBER_RANGE +{ + WORD wPortBegin; + WORD wPortEnd; +} WM_PORT_NUMBER_RANGE; + typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE; [ @@ -246,6 +282,43 @@ interface IWMMutualExclusion : IWMStreamList HRESULT SetType([in] REFGUID guidType); } +[ + object, + uuid(ad694af1-f8d9-42f8-bc47-70311b0c4f9e), + pointer_default(unique), + local +] +interface IWMBandwidthSharing : IWMStreamList +{ + HRESULT GetType([out] GUID *guid); + HRESULT SetType([in] REFGUID guid); + + HRESULT GetBandwidth( + [out] DWORD *bitrate, + [out] DWORD *buffer); + + HRESULT SetBandwidth( + [in] DWORD bitrate, + [in] DWORD buffer); +}; + +[ + object, + uuid(8c1c6090-f9a8-4748-8ec3-dd1108ba1e77), + pointer_default(unique), + local +] +interface IWMStreamPrioritization : IUnknown +{ + HRESULT GetPriorityRecords( + [out] WM_STREAM_PRIORITY_RECORD *array, + [in, out] WORD *records); + + HRESULT SetPriorityRecords( + [in] WM_STREAM_PRIORITY_RECORD *array, + [in] WORD records); +} + [ object, uuid(96406Bdc-2b2b-11d3-b36b-00c04f6108ff), @@ -344,6 +417,53 @@ interface IWMProfile : IUnknown [out] IWMMutualExclusion **ppME); } +[ + object, + uuid(07e72d33-d94e-4be7-8843-60ae5ff7e5f5), + pointer_default(unique), + local +] +interface IWMProfile2 : IWMProfile +{ + HRESULT GetProfileID([out] GUID *guid); +} + +[ + object, + uuid(00ef96cc-a461-4546-8bcd-c9a28f0e06f5), + pointer_default(unique), + local +] +interface IWMProfile3 : IWMProfile2 +{ + HRESULT GetStorageFormat([out] WMT_STORAGE_FORMAT *storage); + HRESULT SetStorageFormat([in] WMT_STORAGE_FORMAT storage); + + HRESULT GetBandwidthSharingCount([out] DWORD *count); + + HRESULT GetBandwidthSharing( + [in] DWORD index, + [out] IWMBandwidthSharing **bandwidth); + + HRESULT RemoveBandwidthSharing([in] IWMBandwidthSharing *bandwidth); + + HRESULT AddBandwidthSharing([in] IWMBandwidthSharing *bandwidth); + + HRESULT CreateNewBandwidthSharing([out] IWMBandwidthSharing **bandwidth); + + HRESULT GetStreamPrioritization([out] IWMStreamPrioritization **stream); + + HRESULT SetStreamPrioritization([in] IWMStreamPrioritization *stream); + + HRESULT RemoveStreamPrioritization(); + + HRESULT CreateNewStreamPrioritization([out] IWMStreamPrioritization **stream); + + HRESULT GetExpectedPacketCount( + [in] QWORD duration, + [out] QWORD *packets); +}; + [ object, uuid(d16679f2-6ca0-472d-8d31-2f5d55aee155), @@ -549,7 +669,7 @@ interface IWMReaderAdvanced : IUnknown [in] BOOL fAllocate); HRESULT GetAllocateForStream( - [in] WORD dwSreamNum, + [in] WORD dwStreamNum, [out] BOOL *pfAllocate); HRESULT GetStatistics( @@ -1016,6 +1136,488 @@ interface IWMWriterAdvanced3 : IWMWriterAdvanced2 HRESULT SetNonBlocking(); } +[ + object, + uuid(96406bda-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMHeaderInfo : IUnknown +{ + HRESULT GetAttributeCount( + [in] WORD stream_num, + [out] WORD *attributes ); + + HRESULT GetAttributeByIndex( + [in] WORD index, + [in, out] WORD *stream_num, + [out, size_is( *name_len )] WCHAR *name, + [in, out] WORD *name_len, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is( *length )] BYTE *value, + [in, out] WORD *length ); + + HRESULT GetAttributeByName( + [in, out] WORD *stream_num, + [in] LPCWSTR name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is( *length )] BYTE *value, + [in, out] WORD *length ); + + HRESULT SetAttribute( + [in] WORD stream_num, + [in] LPCWSTR name, + [in] WMT_ATTR_DATATYPE type, + [in, size_is( length )] const BYTE *value, + [in] WORD length ); + + HRESULT GetMarkerCount( + [out] WORD *markers ); + + HRESULT GetMarker( + [in] WORD index, + [out, size_is( *marker_len )] WCHAR *marker_name, + [in, out] WORD *marker_len, + [out] QWORD *marker_time ); + + HRESULT AddMarker( + [in] LPCWSTR_WMSDK_TYPE_SAFE marker_name, + [in] QWORD marker_time ); + + HRESULT RemoveMarker( + [in] WORD index ); + + HRESULT GetScriptCount( + [out] WORD *scripts ); + + HRESULT GetScript( + [in] WORD index, + [out, size_is( *type_len )] WCHAR *type, + [in, out] WORD *type_len, + [out, size_is( *command_len )] WCHAR *command, + [in, out] WORD *command_len, + [out] QWORD *script_time ); + + HRESULT AddScript( + [in] LPCWSTR_WMSDK_TYPE_SAFE type, + [in] LPCWSTR_WMSDK_TYPE_SAFE command, + [in] QWORD script_time ); + + HRESULT RemoveScript( + [in] WORD index ); +}; + +[ + object, + uuid(15cf9781-454e-482e-b393-85fae487a810), + pointer_default(unique), + local +] +interface IWMHeaderInfo2 : IWMHeaderInfo +{ + HRESULT GetCodecInfoCount( + [out] DWORD *codec_infos ); + + HRESULT GetCodecInfo( + [in] DWORD index, + [in, out] WORD *name_len, + [out, size_is( *name_len )] WCHAR *name, + [in, out] WORD *description_len, + [out, size_is( *description_len )] WCHAR *description, + [out] WMT_CODEC_INFO_TYPE *codec_type, + [in, out] WORD *codec_info_cnt, + [out, size_is( *codec_info_cnt )] BYTE *codec_info ); +}; + +[ + object, + uuid(15cc68e3-27cc-4ecd-b222-3f5d02d80bd5), + pointer_default(unique), + local +] +interface IWMHeaderInfo3 : IWMHeaderInfo2 +{ + HRESULT GetAttributeCountEx( + [in] WORD stream_num, + [out] WORD *attributes ); + + HRESULT GetAttributeIndices( + [in] WORD stream_num, + [in] LPCWSTR name, + [in] WORD *lang_index, + [out, size_is( *count )] WORD *indices, + [in, out] WORD *count ); + + HRESULT GetAttributeByIndexEx( + [in] WORD stream_num, + [in] WORD index, + [out, size_is( *name_len )] LPWSTR name, + [in, out] WORD *name_len, + [out] WMT_ATTR_DATATYPE *type, + [out] WORD *lang_index, + [out, size_is( *data_len )] BYTE *value, + [in, out] DWORD *data_len ); + + HRESULT ModifyAttribute( + [in] WORD stream_num, + [in] WORD index, + [in] WMT_ATTR_DATATYPE type, + [in] WORD lang_index, + [in, size_is( length )] const BYTE *value, + [in] DWORD length ); + + HRESULT AddAttribute( + [in] WORD stream_num, + [in] LPCWSTR name, + [out] WORD *index, + [in] WMT_ATTR_DATATYPE type, + [in] WORD lang_index, + [in, size_is( length )] const BYTE *value, + [in] DWORD length ); + + HRESULT DeleteAttribute( + [in] WORD stream_num, + [in] WORD index ); + + HRESULT AddCodecInfo( + [in] LPCWSTR_WMSDK_TYPE_SAFE name, + [in] LPCWSTR_WMSDK_TYPE_SAFE description, + [in] WMT_CODEC_INFO_TYPE codec_type, + [in] WORD codec_info_cnt, + [in, size_is( codec_info_cnt )] BYTE *codec_info ); +}; + +[ + object, + uuid(96406bec-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMReaderNetworkConfig : IUnknown +{ + HRESULT GetBufferingTime([out] QWORD *buffering_time); + HRESULT SetBufferingTime([in] QWORD buffering_time); + + HRESULT GetUDPPortRanges( + [out, size_is( *ranges )] WM_PORT_NUMBER_RANGE *array, + [in, out] DWORD *ranges); + + HRESULT SetUDPPortRanges( + [in, size_is( ranges )] WM_PORT_NUMBER_RANGE *array, + [in] DWORD ranges); + + HRESULT GetProxySettings( + [in] const WCHAR *protocol, + [out] WMT_PROXY_SETTINGS *proxy); + + HRESULT SetProxySettings( + [in] LPCWSTR protocol, + [in] WMT_PROXY_SETTINGS proxy); + + HRESULT GetProxyHostName( + [in] const WCHAR *protocol, + [out, size_is( *size )] WCHAR *hostname, + [in, out] DWORD *size); + + HRESULT SetProxyHostName( + [in] const WCHAR *protocol, + [in] const WCHAR *hostname); + + HRESULT GetProxyPort( + [in] const WCHAR *protocol, + [out] DWORD *port); + + HRESULT SetProxyPort( + [in] const WCHAR *protocol, + [in] DWORD port); + + HRESULT GetProxyExceptionList( + [in] const WCHAR *protocol, + [out, size_is( *count )] WCHAR *exceptions, + [in, out] DWORD *count); + + HRESULT SetProxyExceptionList( + [in] const WCHAR *protocol, + [in] const WCHAR *exceptions); + + HRESULT GetProxyBypassForLocal( + [in] const WCHAR *protocol, + [out] BOOL *bypass); + + HRESULT SetProxyBypassForLocal( + [in] const WCHAR *protocol, + [in] BOOL bypass); + + HRESULT GetForceRerunAutoProxyDetection([out] BOOL *detection); + HRESULT SetForceRerunAutoProxyDetection([in] BOOL detection); + + HRESULT GetEnableMulticast([out] BOOL *multicast); + HRESULT SetEnableMulticast([in] BOOL multicast); + + HRESULT GetEnableHTTP([out] BOOL *enable); + HRESULT SetEnableHTTP([in] BOOL enable); + + HRESULT GetEnableUDP([out] BOOL *enable); + HRESULT SetEnableUDP([in] BOOL enable); + + HRESULT GetEnableTCP([out] BOOL *enable); + HRESULT SetEnableTCP([in] BOOL enable); + + HRESULT ResetProtocolRollover(); + + HRESULT GetConnectionBandwidth([out] DWORD *bandwidth); + HRESULT SetConnectionBandwidth([in] DWORD bandwidth); + + HRESULT GetNumProtocolsSupported([out] DWORD *protocols); + + HRESULT GetSupportedProtocolName( + [in] DWORD protocol_num, + [out, size_is( *size )] WCHAR *protocol, + [in, out] DWORD *size); + + HRESULT AddLoggingUrl([in] const WCHAR *url); + + HRESULT GetLoggingUrl( + [in] DWORD index, + [out, size_is( *size )] WCHAR *url, + [in, out] DWORD *size); + + HRESULT GetLoggingUrlCount([out] DWORD *count); + + HRESULT ResetLoggingUrlList(); +} + +[ + object, + uuid(d979a853-042b-4050-8387-c939db22013f), + pointer_default(unique), + local +] +interface IWMReaderNetworkConfig2 : IWMReaderNetworkConfig +{ + HRESULT GetEnableContentCaching([out] BOOL *enable); + HRESULT SetEnableContentCaching([in] BOOL enable); + + HRESULT GetEnableFastCache([out] BOOL *enable); + HRESULT SetEnableFastCache([in] BOOL enable); + + HRESULT GetAcceleratedStreamingDuration([out] QWORD *duration); + HRESULT SetAcceleratedStreamingDuration([in] QWORD duration); + + HRESULT GetAutoReconnectLimit([out] DWORD *limit); + HRESULT SetAutoReconnectLimit([in] DWORD limit); + + HRESULT GetEnableResends([out] BOOL *enable); + HRESULT SetEnableResends([in] BOOL enable); + + HRESULT GetEnableThinning([out] BOOL *enable); + HRESULT SetEnableThinning([in] BOOL enable); + + HRESULT GetMaxNetPacketSize([out] DWORD *packet_size); +} + +[ + object, + uuid(96406bed-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] + +interface IWMReaderStreamClock : IUnknown +{ + HRESULT GetTime([in] QWORD *now); + + HRESULT SetTimer([in] QWORD when, + [in] void *param, + [out] DWORD *id); + + HRESULT KillTimer([in] DWORD id); +} + +[ + object, + uuid(cdfb97ab-188f-40b3-b643-5b7903975c59), + pointer_default(unique), + local +] +interface IWMPacketSize : IUnknown +{ + HRESULT GetMaxPacketSize([out] DWORD *size); + HRESULT SetMaxPacketSize([in] DWORD size); +}; + +[ + object, + uuid(8bfc2b9e-b646-4233-a877-1c6a079669dc), + pointer_default(unique), + local +] +interface IWMPacketSize2 : IWMPacketSize +{ + HRESULT GetMinPacketSize([out] DWORD *size); + HRESULT SetMinPacketSize([in] DWORD size); +}; + +[ + object, + uuid(d2827540-3ee7-432c-b14c-dc17f085d3b3), + pointer_default(unique), + local +] +interface IWMDRMReader : IUnknown +{ + HRESULT AcquireLicense([in] DWORD flags); + HRESULT CancelLicenseAcquisition(); + + HRESULT Individualize([in] DWORD flags); + HRESULT CancelIndividualization(); + + HRESULT MonitorLicenseAcquisition(); + HRESULT CancelMonitorLicenseAcquisition(); + + HRESULT SetDRMProperty( + [in] const WCHAR *name, + [in] WMT_ATTR_DATATYPE type, + [in, size_is( length )] const BYTE *value, + [in] WORD length); + + HRESULT GetDRMProperty( + [in] const WCHAR *name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is( *length )] BYTE *value, + [in, out] WORD *length); +}; + +[ + object, + uuid(befe7a75-9f1d-4075-b9d9-a3c37bda49a0), + pointer_default(unique), + local +] +interface IWMDRMReader2 : IWMDRMReader +{ + HRESULT SetEvaluateOutputLevelLicenses([in] BOOL evaluate); + HRESULT GetPlayOutputLevels( + [out, size_is( *length )] DRM_PLAY_OPL *play, + [in, out] DWORD *length, + [out] DWORD *level); + + HRESULT GetCopyOutputLevels( + [out, size_is( *length )] DRM_COPY_OPL *copy, + [in, out] DWORD *length, + [out] DWORD *level); + + HRESULT TryNextLicense(); +}; + +[ + object, + uuid(e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8), + pointer_default(unique), + local +] +interface IWMDRMReader3 : IWMDRMReader2 +{ + HRESULT GetInclusionList( + [out] GUID **guids, + [out] DWORD *count); +}; + +[ + object, + uuid(bddc4d08-944d-4d52-a612-46c3fda07dd4), + pointer_default( unique ), + local +] +interface IWMReaderAccelerator : IUnknown +{ + HRESULT GetCodecInterface( + [in] DWORD output, + [in] REFIID riid, + [out] void **codec); + + HRESULT Notify( + [in] DWORD output, + [in] WM_MEDIA_TYPE *subtype); +}; + +[ + object, + uuid(f369e2f0-e081-4fe6-8450-b810b2f410d1), + pointer_default(unique), + local +] +interface IWMReaderTimecode : IUnknown +{ + HRESULT GetTimecodeRangeCount( + [in] WORD num, + [out] WORD *count); + + HRESULT GetTimecodeRangeBounds( + [in] WORD stream, + [in] WORD range, + [out] DWORD *start_timecode, + [out] DWORD *end_timecode); +}; + +[ + object, + uuid(fdbe5592-81a1-41ea-93bd-735cad1adc05), + pointer_default(unique), + local +] +interface IWMReaderTypeNegotiation : IUnknown +{ + HRESULT TryOutputProps( + [in] DWORD output, + [in] IWMOutputMediaProps *props); +}; + +[ + object, + uuid(df683f00-2d49-4d8e-92b7-fb19f6a0dc57), + pointer_default(unique), + local +] +interface IWMLanguageList : IUnknown +{ + HRESULT GetLanguageCount( + [out] WORD *count); + + HRESULT GetLanguageDetails( + [in] WORD index, + [out, size_is( *length )] WCHAR *language, + [in, out] WORD *length); + + HRESULT AddLanguageByRFC1766String( + [in] LPCWSTR_WMSDK_TYPE_SAFE language, + [out] WORD *index); +}; + +[ + object, + uuid(f28c0300-9baa-4477-a846-1744d9cbf533), + pointer_default(unique), + local +] +interface IWMReaderPlaylistBurn : IUnknown +{ + HRESULT InitPlaylistBurn( + [in] DWORD count, + [in] LPCWSTR_WMSDK_TYPE_SAFE *filenames, + [in] IWMStatusCallback *callback, + [in] void *context); + + HRESULT GetInitResults( + [in] DWORD count, + [out] HRESULT *stat); + + HRESULT Cancel(); + + HRESULT EndPlaylistBurn([in] HRESULT result); +}; + + cpp_quote("HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);") cpp_quote("HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**);")