ReactOS 0.4.15-dev-7968-g24a56f8
ddkernel.h
Go to the documentation of this file.
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 {
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) {
72 STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE;
73 STDMETHOD(ReleaseKernelHandle) (THIS) PURE;
74};
75
76#undef INTERFACE
77#define INTERFACE IDirectDrawSurfaceKernel
78DECLARE_INTERFACE_ (IDirectDrawSurfaceKernel, IUnknown) {
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
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
struct IDirectDrawKernel * LPDIRECTDRAWKERNEL
Definition: ddkernel.h:61
struct _DDKERNELCAPS DDKERNELCAPS
struct _DDKERNELCAPS * LPDDKERNELCAPS
struct IDirectDrawSurfaceKernel * LPDIRECTDRAWSURFACEKERNEL
Definition: ddkernel.h:62
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
DWORD dwCaps
Definition: ddkernel.h:24
DWORD dwIRQCaps
Definition: ddkernel.h:25
DWORD dwSize
Definition: ddkernel.h:23
uint32_t ULONG
Definition: typedefs.h:59