次の方法で共有


__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 が非同期操作に対してマークされている場合、__RxSynchronizeBlockingOperationsRxContext をキューに追加し、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 でのみ使用できます。
対象プラットフォーム デスクトップ
Header rxcontx.h (Rxcontx.h を含む)

こちらもご覧ください

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock