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;