次の方法で共有


__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 値を返します。

リターン コード 形容
STATUS_CANCELLED
I/O 要求と関連付けられているRX_CONTEXTが取り消されました。
STATUS_PENDING
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 を含む)

関連項目

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock