PEPROCESS gpepSession = NULL;
PLARGE_INTEGER gpLockShortDelay = NULL;
-PDRVFN gpEngFuncs;
+DXENG_FUNCTIONS gpEngFuncs;
+
const ULONG gcDxgFuncs = DXG_INDEX_DxDdIoctl + 1;
{
PDRVFN drv_func;
+ ULONG peng_funcs;
+ PULONG peng_func;
+
UINT i;
/* Test see if the data is vaild we got from win32k.sys */
* and if it really are exported
*/
+ peng_funcs = (ULONG)&gpEngFuncs;
+
for (i=1 ; i < DXENG_INDEX_DxEngLoadImage + 1; i++)
{
drv_func = &pDxEngDrv->pdrvfn[i];
{
return STATUS_INTERNAL_ERROR;
}
+ peng_func = (PULONG)(peng_funcs+(i * sizeof(ULONG)));
+ *peng_func = (ULONG)drv_func->pfn;
}
- gpEngFuncs = pDxEngDrv->pdrvfn;
-
/* Note 12/1-2004 : Why is this set to 0x618 */
*DirectDrawContext = 0x618;