sys: IRP_MN_NOTIFY_CHANGE_DIRECTORY: implementation and related changes

This commit is contained in:
Bill Zissimopoulos
2016-03-31 16:30:03 -07:00
parent fdb74e60ee
commit aa81e1ffe5
9 changed files with 308 additions and 33 deletions

View File

@ -73,6 +73,20 @@ static NTSTATUS FspFsvolCleanup(
FspFileNodeCleanup(FileNode, FileObject, &DeletePending);
/* if this is a directory inform the FSRTL Notify mechanism */
if (FileNode->IsDirectory)
{
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension =
FspFsvolDeviceExtension(FsvolDeviceObject);
if (DeletePending)
FspNotifyDeletePending(
FsvolDeviceExtension->NotifySync, &FsvolDeviceExtension->NotifyList, FileNode);
FspNotifyCleanup(
FsvolDeviceExtension->NotifySync, &FsvolDeviceExtension->NotifyList, FileDesc);
}
/* create the user-mode file system request; MustSucceed because IRP_MJ_CLEANUP cannot fail */
FspIopCreateRequestMustSucceedEx(Irp, DeletePending ? &FileNode->FileName : 0, 0,
FspFsvolCleanupRequestFini, &Request);