mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-30 19:48:38 -05:00 
			
		
		
		
	sys: FspIopDispatchRetryComplete()
This commit is contained in:
		| @@ -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) | ||||
|         { | ||||
|             /* | ||||
|   | ||||
		Reference in New Issue
	
	Block a user