/* FUNCTIONS ****************************************************************/
+extern BOOLEAN IoCreateStreamFileObjectLite_is_owner(FILE_OBJECT *FileObject);
+
VOID STDCALL
IopCloseFile(PVOID ObjectBody,
ULONG HandleCount)
UserMode);
KeResetEvent( &FileObject->Event );
+ if (IoCreateStreamFileObjectLite_is_owner(FileObject))
+ {
+ return;
+ }
+
Irp = IoBuildSynchronousFsdRequest(IRP_MJ_CLEANUP,
FileObject->DeviceObject,
NULL,
}
}
+extern BOOLEAN IoCreateStreamFileObjectLite_is_owner(FILE_OBJECT *FileObject);
+extern void IoCreateStreamFileObjectLite_remove(FILE_OBJECT *FileObject);
+
VOID STDCALL
IopDeleteFile(PVOID ObjectBody)
{
ExFreePool(FileObject->FileName.Buffer);
FileObject->FileName.Buffer = 0;
}
+
+ if (IoCreateStreamFileObjectLite_is_owner(FileObject))
+ {
+ IoCreateStreamFileObjectLite_remove(FileObject);
+ }
}