Author: fireball
Date: Tue Jul 22 13:00:23 2008
New Revision: 34687
URL:
http://svn.reactos.org/svn/reactos?rev=34687&view=rev
Log:
- Add Win32 callouts stubs and register them. Boot process now stops due inability to load
winsrv.dll.
Modified:
branches/nwin32/subsystems/win32/win32k/gre/init.c
Modified: branches/nwin32/subsystems/win32/win32k/gre/init.c
URL:
http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/…
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/gre/init.c [iso-8859-1] (original)
+++ branches/nwin32/subsystems/win32/win32k/gre/init.c [iso-8859-1] Tue Jul 22 13:00:23
2008
@@ -16,6 +16,50 @@
#define NDEBUG
#include <debug.h>
+/* PRIVATE FUNCTIONS *********************************************************/
+
+NTSTATUS
+APIENTRY
+Win32kWinStaObjectParse(PWIN32_PARSEMETHOD_PARAMETERS Parameters)
+{
+ UNIMPLEMENTED;
+ return STATUS_SUCCESS;
+}
+
+VOID
+APIENTRY
+Win32kWinStaObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters)
+{
+ UNIMPLEMENTED;
+ return STATUS_SUCCESS;
+}
+
+VOID
+APIENTRY
+Win32kDesktopObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters)
+{
+ UNIMPLEMENTED;
+}
+
+
+NTSTATUS
+APIENTRY
+Win32kProcessCallback(struct _EPROCESS *Process,
+ BOOLEAN Create)
+{
+ UNIMPLEMENTED;
+ return STATUS_SUCCESS;
+}
+
+NTSTATUS
+APIENTRY
+Win32kThreadCallback(struct _ETHREAD *Thread,
+ PSW32THREADCALLOUTTYPE Type)
+{
+ UNIMPLEMENTED;
+ return STATUS_SUCCESS;
+}
+
/* DRIVER ENTRYPOINT *********************************************************/
NTSTATUS
@@ -23,6 +67,8 @@
DriverEntry(IN PDRIVER_OBJECT DriverObject,
PUNICODE_STRING RegistryPath)
{
+ WIN32_CALLOUTS_FPNS CalloutData = {0};
+
DPRINT1("Win32k initialization: DO %p, RegPath %wZ\n", DriverObject,
RegistryPath);
@@ -37,5 +83,15 @@
return STATUS_UNSUCCESSFUL;
}
+ /* Register Win32 callouts */
+ CalloutData.WindowStationParseProcedure = Win32kWinStaObjectParse;
+ CalloutData.WindowStationDeleteProcedure = Win32kWinStaObjectDelete;
+ CalloutData.DesktopDeleteProcedure = Win32kDesktopObjectDelete;
+ CalloutData.ProcessCallout = Win32kProcessCallback;
+ CalloutData.ThreadCallout = Win32kThreadCallback;
+ CalloutData.BatchFlushRoutine = NtGdiFlushUserBatch;
+
+ PsEstablishWin32Callouts((PWIN32_CALLOUTS_FPNS)&CalloutData);
+
return STATUS_SUCCESS;
}