Reactos
at master 94 lines 3.5 kB view raw
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 14extern "C" { 15#endif 16 17#if defined (_WIN32) && !defined (_NO_COM) 18DEFINE_GUID (IID_IDirectDrawKernel, 0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); 19DEFINE_GUID (IID_IDirectDrawSurfaceKernel, 0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); 20#endif 21 22typedef 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 61typedef struct IDirectDrawKernel* LPDIRECTDRAWKERNEL; 62typedef struct IDirectDrawSurfaceKernel* LPDIRECTDRAWSURFACEKERNEL; 63 64#if defined(_WIN32) && !defined(_NO_COM) 65 66#undef INTERFACE 67#define INTERFACE IDirectDrawKernel 68DECLARE_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 78DECLARE_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