/* FUNCTIONS *****************************************************************/
+/*
+ * @implemented
+ */
NTSTATUS STDCALL
NtQueryInformationFile(HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
return(STATUS_INSUFFICIENT_RESOURCES);
}
+ //trigger FileObject/Event dereferencing
+ Irp->Tail.Overlay.OriginalFileObject = FileObject;
+
Irp->AssociatedIrp.SystemBuffer = SystemBuffer;
Irp->UserIosb = &IoSB;
Irp->UserEvent = &FileObject->Event;
}
+/*
+ * @implemented
+ */
NTSTATUS STDCALL
IoQueryFileInformation(IN PFILE_OBJECT FileObject,
IN FILE_INFORMATION_CLASS FileInformationClass,
ObDereferenceObject(FileObject);
return STATUS_INSUFFICIENT_RESOURCES;
}
+
+ //trigger FileObject/Event dereferencing
+ Irp->Tail.Overlay.OriginalFileObject = FileObject;
Irp->AssociatedIrp.SystemBuffer = FileInformation;
Irp->UserIosb = &IoStatusBlock;
}
+/*
+ * @implemented
+ */
NTSTATUS STDCALL
NtSetInformationFile(HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
FileInformation,
Length);
+ //trigger FileObject/Event dereferencing
+ Irp->Tail.Overlay.OriginalFileObject = FileObject;
+
Irp->AssociatedIrp.SystemBuffer = SystemBuffer;
Irp->UserIosb = &IoSB;
Irp->UserEvent = &FileObject->Event;
}
+/*
+ * @unimplemented
+ */
NTSTATUS STDCALL
NtQueryEaFile(IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
}
+/*
+ * @unimplemented
+ */
NTSTATUS STDCALL
NtSetEaFile(IN HANDLE FileHandle,
IN PIO_STATUS_BLOCK IoStatusBlock,