if (DeviceObject->DriverObject->FastIoDispatch != NULL &&
DeviceObject->DriverObject->FastIoDispatch->FastIoQueryBasicInfo != NULL &&
DeviceObject->DriverObject->FastIoDispatch->FastIoQueryBasicInfo(FileObject,
- (FileObject->Flags & FO_SYNCHRONOUS_IO),
+ ((FileObject->Flags & FO_SYNCHRONOUS_IO) != 0),
BasicInfo,
&IoStatusBlock,
DeviceObject))
PFILE_COMPLETION_INFORMATION CompletionInfo = FileInformation;
PIO_COMPLETION_CONTEXT Context;
PFILE_RENAME_INFORMATION RenameInfo;
- HANDLE TargetHandle = INVALID_HANDLE_VALUE;
+ HANDLE TargetHandle = NULL;
PAGED_CODE();
IOTRACE(IO_API_DEBUG, "FileHandle: %p\n", FileHandle);
Status = IoCallDriver(DeviceObject, Irp);
}
}
+ else
+ {
+ Status = STATUS_INVALID_PARAMETER;
+ Irp->IoStatus.Status = Status;
+ }
}
else
{
if (!LocalEvent) IopUnlockFileObject(FileObject);
}
- if (TargetHandle != INVALID_HANDLE_VALUE)
+ if (TargetHandle != NULL)
{
ObCloseHandle(TargetHandle, KernelMode);
}