Actually, in XP, OBJ_KERNEL_HANDLE Did work, and gave you a kernel handle that you could never use. In Windows Vista, it returns a failure code. Not sure about 2003.
Best regards, Alex Ionescu On Sat, Sep 19, 2015 at 2:46 PM, <tfa...@svn.reactos.org> wrote: > Author: tfaber > Date: Sat Sep 19 21:46:40 2015 > New Revision: 69296 > > URL: http://svn.reactos.org/svn/reactos?rev=69296&view=rev > Log: > [KMTESTS] > - Add missing OBJ_KERNEL_HANDLE > - OBJ_KERNEL_HANDLE in user mode has no effect... no reason to make a > define around it > CORE-10207 > > Modified: > trunk/rostests/kmtests/ntos_io/IoCreateFile.c > trunk/rostests/kmtests/ntos_ke/KeEvent.c > trunk/rostests/kmtests/rtl/RtlRegistry.c > > Modified: trunk/rostests/kmtests/ntos_io/IoCreateFile.c > URL: > http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_io/IoCreateFile.c?rev=69296&r1=69295&r2=69296&view=diff > > ============================================================================== > --- trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1] > (original) > +++ trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1] Sat > Sep 19 21:46:40 2015 > @@ -454,7 +454,7 @@ > ok_eq_hex(IoStatusBlock.Status, 0xFFFFFFFF); > if (Status == STATUS_SUCCESS) > { > - ObCloseHandle(ParentHandle, KernelMode); > + ObCloseHandle(ParentHandle, UserMode); > } > > /* Attempt relative target open */ > @@ -462,7 +462,7 @@ > IoStatusBlock.Information = 0xFFFFFFFF; > InitializeObjectAttributes(&ObjectAttributes, > &SystemRoot, > - OBJ_CASE_INSENSITIVE, > + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, > NULL, NULL); > Status = ZwOpenFile(&SystemRootHandle, > GENERIC_WRITE | GENERIC_READ | SYNCHRONIZE, > @@ -478,7 +478,7 @@ > IoStatusBlock.Information = 0xFFFFFFFF; > InitializeObjectAttributes(&ObjectAttributes, > &Regedit, > - OBJ_CASE_INSENSITIVE, > + OBJ_CASE_INSENSITIVE | > OBJ_KERNEL_HANDLE, > SystemRootHandle, > NULL); > Status = IoCreateFile(&ParentHandle, > > Modified: trunk/rostests/kmtests/ntos_ke/KeEvent.c > URL: > http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ke/KeEvent.c?rev=69296&r1=69295&r2=69296&view=diff > > ============================================================================== > --- trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] (original) > +++ trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] Sat Sep 19 > 21:46:40 2015 > @@ -155,6 +155,7 @@ > PVOID ThreadObjects[RTL_NUMBER_OF(Threads)]; > LONG State; > PKTHREAD Thread = KeGetCurrentThread(); > + OBJECT_ATTRIBUTES ObjectAttributes; > > LongTimeout.QuadPart = -100 * MILLISECOND; > ShortTimeout.QuadPart = -1 * MILLISECOND; > @@ -165,7 +166,12 @@ > { > Threads[i].Event = Event; > Threads[i].Signal = FALSE; > - Status = PsCreateSystemThread(&Threads[i].Handle, GENERIC_ALL, > NULL, NULL, NULL, WaitForEventThread, &Threads[i]); > + InitializeObjectAttributes(&ObjectAttributes, > + NULL, > + OBJ_KERNEL_HANDLE, > + NULL, > + NULL); > + Status = PsCreateSystemThread(&Threads[i].Handle, GENERIC_ALL, > &ObjectAttributes, NULL, NULL, WaitForEventThread, &Threads[i]); > ok_eq_hex(Status, STATUS_SUCCESS); > Status = ObReferenceObjectByHandle(Threads[i].Handle, > SYNCHRONIZE, *PsThreadType, KernelMode, (PVOID *)&Threads[i].Thread, NULL); > ok_eq_hex(Status, STATUS_SUCCESS); > > Modified: trunk/rostests/kmtests/rtl/RtlRegistry.c > URL: > http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/rtl/RtlRegistry.c?rev=69296&r1=69295&r2=69296&view=diff > > ============================================================================== > --- trunk/rostests/kmtests/rtl/RtlRegistry.c [iso-8859-1] (original) > +++ trunk/rostests/kmtests/rtl/RtlRegistry.c [iso-8859-1] Sat Sep 19 > 21:46:40 2015 > @@ -7,12 +7,6 @@ > > #define KMT_EMULATE_KERNEL > #include <kmt_test.h> > - > -#ifdef KMT_KERNEL_MODE > -#define KMT_KERNEL_HANDLE OBJ_KERNEL_HANDLE > -#else > -#define KMT_KERNEL_HANDLE 0 > -#endif > > #ifndef RTL_NUMBER_OF > #define RTL_NUMBER_OF(x) (sizeof(x) / sizeof(x[0])) > @@ -212,7 +206,7 @@ > RtlInitUnicodeString(&KeyName, L"\\Registry\\MACHINE\\Software"); > InitializeObjectAttributes(&ObjectAttributes, > &KeyName, > - OBJ_CASE_INSENSITIVE | KMT_KERNEL_HANDLE, > + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, > NULL, > NULL); > Status = ZwOpenKey(&SoftwareHandle, > @@ -225,7 +219,7 @@ > RtlInitUnicodeString(&KeyName, L"RtlRegistryKmtestKey"); > InitializeObjectAttributes(&ObjectAttributes, > &KeyName, > - OBJ_CASE_INSENSITIVE | KMT_KERNEL_HANDLE, > + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, > SoftwareHandle, > NULL); > Status = ZwCreateKey(&KeyHandle, > > >
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev