mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 01:13:04 -05:00
sys: FspIopDispatchRetryComplete()
This commit is contained in:
parent
af5745d5fc
commit
79a6539caa
@ -714,7 +714,7 @@ VOID FspFsvolCreateComplete(
|
||||
}
|
||||
|
||||
NTSTATUS FspFsvolCreateRetryComplete(
|
||||
PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request)
|
||||
PIRP Irp)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
|
@ -228,7 +228,7 @@ typedef VOID FSP_IOCMPL_DISPATCH(
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
_IRQL_requires_same_
|
||||
typedef NTSTATUS FSP_IORETR_DISPATCH(
|
||||
_Inout_ PIRP Irp, _Inout_ FSP_FSCTL_TRANSACT_REQ *Request);
|
||||
_Inout_ PIRP Irp);
|
||||
FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete;
|
||||
FSP_IOCMPL_DISPATCH FspFsvolCloseComplete;
|
||||
FSP_IOPREP_DISPATCH FspFsvolCreatePrepare;
|
||||
@ -423,7 +423,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference);
|
||||
VOID FspIopCompleteCanceledIrp(PIRP Irp);
|
||||
NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
|
||||
VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response);
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp);
|
||||
|
||||
/* device management */
|
||||
#define FSP_DEVICE_VOLUME_NAME_LENMAX (FSP_FSCTL_VOLUME_NAME_SIZEMAX - sizeof(WCHAR))
|
||||
|
@ -19,7 +19,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference);
|
||||
VOID FspIopCompleteCanceledIrp(PIRP Irp);
|
||||
NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
|
||||
VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response);
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp);
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspIopCreateRequestFunnel)
|
||||
@ -270,17 +270,16 @@ VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response)
|
||||
FspIopCompleteFunction[IrpSp->MajorFunction](Irp, Response);
|
||||
}
|
||||
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request)
|
||||
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);
|
||||
|
||||
ASSERT(IRP_MJ_MAXIMUM_FUNCTION >= IrpSp->MajorFunction);
|
||||
if (0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction])
|
||||
return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp, Request);
|
||||
else
|
||||
return STATUS_SUCCESS;
|
||||
ASSERT(0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction]);
|
||||
|
||||
return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp);
|
||||
}
|
||||
|
||||
FSP_IOPREP_DISPATCH *FspIopPrepareFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
|
||||
|
@ -548,7 +548,7 @@ NTSTATUS FspVolumeTransact(
|
||||
if (0 == RetriedIrp)
|
||||
break;
|
||||
|
||||
Result = FspIopDispatchRetryComplete(RetriedIrp, FspIrpRequest(RetriedIrp));
|
||||
Result = FspIopDispatchRetryComplete(RetriedIrp);
|
||||
if (STATUS_PENDING == Result)
|
||||
{
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user