[ros-diffs] [fireball] 22302: - Further improvements to Ob tests (fixing obvious mistakes/etc), however reference tests still cause bugcheck, so they are disabled - Clean-up is enabled now, so basically it's possible to run the test a number of times in win2k3, and every time it will go from scratch by creating everything. But I have a feeling that deleting object-types causes some type of corruption. To be investigated later.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Jun 11 00:39:14 CEST 2006


Author: fireball
Date: Sun Jun 11 02:39:14 2006
New Revision: 22302

URL: http://svn.reactos.ru/svn/reactos?rev=22302&view=rev
Log:
- Further improvements to Ob tests (fixing obvious mistakes/etc), however reference tests still cause bugcheck, so they are disabled
- Clean-up is enabled now, so basically it's possible to run the test a number of times in win2k3, and every time it will go from scratch by creating everything. But I have a feeling that deleting object-types causes some type of corruption. To be investigated later.

Modified:
    trunk/reactos/drivers/test/kmtest/ntos_ob.c

Modified: trunk/reactos/drivers/test/kmtest/ntos_ob.c
URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/drivers/test/kmtest/ntos_ob.c?rev=22302&r1=22301&r2=22302&view=diff
==============================================================================
--- trunk/reactos/drivers/test/kmtest/ntos_ob.c (original)
+++ trunk/reactos/drivers/test/kmtest/ntos_ob.c Sun Jun 11 02:39:14 2006
@@ -121,7 +121,8 @@
           OUT PVOID *Object)
 {
     DbgPrint("ParseProc() called\n");
-    return STATUS_SUCCESS;
+    *Object = NULL;
+    return STATUS_OBJECT_NAME_NOT_FOUND;//STATUS_SUCCESS;
 }
 
 VOID
@@ -260,7 +261,7 @@
     PVOID DirObject;
     NTSTATUS Status;
     //PVOID TypeObject;
-    //USHORT i;
+    USHORT i;
     //UNICODE_STRING ObPathName[NUM_OBTYPES];
 
     // Close what we have opened and free what we allocated
@@ -293,13 +294,11 @@
         "Failed to close handle with status=0x%lX", Status);
 
     // Now delete the last piece - object types
-    // FIXME: How to do this correctly?
-    /*
-    for (i=0; i<NUM_OBTYPES; i++)
-    {
+    // In fact, it's weird to get rid of object types, especially the way,
+    // how it's done in the commented section below
+    for (i=0; i<NUM_OBTYPES; i++)
         ObDereferenceObject(ObTypes[i]);
-    }*/
-    /*
+/*
     RtlInitUnicodeString(&ObPathName[0], L"\\ObjectTypes\\MyObjectType1");
     RtlInitUnicodeString(&ObPathName[1], L"\\ObjectTypes\\MyObjectType2");
 
@@ -313,7 +312,8 @@
         ObDereferenceObject(TypeObject);
         DPRINT("Reference Name %S = %p, ObTypes[%d] = %p\n",
             ObPathName[i], TypeObject, i, ObTypes[i]);
-    }*/
+    }
+*/
 }
 
 VOID
@@ -351,7 +351,7 @@
             OBJ_CASE_INSENSITIVE, NULL, 0L, ObTypes[i], KernelMode, NULL,
             &ObBody[0]);
 
-        DPRINT("Ref by name %S = %p\n", ObPathName[i], ObBody[i]);
+        DPRINT("Ref by name %wZ = %p\n", &ObPathName[i], ObBody[i]);
     }
 
     // Dereference now all of them
@@ -394,12 +394,11 @@
     DPRINT("ObtCreateObjects() done\n");
 
     // Reference them in a variety of ways
-    // FIXME: Disabled due to ParseProcedure call
     //ObtReferenceTests();
 
     // Clean up
-    // FIXME: Disabled to see results of creating objects in usermode
-    //        and also due to problems with object types removal
+    // FIXME: Disable to see results of creating objects in usermode.
+    //        Also it has problems with object types removal
     ObtClose();
     DPRINT("Cleanup done\n");
 




More information about the Ros-diffs mailing list