sys: FspIopDispatchRetryComplete()

This commit is contained in:
Bill Zissimopoulos 2016-01-26 20:03:56 -08:00
parent af5745d5fc
commit 79a6539caa
4 changed files with 9 additions and 10 deletions

View File

@ -714,7 +714,7 @@ VOID FspFsvolCreateComplete(
} }
NTSTATUS FspFsvolCreateRetryComplete( NTSTATUS FspFsvolCreateRetryComplete(
PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request) PIRP Irp)
{ {
PAGED_CODE(); PAGED_CODE();

View File

@ -228,7 +228,7 @@ typedef VOID FSP_IOCMPL_DISPATCH(
_IRQL_requires_max_(APC_LEVEL) _IRQL_requires_max_(APC_LEVEL)
_IRQL_requires_same_ _IRQL_requires_same_
typedef NTSTATUS FSP_IORETR_DISPATCH( typedef NTSTATUS FSP_IORETR_DISPATCH(
_Inout_ PIRP Irp, _Inout_ FSP_FSCTL_TRANSACT_REQ *Request); _Inout_ PIRP Irp);
FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete; FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete;
FSP_IOCMPL_DISPATCH FspFsvolCloseComplete; FSP_IOCMPL_DISPATCH FspFsvolCloseComplete;
FSP_IOPREP_DISPATCH FspFsvolCreatePrepare; FSP_IOPREP_DISPATCH FspFsvolCreatePrepare;
@ -423,7 +423,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference);
VOID FspIopCompleteCanceledIrp(PIRP Irp); VOID FspIopCompleteCanceledIrp(PIRP Irp);
NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); 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 */ /* device management */
#define FSP_DEVICE_VOLUME_NAME_LENMAX (FSP_FSCTL_VOLUME_NAME_SIZEMAX - sizeof(WCHAR)) #define FSP_DEVICE_VOLUME_NAME_LENMAX (FSP_FSCTL_VOLUME_NAME_SIZEMAX - sizeof(WCHAR))

View File

@ -19,7 +19,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference);
VOID FspIopCompleteCanceledIrp(PIRP Irp); VOID FspIopCompleteCanceledIrp(PIRP Irp);
NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request);
VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); 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 #ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, FspIopCreateRequestFunnel) #pragma alloc_text(PAGE, FspIopCreateRequestFunnel)
@ -270,17 +270,16 @@ VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response)
FspIopCompleteFunction[IrpSp->MajorFunction](Irp, Response); FspIopCompleteFunction[IrpSp->MajorFunction](Irp, Response);
} }
NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request) NTSTATUS FspIopDispatchRetryComplete(PIRP Irp)
{ {
PAGED_CODE(); PAGED_CODE();
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);
ASSERT(IRP_MJ_MAXIMUM_FUNCTION >= IrpSp->MajorFunction); ASSERT(IRP_MJ_MAXIMUM_FUNCTION >= IrpSp->MajorFunction);
if (0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction]) ASSERT(0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction]);
return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp, Request);
else return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp);
return STATUS_SUCCESS;
} }
FSP_IOPREP_DISPATCH *FspIopPrepareFunction[IRP_MJ_MAXIMUM_FUNCTION + 1]; FSP_IOPREP_DISPATCH *FspIopPrepareFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];

View File

@ -548,7 +548,7 @@ NTSTATUS FspVolumeTransact(
if (0 == RetriedIrp) if (0 == RetriedIrp)
break; break;
Result = FspIopDispatchRetryComplete(RetriedIrp, FspIrpRequest(RetriedIrp)); Result = FspIopDispatchRetryComplete(RetriedIrp);
if (STATUS_PENDING == Result) if (STATUS_PENDING == Result)
{ {
/* /*