6 #define NT_BUILD_ENVIRONMENT
12 VOID
DxGetVersionNumber(PVOID lpvInBuffer
, LPDDGETVERSIONNUMBER lpvOutBuffer
);
13 VOID
DxCloseHandle(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
14 VOID
DxOpenDirectDraw(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
15 VOID
DxOpenSurface(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
16 VOID
DxOpenVideoPort(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
17 VOID
DxGetKernelCaps(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
18 VOID
DxGetFieldNumber(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
19 VOID
DxSetFieldNumber(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
20 VOID
DxSetSkipPattern(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
21 VOID
DxGetSurfaceState(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
22 VOID
DxSetSurfaceState(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
23 VOID
DxLock(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
24 VOID
DxFlipOverlay(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
25 VOID
DxFlipVideoPort(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
26 VOID
DxGetCurrentAutoflip(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
27 VOID
DxGetPreviousAutoflip(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
28 VOID
DxRegisterEvent(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
29 VOID
DxUnregisterEvent(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
30 VOID
DxGetPolarity(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
31 VOID
DxOpenVpCatureDevice(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
32 VOID
DxAddVpCaptureBuffer(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
33 VOID
DxFlushVpCaptureBuffs(PVOID lpvInBuffer
, PVOID lpvOutBuffer
);
35 /* Internal driver table being use as looking up table for correct size of structs */
36 DWORD tblCheckInBuffer
[] =
38 /* DD_DXAPI_GETVERSIONNUMBER */
40 /* DD_DXAPI_CLOSEHANDLE */
41 sizeof(DDCLOSEHANDLE
),
42 0, // DD_DXAPI_OPENDIRECTDRAW
43 0, // DD_DXAPI_OPENSURFACE
44 0, // DD_DXAPI_OPENVIDEOPORT
45 /* DD_DXAPI_GETKERNELCAPS */
47 /* DD_DXAPI_GET_VP_FIELD_NUMBER */
48 sizeof(DDGETFIELDNUMIN
),
49 0, // DD_DXAPI_SET_VP_FIELD_NUMBER
50 0, // DD_DXAPI_SET_VP_SKIP_FIELD
51 0, // DD_DXAPI_GET_SURFACE_STATE
52 0, // DD_DXAPI_SET_SURFACE_STATE
54 /* DD_DXAPI_FLIP_OVERLAY */
55 sizeof(DDFLIPOVERLAY
),
56 /* DD_DXAPI_FLIP_VP */
57 sizeof(DDFLIPVIDEOPORT
),
58 /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
59 sizeof(DDGETAUTOFLIPIN
),
60 /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
61 sizeof(DDGETAUTOFLIPIN
),
62 /* DD_DXAPI_REGISTER_CALLBACK */
63 sizeof(DDREGISTERCALLBACK
),
64 /* DD_DXAPI_UNREGISTER_CALLBACK */
65 sizeof(DDREGISTERCALLBACK
),
66 /* DD_DXAPI_GET_POLARITY */
67 sizeof(DDGETPOLARITYIN
),
68 /* DD_DXAPI_OPENVPCAPTUREDEVICE */
69 sizeof(DDOPENVPCAPTUREDEVICEIN
),
70 /* DD_DXAPI_ADDVPCAPTUREBUFFER */
71 sizeof(DDADDVPCAPTUREBUFF
),
72 /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
76 DWORD tblCheckOutBuffer
[] =
78 /* DD_DXAPI_GETVERSIONNUMBER */
79 sizeof(DDGETVERSIONNUMBER
),
80 /* DD_DXAPI_CLOSEHANDLE */
82 0, // DD_DXAPI_OPENDIRECTDRAW
83 0, // DD_DXAPI_OPENSURFACE
84 0, // DD_DXAPI_OPENVIDEOPORT
85 /* DD_DXAPI_GETKERNELCAPS */
86 sizeof(DDGETKERNELCAPSOUT
),
87 /* DD_DXAPI_GET_VP_FIELD_NUMBER */
88 sizeof(DDGETFIELDNUMOUT
),
89 0, // DD_DXAPI_SET_VP_FIELD_NUMBER
90 0, // DD_DXAPI_SET_VP_SKIP_FIELD
91 0, // DD_DXAPI_GET_SURFACE_STATE
92 0, // DD_DXAPI_SET_SURFACE_STATE
94 /* DD_DXAPI_FLIP_OVERLAY */
96 /* DD_DXAPI_FLIP_VP */
98 /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
99 sizeof(DDGETAUTOFLIPOUT
),
100 /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
101 sizeof(DDGETAUTOFLIPOUT
),
102 /* DD_DXAPI_REGISTER_CALLBACK */
104 /* DD_DXAPI_UNREGISTER_CALLBACK */
106 /* DD_DXAPI_GET_POLARITY */
107 sizeof(DDGETPOLARITYOUT
),
108 /* DD_DXAPI_OPENVPCAPTUREDEVICE */
109 sizeof(DDOPENVPCAPTUREDEVICEOUT
),
110 /* DD_DXAPI_ADDVPCAPTUREBUFFER */
112 /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
116 /* Internal driver function */
117 DRVFN gDxApiEntryPoint
[] =
119 {DD_DXAPI_GETVERSIONNUMBER
- DD_FIRST_DXAPI
, (PFN
) DxGetVersionNumber
},
120 {DD_DXAPI_CLOSEHANDLE
- DD_FIRST_DXAPI
, (PFN
) DxCloseHandle
},
121 {DD_DXAPI_OPENDIRECTDRAW
- DD_FIRST_DXAPI
, (PFN
) DxOpenDirectDraw
},
122 {DD_DXAPI_OPENSURFACE
- DD_FIRST_DXAPI
, (PFN
) DxOpenSurface
},
123 {DD_DXAPI_OPENVIDEOPORT
- DD_FIRST_DXAPI
, (PFN
) DxOpenVideoPort
},
124 {DD_DXAPI_GETKERNELCAPS
- DD_FIRST_DXAPI
, (PFN
) DxGetKernelCaps
},
125 {DD_DXAPI_GET_VP_FIELD_NUMBER
- DD_FIRST_DXAPI
, (PFN
) DxGetFieldNumber
},
126 {DD_DXAPI_SET_VP_FIELD_NUMBER
- DD_FIRST_DXAPI
, (PFN
) DxSetFieldNumber
},
127 {DD_DXAPI_SET_VP_SKIP_FIELD
- DD_FIRST_DXAPI
, (PFN
) DxSetSkipPattern
},
128 {DD_DXAPI_GET_SURFACE_STATE
- DD_FIRST_DXAPI
, (PFN
) DxGetSurfaceState
},
129 {DD_DXAPI_SET_SURFACE_STATE
- DD_FIRST_DXAPI
, (PFN
) DxSetSurfaceState
},
130 {DD_DXAPI_LOCK
- DD_FIRST_DXAPI
, (PFN
) DxLock
},
131 {DD_DXAPI_FLIP_OVERLAY
- DD_FIRST_DXAPI
, (PFN
) DxFlipOverlay
},
132 {DD_DXAPI_FLIP_VP
- DD_FIRST_DXAPI
, (PFN
) DxFlipVideoPort
},
133 {DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE
- DD_FIRST_DXAPI
, (PFN
) DxGetCurrentAutoflip
},
134 {DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE
- DD_FIRST_DXAPI
, (PFN
) DxGetPreviousAutoflip
},
135 {DD_DXAPI_REGISTER_CALLBACK
- DD_FIRST_DXAPI
, (PFN
) DxRegisterEvent
},
136 {DD_DXAPI_UNREGISTER_CALLBACK
- DD_FIRST_DXAPI
, (PFN
) DxUnregisterEvent
},
137 {DD_DXAPI_GET_POLARITY
- DD_FIRST_DXAPI
, (PFN
) DxGetPolarity
},
138 {DD_DXAPI_OPENVPCAPTUREDEVICE
- DD_FIRST_DXAPI
, (PFN
) DxOpenVpCatureDevice
},
139 {DD_DXAPI_ADDVPCAPTUREBUFFER
- DD_FIRST_DXAPI
, (PFN
) DxAddVpCaptureBuffer
},
140 {DD_DXAPI_FLUSHVPCAPTUREBUFFERS
- DD_FIRST_DXAPI
, (PFN
) DxFlushVpCaptureBuffs
}