1 /* 2 * COPYRIGHT: This file is in the public domain. 3 * PROJECT: ReactOS kernel 4 * FILE: include/psdk/ddkernel.h 5 * PURPOSE: Directx headers 6 * PROGRAMMER: Magnus Olsen (greatlrd) 7 * 8 */ 9 10 #ifndef __DDKM_INCLUDED__ 11 #define __DDKM_INCLUDED__ 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #if defined (_WIN32) && !defined (_NO_COM) 18 DEFINE_GUID (IID_IDirectDrawKernel, 0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); 19 DEFINE_GUID (IID_IDirectDrawSurfaceKernel, 0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); 20 #endif 21 22 typedef struct _DDKERNELCAPS { 23 DWORD dwSize; 24 DWORD dwCaps; 25 DWORD dwIRQCaps; 26 } DDKERNELCAPS, *LPDDKERNELCAPS; 27 28 #define DDKERNELCAPS_SKIPFIELDS 0x00000001 29 #define DDKERNELCAPS_AUTOFLIP 0x00000002 30 #define DDKERNELCAPS_SETSTATE 0x00000004 31 #define DDKERNELCAPS_LOCK 0x00000008 32 #define DDKERNELCAPS_FLIPVIDEOPORT 0x00000010 33 #define DDKERNELCAPS_FLIPOVERLAY 0x00000020 34 #define DDKERNELCAPS_CAPTURE_SYSMEM 0x00000040 35 #define DDKERNELCAPS_CAPTURE_NONLOCALVIDMEM 0x00000080 36 #define DDKERNELCAPS_FIELDPOLARITY 0x00000100 37 #define DDKERNELCAPS_CAPTURE_INVERTED 0x00000200 38 #define DDIRQ_DISPLAY_VSYNC 0x00000001 39 #define DDIRQ_RESERVED1 0x00000002 40 #define DDIRQ_VPORT0_VSYNC 0x00000004 41 #define DDIRQ_VPORT0_LINE 0x00000008 42 #define DDIRQ_VPORT1_VSYNC 0x00000010 43 #define DDIRQ_VPORT1_LINE 0x00000020 44 #define DDIRQ_VPORT2_VSYNC 0x00000040 45 #define DDIRQ_VPORT2_LINE 0x00000080 46 #define DDIRQ_VPORT3_VSYNC 0x00000100 47 #define DDIRQ_VPORT3_LINE 0x00000200 48 #define DDIRQ_VPORT4_VSYNC 0x00000400 49 #define DDIRQ_VPORT4_LINE 0x00000800 50 #define DDIRQ_VPORT5_VSYNC 0x00001000 51 #define DDIRQ_VPORT5_LINE 0x00002000 52 #define DDIRQ_VPORT6_VSYNC 0x00004000 53 #define DDIRQ_VPORT6_LINE 0x00008000 54 #define DDIRQ_VPORT7_VSYNC 0x00010000 55 #define DDIRQ_VPORT7_LINE 0x00020000 56 #define DDIRQ_VPORT8_VSYNC 0x00040000 57 #define DDIRQ_VPORT8_LINE 0x00080000 58 #define DDIRQ_VPORT9_VSYNC 0x00010000 59 #define DDIRQ_VPORT9_LINE 0x00020000 60 61 typedef struct IDirectDrawKernel* LPDIRECTDRAWKERNEL; 62 typedef struct IDirectDrawSurfaceKernel* LPDIRECTDRAWSURFACEKERNEL; 63 64 #if defined(_WIN32) && !defined(_NO_COM) 65 66 #undef INTERFACE 67 #define INTERFACE IDirectDrawKernel 68 DECLARE_INTERFACE_ (IDirectDrawKernel, IUnknown) { 69 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; 70 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 71 STDMETHOD_(ULONG,Release) (THIS) PURE; 72 STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE; 73 STDMETHOD(ReleaseKernelHandle) (THIS) PURE; 74 }; 75 76 #undef INTERFACE 77 #define INTERFACE IDirectDrawSurfaceKernel 78 DECLARE_INTERFACE_ (IDirectDrawSurfaceKernel, IUnknown) { 79 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; 80 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 81 STDMETHOD_(ULONG,Release) (THIS) PURE; 82 STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE; 83 STDMETHOD(ReleaseKernelHandle) (THIS) PURE; 84 }; 85 86 #undef INTERFACE 87 #endif /* defined(_WIN32) && !defined(_NO_COM) */ 88 89 #ifdef __cplusplus 90 } 91 #endif 92 93 #endif 94 95