#include <dxva2api.h>
-typedef struct _DXVA2_PVP_SETKEY DXVA2_PVP_SETKEY; /* XXX */
+#ifndef DXVA2_E_NOT_INITIALIZED
+#define DXVA2_E_NOT_INITIALIZED ((HRESULT)0x80041000L)
+#endif
+
+#ifndef DXVA2_E_NEW_VIDEO_DEVICE
+#define DXVA2_E_NEW_VIDEO_DEVICE ((HRESULT)0x80041001L)
+#endif
+
+#ifndef DXVA2_E_VIDEO_DEVICE_LOCKED
+#define DXVA2_E_VIDEO_DEVICE_LOCKED ((HRESULT)0x80041002L)
+#endif
+
+#ifndef DXVA2_E_NOT_AVAILABLE
+#define DXVA2_E_NOT_AVAILABLE ((HRESULT)0x80041003L)
+#endif
+
typedef struct _DXVA2_DECODEBUFFERDESC {
IDirect3DSurface9 *pRenderTarget;
static const GUID IID_IDirect3DDxva2Container9 = {0x126D0349,0x4787,0x4AA6,{0x8E,0x1B,0x40,0xC1,0x77,0xC6,0x0A,0x01}};
+typedef struct DECLSPEC_ALIGN(16) _DXVA2_PVP_KEY128
+{
+ BYTE Data[16];
+} DXVA2_PVP_KEY128;
+
+typedef struct _DXVA2_PVP_SETKEY
+{
+ DXVA2_PVP_KEY128 ContentKey;
+} DXVA2_PVP_SETKEY;
+
class IDirect3DDecodeDevice9 : public IUnknown
{
public: