Ntoskrnl:

- Add callback for BatchFlushRoutine in ps/win32.c.
- Thanks to Thomas for helping me find out why it was not working.

svn path=/trunk/; revision=30187
This commit is contained in:
James Tabor 2007-11-05 17:27:25 +00:00
parent 9dd4fbc81c
commit ff1da0b87a
3 changed files with 8 additions and 1 deletions

View file

@ -192,7 +192,8 @@ ReadBatch:
/* Flush it */
push edx
push eax
//call [_KeGdiFlushUserBatch]
// <-- Remove these once it is working!
// call [_KeGdiFlushUserBatch]
pop eax
pop edx

View file

@ -12,6 +12,8 @@
#define NDEBUG
#include <internal/debug.h>
extern PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch();
/* PRIVATE FUNCTIONS *********************************************************/
_SEH_DEFINE_LOCALS(KiCopyInfo)
@ -217,6 +219,8 @@ KeUserModeCallback(IN ULONG RoutineIndex,
{
/* Shouldn't happen in ROS yet */
ASSERT(FALSE);
// *UserEsp -= 256;
// KeGdiFlushUserBatch();
}
/* Restore stack and return */

View file

@ -17,6 +17,7 @@
PKWIN32_PROCESS_CALLOUT PspW32ProcessCallout = NULL;
PKWIN32_THREAD_CALLOUT PspW32ThreadCallout = NULL;
PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch = NULL;
extern PKWIN32_PARSEMETHOD_CALLOUT ExpWindowStationObjectParse;
extern PKWIN32_DELETEMETHOD_CALLOUT ExpWindowStationObjectDelete;
extern PKWIN32_DELETEMETHOD_CALLOUT ExpDesktopObjectDelete;
@ -114,6 +115,7 @@ PsEstablishWin32Callouts(IN PWIN32_CALLOUTS_FPNS CalloutData)
ExpWindowStationObjectDelete = CalloutData->WindowStationDeleteProcedure;
ExpDesktopObjectDelete = CalloutData->DesktopDeleteProcedure;
PopEventCallout = CalloutData->PowerEventCallout;
KeGdiFlushUserBatch = CalloutData->BatchFlushRoutine;
}
NTSTATUS