{
Status = ObReferenceObjectByHandle(TargetHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&TargetFileObject,
NULL);
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
ok_eq_long(RtlCompareUnicodeString(&ParentFileObject->FileName, &TargetFileObject->FileName, FALSE), 0);
Status = ObReferenceObjectByHandle(SystemRootHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&SystemRootFileObject,
NULL);
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
{
Status = ObReferenceObjectByHandle(ParentHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&ParentFileObject,
NULL);
ok_eq_long(RtlCompareUnicodeString(&ParentFileObject->FileName, &TargetFileObject->FileName, FALSE), 0);
Status = ObReferenceObjectByHandle(SystemRootHandle,
FILE_READ_DATA,
- IoFileObjectType,
+ *IoFileObjectType,
KernelMode,
(PVOID *)&SystemRootFileObject,
NULL);
ok_eq_hex(IoStatusBlock.Status, 0xFFFFFFFF);
if (Status == STATUS_SUCCESS)
{
- ObCloseHandle(ParentHandle, KernelMode);
+ ObCloseHandle(ParentHandle, UserMode);
}
/* Attempt relative target open */
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,
IoStatusBlock.Information = 0xFFFFFFFF;
InitializeObjectAttributes(&ObjectAttributes,
&Regedit,
- OBJ_CASE_INSENSITIVE,
+ OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
SystemRootHandle,
NULL);
Status = IoCreateFile(&ParentHandle,
/* Then, just wait on our thread to finish */
Status = ObReferenceObjectByHandle(ThreadHandle,
SYNCHRONIZE,
- PsThreadType,
+ *PsThreadType,
KernelMode,
&ThreadObject,
NULL);