convert DefaultSetInfoBufferCheck and DefaultQueryInfoBufferCheck to inlined functions
[reactos.git] / reactos / ntoskrnl / ex / event.c
index 13223ba..2eb0ac1 100644 (file)
@@ -34,6 +34,7 @@ static const INFORMATION_CLASS_INFO ExEventInfoClass[] = {
 
 VOID
 INIT_FUNCTION
+STDCALL
 ExpInitializeEventImplementation(VOID)
 {
   OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
@@ -49,7 +50,6 @@ ExpInitializeEventImplementation(VOID)
   ObjectTypeInitializer.GenericMapping = ExpEventMapping;
   ObjectTypeInitializer.PoolType = NonPagedPool;
   ObjectTypeInitializer.ValidAccessMask = EVENT_ALL_ACCESS;
-  ObjectTypeInitializer.UseDefaultObject = TRUE;
   ObpCreateTypeObject(&ObjectTypeInitializer, &Name, &ExEventObjectType);
 }
 
@@ -103,16 +103,14 @@ NtCreateEvent(OUT PHANDLE EventHandle,
     NTSTATUS Status = STATUS_SUCCESS;
 
     PAGED_CODE();
-    DPRINT("NtCreateEvent(0x%x, 0x%x, 0x%x)\n", EventHandle, DesiredAccess, ObjectAttributes);
+    DPRINT("NtCreateEvent(0x%p, 0x%x, 0x%p)\n", EventHandle, DesiredAccess, ObjectAttributes);
 
     /* Check Output Safety */
     if(PreviousMode != KernelMode) {
 
         _SEH_TRY {
 
-            ProbeForWrite(EventHandle,
-                          sizeof(HANDLE),
-                          sizeof(ULONG));
+            ProbeForWriteHandle(EventHandle);
         } _SEH_EXCEPT(_SEH_ExSystemExceptionFilter) {
 
             Status = _SEH_GetExceptionCode();
@@ -183,16 +181,14 @@ NtOpenEvent(OUT PHANDLE EventHandle,
     NTSTATUS Status = STATUS_SUCCESS;
 
     PAGED_CODE();
-    DPRINT("NtOpenEvent(0x%x, 0x%x, 0x%x)\n", EventHandle, DesiredAccess, ObjectAttributes);
+    DPRINT("NtOpenEvent(0x%p, 0x%x, 0x%p)\n", EventHandle, DesiredAccess, ObjectAttributes);
 
     /* Check Output Safety */
     if(PreviousMode != KernelMode) {
 
         _SEH_TRY {
 
-            ProbeForWrite(EventHandle,
-                          sizeof(HANDLE),
-                          sizeof(ULONG));
+            ProbeForWriteHandle(EventHandle);
         } _SEH_EXCEPT(_SEH_ExSystemExceptionFilter) {
 
             Status = _SEH_GetExceptionCode();
@@ -246,13 +242,11 @@ NtPulseEvent(IN HANDLE EventHandle,
             EventHandle, PreviousState);
 
     /* Check buffer validity */
-    if(PreviousState && PreviousMode == UserMode) {
+    if(PreviousState && PreviousMode != KernelMode) {
 
         _SEH_TRY {
 
-            ProbeForWrite(PreviousState,
-                          sizeof(LONG),
-                          sizeof(ULONG));
+            ProbeForWriteLong(PreviousState);
          } _SEH_EXCEPT(_SEH_ExSystemExceptionFilter) {
 
             Status = _SEH_GetExceptionCode();
@@ -314,16 +308,16 @@ NtQueryEvent(IN HANDLE EventHandle,
     PEVENT_BASIC_INFORMATION BasicInfo = (PEVENT_BASIC_INFORMATION)EventInformation;
 
     PAGED_CODE();
-    DPRINT("NtQueryEvent(0x%x, 0x%x, 0x%x)\n", EventHandle, EventInformationClass);
+    DPRINT("NtQueryEvent(0x%p, 0x%x)\n", EventHandle, EventInformationClass);
 
     /* Check buffers and class validity */
-    DefaultQueryInfoBufferCheck(EventInformationClass,
-                                ExEventInfoClass,
-                                EventInformation,
-                                EventInformationLength,
-                                ReturnLength,
-                                PreviousMode,
-                                &Status);
+    Status = DefaultQueryInfoBufferCheck(EventInformationClass,
+                                         ExEventInfoClass,
+                                         sizeof(ExEventInfoClass) / sizeof(ExEventInfoClass[0]),
+                                         EventInformation,
+                                         EventInformationLength,
+                                         ReturnLength,
+                                         PreviousMode);
     if(!NT_SUCCESS(Status)) {
 
         /* Invalid buffers */
@@ -382,13 +376,11 @@ NtResetEvent(IN HANDLE EventHandle,
             EventHandle, PreviousState);
 
     /* Check buffer validity */
-    if(PreviousState && PreviousMode == UserMode) {
+    if(PreviousState && PreviousMode != KernelMode) {
 
         _SEH_TRY {
 
-            ProbeForWrite(PreviousState,
-                          sizeof(LONG),
-                          sizeof(ULONG));
+            ProbeForWriteLong(PreviousState);
          } _SEH_EXCEPT(_SEH_ExSystemExceptionFilter) {
 
             Status = _SEH_GetExceptionCode();
@@ -449,13 +441,11 @@ NtSetEvent(IN HANDLE EventHandle,
            EventHandle, PreviousState);
 
     /* Check buffer validity */
-    if(PreviousState != NULL && PreviousMode == UserMode) {
+    if(PreviousState != NULL && PreviousMode != KernelMode) {
 
         _SEH_TRY {
 
-            ProbeForWrite(PreviousState,
-                          sizeof(LONG),
-                          sizeof(ULONG));
+            ProbeForWriteLong(PreviousState);
          } _SEH_EXCEPT(_SEH_ExSystemExceptionFilter) {
 
             Status = _SEH_GetExceptionCode();