__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) |
另請參閱
RxDereferenceAndDeleteRxContext_Real