X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=ntoskrnl%2Fio%2Ffile.c;h=c84382fca60544b5c0f15d9a51472f8da602349f;hp=098356f3aff6f960d726010077f854f425d59c4f;hb=HEAD;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/ntoskrnl/io/file.c b/ntoskrnl/io/file.c index 098356f..c84382f 100644 --- a/ntoskrnl/io/file.c +++ b/ntoskrnl/io/file.c @@ -26,6 +26,9 @@ /* FUNCTIONS *****************************************************************/ +/* + * @implemented + */ NTSTATUS STDCALL NtQueryInformationFile(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, @@ -80,6 +83,9 @@ NtQueryInformationFile(HANDLE FileHandle, return(STATUS_INSUFFICIENT_RESOURCES); } + //trigger FileObject/Event dereferencing + Irp->Tail.Overlay.OriginalFileObject = FileObject; + Irp->AssociatedIrp.SystemBuffer = SystemBuffer; Irp->UserIosb = &IoSB; Irp->UserEvent = &FileObject->Event; @@ -126,6 +132,9 @@ NtQueryInformationFile(HANDLE FileHandle, } +/* + * @implemented + */ NTSTATUS STDCALL IoQueryFileInformation(IN PFILE_OBJECT FileObject, IN FILE_INFORMATION_CLASS FileInformationClass, @@ -161,6 +170,9 @@ IoQueryFileInformation(IN PFILE_OBJECT FileObject, ObDereferenceObject(FileObject); return STATUS_INSUFFICIENT_RESOURCES; } + + //trigger FileObject/Event dereferencing + Irp->Tail.Overlay.OriginalFileObject = FileObject; Irp->AssociatedIrp.SystemBuffer = FileInformation; Irp->UserIosb = &IoStatusBlock; @@ -201,6 +213,9 @@ IoQueryFileInformation(IN PFILE_OBJECT FileObject, } +/* + * @implemented + */ NTSTATUS STDCALL NtSetInformationFile(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, @@ -293,6 +308,9 @@ NtSetInformationFile(HANDLE FileHandle, FileInformation, Length); + //trigger FileObject/Event dereferencing + Irp->Tail.Overlay.OriginalFileObject = FileObject; + Irp->AssociatedIrp.SystemBuffer = SystemBuffer; Irp->UserIosb = &IoSB; Irp->UserEvent = &FileObject->Event; @@ -410,6 +428,9 @@ NtQueryFullAttributesFile(IN POBJECT_ATTRIBUTES ObjectAttributes, } +/* + * @unimplemented + */ NTSTATUS STDCALL NtQueryEaFile(IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, @@ -426,6 +447,9 @@ NtQueryEaFile(IN HANDLE FileHandle, } +/* + * @unimplemented + */ NTSTATUS STDCALL NtSetEaFile(IN HANDLE FileHandle, IN PIO_STATUS_BLOCK IoStatusBlock,