https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c95f8e51d3541984953c0…
commit c95f8e51d3541984953c021d3a67d586eba9f94d
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Sun Oct 8 10:27:23 2017 +0100
[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(-)
diff --git a/sdk/include/psdk/CMakeLists.txt b/sdk/include/psdk/CMakeLists.txt
index 1b33c14a66..2f63a08e30 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 0000000000..88826ad561
--- /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 0000000000..04c82e890a
--- /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 0000000000..3c33806235
--- /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 0000000000..467535dbd8
--- /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 <mmreg.h>")
+#include <mmreg.h>
+
+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 0000000000..165cad4afd
--- /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 0000000000..00f267d513
--- /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 0000000000..8de3b35aa5
--- /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 0000000000..b5528a889b
--- /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 <winapifamily.h> */
+
+#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 ddfd12bc42..e7daa226bc 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 <pshpack2.h>
+typedef struct _WMStreamPrioritizationRecord
+{
+ WORD wStreamNumber;
+ BOOL fMandatory;
+} WM_STREAM_PRIORITY_RECORD;
+#include <poppack.h>
+
+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**);")