__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 に設定されている場合は、__RxSynchronizeBlockingOperations を呼び出す前に FCB リソースロックする必要があります。
Windows Server 2003 以降では、__RxSynchronizeBlockingOperationsを呼び出すための次の 2 つのマクロが定義されています。
RxSynchronizeBlockingOperations の - DropFcbLock パラメーターを FALSE 設定した呼び出し。
RxSynchronizeBlockingOperationsAndDropFcbLock - DropFcbLock パラメーターを true 設定した呼び出し。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | __RxSynchronizeBlockingOperations ルーチンは、Windows Server 2003 でのみ使用できます。 |
| ターゲット プラットフォーム の | デスクトップ |
| ヘッダー | rxcontx.h (Rxcontx.h を含む) |
関連項目
RxCreateRxContext の
RxDereference の
RxDereferenceAndDeleteRxContext_Real
RxInitializeContext の
RxPrepareContextForReuse の