[KMTESTS:IO]
[reactos.git] / rostests / kmtests / ntos_io / IoCreateFile.c
index 9c35a08..ae4294b 100644 (file)
@@ -871,10 +871,7 @@ UserModeTest(VOID)
 
 START_TEST(IoCreateFile)
 {
-    NTSTATUS Status;
-    OBJECT_ATTRIBUTES ObjectAttributes;
-    HANDLE ThreadHandle;
-    PVOID ThreadObject = NULL;
+    PKTHREAD ThreadHandle;
 
     TestSymlinks();
 
@@ -882,36 +879,6 @@ START_TEST(IoCreateFile)
     UserModeTest();
 
     /* We've to be in kernel mode, so spawn a thread */
-    InitializeObjectAttributes(&ObjectAttributes,
-                               NULL,
-                               OBJ_KERNEL_HANDLE,
-                               NULL,
-                               NULL);
-    Status = PsCreateSystemThread(&ThreadHandle,
-                                  SYNCHRONIZE,
-                                  &ObjectAttributes,
-                                  NULL,
-                                  NULL,
-                                  KernelModeTest,
-                                  NULL);
-    ok_eq_hex(Status, STATUS_SUCCESS);
-    if (Status == STATUS_SUCCESS)
-    {
-        /* Then, just wait on our thread to finish */
-        Status = ObReferenceObjectByHandle(ThreadHandle,
-                                           SYNCHRONIZE,
-                                           *PsThreadType,
-                                           KernelMode,
-                                           &ThreadObject,
-                                           NULL);
-        ObCloseHandle(ThreadHandle, KernelMode);
-
-        Status = KeWaitForSingleObject(ThreadObject,
-                                       Executive,
-                                       KernelMode,
-                                       FALSE,
-                                       NULL);
-        ok_eq_hex(Status, STATUS_SUCCESS);
-        ObDereferenceObject(ThreadObject);
-    }
+    ThreadHandle = KmtStartThread(KernelModeTest, NULL);
+    KmtFinishThread(ThreadHandle, NULL);
 }