Unnamed objects do not have a base directory.
Modified: trunk/reactos/lib/kernel32/mem/section.c
Modified: trunk/reactos/lib/kernel32/synch/event.c
Modified: trunk/reactos/lib/kernel32/synch/mutex.c
Modified: trunk/reactos/lib/kernel32/synch/sem.c
Modified: trunk/reactos/lib/kernel32/synch/timer.c
Modified: trunk/reactos/ntoskrnl/io/file.c
Modified: trunk/reactos/ntoskrnl/ob/object.c

Modified: trunk/reactos/lib/kernel32/mem/section.c
--- trunk/reactos/lib/kernel32/mem/section.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/lib/kernel32/mem/section.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -77,7 +77,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpName ? hBaseDir : NULL),
 			      SecurityDescriptor);
 
    Status = NtCreateSection(&SectionHandle,
@@ -155,7 +155,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpName ? hBaseDir : NULL),
 			      SecurityDescriptor);
 
    Status = NtCreateSection(&SectionHandle,

Modified: trunk/reactos/lib/kernel32/synch/event.c
--- trunk/reactos/lib/kernel32/synch/event.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/lib/kernel32/synch/event.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -77,7 +77,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpName ? hBaseDir : NULL),
 			      NULL);
 
    if (lpEventAttributes != NULL)

Modified: trunk/reactos/lib/kernel32/synch/mutex.c
--- trunk/reactos/lib/kernel32/synch/mutex.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/lib/kernel32/synch/mutex.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -76,7 +76,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpName ? hBaseDir : NULL),
 			      NULL);
 
    if (lpMutexAttributes != NULL)

Modified: trunk/reactos/lib/kernel32/synch/sem.c
--- trunk/reactos/lib/kernel32/synch/sem.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/lib/kernel32/synch/sem.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -77,7 +77,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpName ? hBaseDir : NULL),
 			      NULL);
 
    if (lpSemaphoreAttributes != NULL)

Modified: trunk/reactos/lib/kernel32/synch/timer.c
--- trunk/reactos/lib/kernel32/synch/timer.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/lib/kernel32/synch/timer.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -38,7 +38,7 @@
    InitializeObjectAttributes(&ObjectAttributes,
 			      (lpTimerName ? &UnicodeName : NULL),
 			      0,
-			      hBaseDir,
+			      (lpTimerName ? hBaseDir : NULL),
 			      NULL);
 
    if (lpTimerAttributes != NULL)

Modified: trunk/reactos/ntoskrnl/io/file.c
--- trunk/reactos/ntoskrnl/io/file.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/ntoskrnl/io/file.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -278,7 +278,7 @@
         if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN)
         {
             /* Get the Device Object */
-            DPRINT1("here\n");
+            DPRINT("here\n");
             DeviceObject = IoGetAttachedDevice(FileObject->DeviceObject);
 
             /* Assign the Security Descriptor */

Modified: trunk/reactos/ntoskrnl/ob/object.c
--- trunk/reactos/ntoskrnl/ob/object.c	2005-05-19 03:36:20 UTC (rev 15408)
+++ trunk/reactos/ntoskrnl/ob/object.c	2005-05-19 05:26:35 UTC (rev 15409)
@@ -74,7 +74,11 @@
         }
         
         /* Fail if anything up to here died */
-        if (!NT_SUCCESS(Status)) return Status;
+        if (!NT_SUCCESS(Status)) 
+        {
+            DPRINT1("Probing failed\n");
+            return Status;
+        }
     }
     else
     {
@@ -228,14 +232,12 @@
     }
     else
     {
-        #if 0 /*FIXME: FIX KERNEL32 and STUFF!!! */
         /* He can't have specified a Root Directory */
         if (ObjectCreateInfo->RootDirectory)
         {
             DPRINT1("Invalid name\n");
             Status = STATUS_OBJECT_NAME_INVALID;
         }
-        #endif
     }
     
 fail: