1
0
mirror of https://github.com/winfsp/winfsp.git synced 2025-11-09 07:28:38 -06:00

sys: FspVolumeTransactFsext

This commit is contained in:
Bill Zissimopoulos
2019-06-22 15:18:16 -07:00
parent dcf7e4c5a6
commit f5fde4c0bb
3 changed files with 34 additions and 21 deletions

View File

@@ -99,27 +99,7 @@ static NTSTATUS FspFsctlFileSystemControl(
break;
default:
if (0 != IrpSp->FileObject->FsContext2)
{
PDEVICE_OBJECT FsvolDeviceObject = IrpSp->FileObject->FsContext2;
if (!FspDeviceReference(FsvolDeviceObject))
{
Result = STATUS_CANCELLED;
break;
}
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(
FsvolDeviceObject);
if (IrpSp->Parameters.FileSystemControl.FsControlCode ==
FsvolDeviceExtension->VolumeParams.FsextControlCode)
{
FSP_FSEXT_PROVIDER *Provider = FspFsextProvider(
FsvolDeviceExtension->VolumeParams.FsextControlCode, 0);
if (0 != Provider)
Result = Provider->DeviceTransact(FsvolDeviceObject, Irp);
}
FspDeviceDereference(FsvolDeviceObject);
}
Result = FspVolumeTransactFsext(FsctlDeviceObject, Irp, IrpSp);
break;
}
break;