__RxSynchronizeBlockingOperations函式 (rxcontx.h)
__RxSynchronizeBlockingOperations 會將封鎖 I/O 要求同步處理至相同的工作佇列。
語法
NTSTATUS __RxSynchronizeBlockingOperations(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in] IN PFCB Fcb,
[in, out] IN OUT PLIST_ENTRY BlockingIoQ,
[in] IN BOOLEAN DropFcbLock
);
參數
[in, out] RxContext
要同步處理之作業之RX_CONTEXT的指標。
[in] Fcb
FCB 的指標。
[in, out] BlockingIoQ
佇列LIST_ENTRY的指標。
[in] DropFcbLock
布爾值,指出是否應該釋放FCB資源。 如果此參數 TRUE,則會釋放 FCB 資源。
傳回值
__RxSynchronizeBlockingOperations 傳回成功時STATUS_SUCCESS或適當的NTSTATUS值,例如下列其中一項:
傳回碼 | 描述 |
---|---|
|
已取消 I/O 要求和相關聯的RX_CONTEXT。 |
|
RxContext 用於異步作,且已將 RxContext 新增至佇列。 |
言論
__RxSynchronizeBlockingOperations 例程會將封鎖 I/O 要求同步處理到相同的工作佇列。 RDBSS 會在內部使用 __RxSynchronizeBlockingOperations 來同步命名管道作業。 工作佇列是與 Fcb相關聯的擴展名 #FOBX 所參考的佇列。
網路迷你重新導向器可能會使用 __RxSynchronizeBlockingOperations 來同步處理網路迷你重新導向器所維護之個別佇列上的作業。
如果 RxContext 標示為異步作,__RxSynchronizeBlockingOperations 會將 RxContext 新增至佇列,並傳回STATUS_PENDING。 如果 RxContext 標示為同步作業,__RxSynchronizeBlockingOperations 會在呼叫 RxResumeBlockedOperations_Serially時,繼續 RxContext。
如果封鎖 I/O 要求已取消,__RxSynchronizeBlockingOperations 會傳回STATUS_CANCELLED來指出錯誤。
RxContext 所指向之RX_CONTEXT結構的 SyncEvent 成員必須先重設,才能呼叫 __RxSynchronizeBlockingOperations。 如果 dropFcbLock 參數設定為 true ,則 FCB 資源必須先鎖定,才能呼叫__RxSynchronizeBlockingOperations 。
下列兩個巨集是在 Windows Server 2003 或更新版本上定義,以呼叫 __RxSynchronizeBlockingOperations:
RxSynchronizeBlockingOperations - 呼叫 dropFcbLock 參數設為 FALSE。
RxSynchronizeBlockingOperationsAndDropFcbLock - 呼叫 dropFcbLock 參數設為 TRUE。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | __RxSynchronizeBlockingOperations例程僅適用於 Windows Server 2003。 |
目標平臺 | 桌面 |
標頭 | rxcontx.h (包括 Rxcontx.h) |
另請參閱
RxDereferenceAndDeleteRxContext_Real