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