* Sync up to trunk head (r64959).
[reactos.git] / ntoskrnl / ob / obwait.c
index fdd7928..98b4ca8 100644 (file)
@@ -142,7 +142,7 @@ NtWaitForMultipleObjects(IN ULONG ObjectCount,
     do
     {
         /* Use the right Executive Handle */
-        if (ObIsKernelHandle(Handles[i], PreviousMode))
+        if (ObpIsKernelHandle(Handles[i], PreviousMode))
         {
             /* Use the System Handle Table and decode */
             HandleTable = ObpKernelHandleTable;
@@ -165,6 +165,7 @@ NtWaitForMultipleObjects(IN ULONG ObjectCount,
         {
             /* Fail, handle is invalid */
             Status = STATUS_INVALID_HANDLE;
+            DPRINT1("Invalid handle passed to NtWaitForMultipleObjects\n");
             goto Quickie;
         }
 
@@ -174,6 +175,7 @@ NtWaitForMultipleObjects(IN ULONG ObjectCount,
         {
             /* Unlock the entry and fail */
             ExUnlockHandleTableEntry(HandleTable, HandleEntry);
+            DPRINT1("Handle does not have SYNCHRONIZE access\n");
             Status = STATUS_ACCESS_DENIED;
             goto Quickie;
         }
@@ -228,6 +230,7 @@ NtWaitForMultipleObjects(IN ULONG ObjectCount,
                 {
                     /* Fail */
                     Status = STATUS_INVALID_PARAMETER_MIX;
+                    DPRINT1("Passed a duplicate object to NtWaitForMultipleObjects\n");
                     goto Quickie;
                 }
             }
@@ -417,6 +420,10 @@ NtWaitForSingleObject(IN HANDLE ObjectHandle,
         /* Dereference the Object */
         ObDereferenceObject(Object);
     }
+    else
+    {
+        DPRINT1("Failed to reference the handle with status 0x%x\n", Status);
+    }
 
     /* Return the status */
     return Status;