[DRWTSN32] Print some extra exception info
[reactos.git] / ntoskrnl / ex / event.c
index 2a264a3..26cbda9 100644 (file)
 
 /* GLOBALS *******************************************************************/
 
-POBJECT_TYPE _ExEventObjectType = NULL;
+POBJECT_TYPE ExEventObjectType = NULL;
 
 GENERIC_MAPPING ExpEventMapping =
 {
-    STANDARD_RIGHTS_READ | SYNCHRONIZE | EVENT_QUERY_STATE,
-    STANDARD_RIGHTS_WRITE | SYNCHRONIZE | EVENT_MODIFY_STATE,
-    STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE | EVENT_QUERY_STATE,
-    EVENT_ALL_ACCESS};
+    STANDARD_RIGHTS_READ | EVENT_QUERY_STATE,
+    STANDARD_RIGHTS_WRITE | EVENT_MODIFY_STATE,
+    STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE,
+    EVENT_ALL_ACCESS
+};
 
 static const INFORMATION_CLASS_INFO ExEventInfoClass[] =
 {
@@ -36,13 +37,14 @@ static const INFORMATION_CLASS_INFO ExEventInfoClass[] =
 
 /* FUNCTIONS *****************************************************************/
 
-VOID
+BOOLEAN
 INIT_FUNCTION
 NTAPI
 ExpInitializeEventImplementation(VOID)
 {
     OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
     UNICODE_STRING Name;
+    NTSTATUS Status;
     DPRINT("Creating Event Object Type\n");
 
     /* Create the Event Object Type */
@@ -53,7 +55,10 @@ ExpInitializeEventImplementation(VOID)
     ObjectTypeInitializer.GenericMapping = ExpEventMapping;
     ObjectTypeInitializer.PoolType = NonPagedPool;
     ObjectTypeInitializer.ValidAccessMask = EVENT_ALL_ACCESS;
-    ObCreateObjectType(&Name, &ObjectTypeInitializer, NULL, &ExEventObjectType);
+    ObjectTypeInitializer.InvalidAttributes = OBJ_OPENLINK;
+    Status = ObCreateObjectType(&Name, &ObjectTypeInitializer, NULL, &ExEventObjectType);
+    if (!NT_SUCCESS(Status)) return FALSE;
+    return TRUE;
 }
 
 /*
@@ -135,9 +140,9 @@ NtCreateEvent(OUT PHANDLE EventHandle,
                             (PVOID*)&Event);
 
     /* Check for Success */
-    if(NT_SUCCESS(Status))
+    if (NT_SUCCESS(Status))
     {
-        /* Initalize the Event */
+        /* Initialize the Event */
         KeInitializeEvent(Event,
                           EventType,
                           InitialState);
@@ -151,7 +156,7 @@ NtCreateEvent(OUT PHANDLE EventHandle,
                                  &hEvent);
 
         /* Check for success */
-        if(NT_SUCCESS(Status))
+        if (NT_SUCCESS(Status))
         {
             /* Enter SEH for return */
             _SEH2_TRY
@@ -247,7 +252,7 @@ NtPulseEvent(IN HANDLE EventHandle,
     KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
     NTSTATUS Status;
     PAGED_CODE();
-    DPRINT("NtPulseEvent(EventHandle 0%x PreviousState 0%x)\n",
+    DPRINT("NtPulseEvent(EventHandle 0%p PreviousState 0%p)\n",
             EventHandle, PreviousState);
 
     /* Check if we were called from user-mode */
@@ -388,7 +393,7 @@ NtResetEvent(IN HANDLE EventHandle,
     KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
     NTSTATUS Status;
     PAGED_CODE();
-    DPRINT("NtResetEvent(EventHandle 0%x PreviousState 0%x)\n",
+    DPRINT("NtResetEvent(EventHandle 0%p PreviousState 0%p)\n",
             EventHandle, PreviousState);
 
     /* Check if we were called from user-mode */
@@ -457,7 +462,7 @@ NtSetEvent(IN HANDLE EventHandle,
     KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
     NTSTATUS Status;
     PAGED_CODE();
-    DPRINT("NtSetEvent(EventHandle 0%x PreviousState 0%x)\n",
+    DPRINT("NtSetEvent(EventHandle 0%p PreviousState 0%p)\n",
            EventHandle, PreviousState);
 
     /* Check if we were called from user-mode */