共用方式為


__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock函式

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock會將 封鎖 I/O 要求同步處理至相同的工作佇列。

語法

NTSTATUS __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock(
  _Inout_ PRX_CONTEXT RxContext,
  _Inout_ PLIST_ENTRY BlockingIoQ,
  _In_    BOOLEAN     DropFcbLock
);

參數

RxContext [in, out]
正在同步處理之作業RX_CONTEXT的指標。

BlockingIoQ [in, out]
佇列LIST_ENTRY的指標。

DropFcbLock [in]
布爾值,指出是否應該釋放FCB資源。 如果此參數為 TRUE,則會釋放 FCB 資源。

傳回值

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 會傳回成功或適當NTSTATUS值STATUS_SUCCESS,例如下列其中一項:

傳回碼 Description
STATUS_CANCELLED

已取消 I/O 要求和相關聯的RX_CONTEXT。

STATUS_PENDING

RxContext 用於異步操作,且 RxContext 已新增至佇列。

備註

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock例程會將封鎖 I/O 要求同步處理至相同的工作佇列。 RDBSS 會在內部使用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 同步命名管道作業。 工作佇列是與 RxContext 所指向之RX_CONTEXT結構 pFcb 成員相關聯之 file object extension) (FOBX 所參考的佇列。

網路迷你重新導向器可能會使用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 來同步處理網路迷你重新導向器所維護之個別佇列上的作業。

如果 RxContext 標示為異步操作, __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 會將 RxContext 新增至佇列,並傳回STATUS_PENDING。 如果 RxContext 標示為同步作業,__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock將會封鎖,並在呼叫 RxResumeBlockedOperations_Serially時繼續 RxContext

如果封鎖 I/O 要求已取消, __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 會傳回STATUS_CANCELLED以指出錯誤。

RxContext 所指向之RX_CONTEXT結構的 SyncEvent 成員必須先重設,才能呼叫 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock。 如果DropFcbLock參數設定為TRUE,則必須鎖定FCB資源,才能呼叫 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock

下列兩個宏定義於 Windows XP 和 Windows 2000 上,以呼叫 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock

RxSynchronizeBlockingOperations - 將 DropFcbLock 參數設定為 FALSE 的呼叫。

RxSynchronizeBlockingOperationsAndDropFcbLock - 呼叫 DropFcbLock 參數設為 TRUE

規格需求

目標平台

桌面

版本

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock例程僅適用於 Windows XP 和 Windows 2000。

標頭

Rxcontx.h (包含 Rxcontx.h)

另請參閱

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations