21#ifndef __DDKMAPI_INCLUDED__
22#define __DDKMAPI_INCLUDED__
27#define DXAPI DECLSPEC_IMPORT
30#define DXAPI_MAJORVERSION 1
31#define DXAPI_MINORVERSION 0
33#define DD_FIRST_DXAPI 0x500
34#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI)
35#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1)
36#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2)
37#define DD_DXAPI_OPENSURFACE (DD_FIRST_DXAPI+3)
38#define DD_DXAPI_OPENVIDEOPORT (DD_FIRST_DXAPI+4)
39#define DD_DXAPI_GETKERNELCAPS (DD_FIRST_DXAPI+5)
40#define DD_DXAPI_GET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+6)
41#define DD_DXAPI_SET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+7)
42#define DD_DXAPI_SET_VP_SKIP_FIELD (DD_FIRST_DXAPI+8)
43#define DD_DXAPI_GET_SURFACE_STATE (DD_FIRST_DXAPI+9)
44#define DD_DXAPI_SET_SURFACE_STATE (DD_FIRST_DXAPI+10)
45#define DD_DXAPI_LOCK (DD_FIRST_DXAPI+11)
46#define DD_DXAPI_FLIP_OVERLAY (DD_FIRST_DXAPI+12)
47#define DD_DXAPI_FLIP_VP (DD_FIRST_DXAPI+13)
48#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+14)
49#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+15)
50#define DD_DXAPI_REGISTER_CALLBACK (DD_FIRST_DXAPI+16)
51#define DD_DXAPI_UNREGISTER_CALLBACK (DD_FIRST_DXAPI+17)
52#define DD_DXAPI_GET_POLARITY (DD_FIRST_DXAPI+18)
53#define DD_DXAPI_OPENVPCAPTUREDEVICE (DD_FIRST_DXAPI+19)
54#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20)
55#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21)
58#define DDOPENCAPTURE_VIDEO 0x0001
59#define DDOPENCAPTURE_VBI 0x0002
62#define DDADDBUFF_SYSTEMMEMORY 0x0001
63#define DDADDBUFF_NONLOCALVIDMEM 0x0002
64#define DDADDBUFF_INVERT 0x0004
67#define DDSTATE_BOB 0x0001
68#define DDSTATE_WEAVE 0x0002
69#define DDSTATE_EXPLICITLY_SET 0x0004
70#define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
71#define DDSTATE_SKIPEVENFIELDS 0x0010
74#define DDEVENT_DISPLAY_VSYNC 0x0001
75#define DDEVENT_VP_VSYNC 0x0002
76#define DDEVENT_VP_LINE 0x0004
77#define DDEVENT_PRERESCHANGE 0x0008
78#define DDEVENT_POSTRESCHANGE 0x0010
79#define DDEVENT_PREDOSBOX 0x0020
80#define DDEVENT_POSTDOSBOX 0x0040
83#define DDNOTIFY_DISPLAY_VSYNC 0x0001
84#define DDNOTIFY_VP_VSYNC 0x0002
85#define DDNOTIFY_VP_LINE 0x0004
86#define DDNOTIFY_PRERESCHANGE 0x0008
87#define DDNOTIFY_POSTRESCHANGE 0x0010
88#define DDNOTIFY_PREDOSBOX 0x0020
89#define DDNOTIFY_POSTDOSBOX 0x0040
90#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
91#define DDNOTIFY_CLOSESURFACE 0x0100
92#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
93#define DDNOTIFY_CLOSECAPTURE 0x0400
struct _DDSETSKIPFIELD DDSETSKIPFIELD
struct _DDGETAUTOFLIPIN * LPDDGETAUTOFLIPIN
struct _DDLOCKIN * LPDDLOCKIN
DXAPI DWORD PASCAL DxApi(IN DWORD dwFunctionNum, IN LPVOID lpvInBuffer, IN DWORD cbInBuffer, OUT LPVOID lpvOutBuffer, OUT DWORD cbOutBuffer)
struct _DDOPENVIDEOPORTOUT * LPDDOPENVIDEOPORTOUT
struct _DDFLIPVIDEOPORT DDFLIPVIDEOPORT
struct _DDOPENVIDEOPORTIN * LPDDOPENVIDEOPORTIN
struct _DDSETSURFACETATE * LPDDSETSURFACESTATE
struct _DDGETSURFACESTATEOUT * LPDDGETSURFACESTATEOUT
struct _DDCAPBUFFINFO * LPDDCAPBUFFINFO
struct _DDGETFIELDNUMOUT DDGETFIELDNUMOUT
struct _DDCAPBUFFINFO DDCAPBUFFINFO
struct _DDREGISTERCALLBACK * LPDDREGISTERCALLBACK
struct _DDOPENSURFACEIN DDOPENSURFACEIN
struct _DDOPENVPCAPTUREDEVICEIN * LPDDOPENVPCAPTUREDEVICEIN
struct _DDGETAUTOFLIPIN DDGETAUTOFLIPIN
struct _DDSETSKIPFIELD * LPDDSETSKIPFIELD
struct _DDOPENDIRECTDRAWIN * LPDDOPENDIRECTDRAWIN
struct _DDGETSURFACESTATEIN * LPDDGETSURFACESTATEIN
struct _DDLOCKOUT DDLOCKOUT
struct _DDGETFIELDNUMOUT * LPDDGETFIELDNUMOUT
struct _DDGETAUTOFLIPOUT * LPDDGETAUTOFLIPOUT
struct _DDGETPOLARITYOUT * LPDDGETPOLARITYOUT
struct _DDGETKERNELCAPSOUT * LPDDGETKERNELCAPSOUT
struct _DDGETPOLARITYIN DDGETPOLARITYIN
struct _DDOPENSURFACEOUT DDOPENSURFACEOUT
ULONG(PASCAL * LPDD_NOTIFYCALLBACK)(DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2)
struct _DDOPENVPCAPTUREDEVICEOUT DDOPENVPCAPTUREDEVICEOUT
struct _DDSETFIELDNUM DDSETFIELDNUM
struct _DDOPENVIDEOPORTOUT DDOPENVIDEOPORTOUT
struct _DDGETFIELDNUMIN DDGETFIELDNUMIN
struct _DDFLIPOVERLAY * LPDDFLIPOVERLAY
struct _DDOPENDIRECTDRAWOUT * LPDDOPENDIRECTDRAWOUT
struct _DDLOCKIN DDLOCKIN
struct _DDGETVERSIONNUMBER DDGETVERSIONNUMBER
struct _DDGETAUTOFLIPOUT DDGETAUTOFLIPOUT
struct _DDGETSURFACESTATEOUT DDGETSURFACESTATEOUT
struct _DDGETPOLARITYIN * LPDDGETPOLARITYIN
struct _DDSETFIELDNUM * LPDDSETFIELDNUM
struct _DDFLIPOVERLAY DDFLIPOVERLAY
struct _DDADDVPCAPTUREBUFF DDADDVPCAPTUREBUFF
struct _DDREGISTERCALLBACK DDREGISTERCALLBACK
struct _DDFLIPVIDEOPORT * LPDDFLIPVIDEOPORT
struct _DDGETSURFACESTATEIN DDGETSURFACESTATEIN
struct _DDSETSURFACETATE DDSETSURFACESTATE
DWORD(PASCAL * LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer)
struct _DDOPENVIDEOPORTIN DDOPENVIDEOPORTIN
struct _DDOPENDIRECTDRAWOUT DDOPENDIRECTDRAWOUT
struct _DDOPENSURFACEIN * LPDDOPENSURFACEIN
struct _DDOPENVPCAPTUREDEVICEIN DDOPENVPCAPTUREDEVICEIN
struct _DDOPENSURFACEOUT * LPDDOPENSURFACEOUT
struct _DDGETFIELDNUMIN * LPDDGETFIELDNUMIN
struct _DDADDVPCAPTUREBUFF * LPDDADDVPCAPTUREBUFF
struct _DDCLOSEHANDLE DDCLOSEHANDLE
struct _DDLOCKOUT * LPDDLOCKOUT
struct _DDCLOSEHANDLE * LPDDCLOSEHANDLE
struct _DDGETVERSIONNUMBER * LPDDGETVERSIONNUMBER
struct _DDGETPOLARITYOUT DDGETPOLARITYOUT
struct _DDOPENDIRECTDRAWIN DDOPENDIRECTDRAWIN
struct _DDGETKERNELCAPSOUT DDGETKERNELCAPSOUT
struct _DDOPENVPCAPTUREDEVICEOUT * LPDDOPENVPCAPTUREDEVICEOUT
LPDDCAPBUFFINFO lpBuffInfo
LARGE_INTEGER liTimeStamp
ULONG_PTR dwDirectDrawHandle
LPDD_NOTIFYCALLBACK pfnDirectDrawClose
ULONG_PTR dwSurfaceHandle
LPDD_NOTIFYCALLBACK pfnSurfaceClose
LPDD_NOTIFYCALLBACK pfnVideoPortClose
LPDD_NOTIFYCALLBACK pfnCaptureClose
DWORD dwCaptureEveryNFields
LPDD_NOTIFYCALLBACK pfnCallback
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags