次の方法で共有


MRxCollapseOpen ルーチン

MRxCollapseOpen ルーチンは RDBSS によって呼び出され、ネットワーク ミニリダイレクターがファイル システムのオープン要求を既存の SRV_OPEN 構造に折りたたむように要求します。

構文

PMRX_CALLDOWN MRxCollapseOpen;

NTSTATUS MRxCollapseOpen(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

パラメーター

RxContext [in, out]
RX_CONTEXT 構造体へのポインター。 このパラメータには、操作を要求している IRP が含まれます。

戻り値

MRxCollapseOpen は、成功した場合は STATUS_SUCCESS を返すか、次のような適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_INSUFFICIENT_RESOURCES

操作を完了するにはリソースが不足していました。

解説

MRxCollapseOpen SRV_OPEN 構造をローカルで折りたたむために RDBSS によって呼び出されます。 ネットワーク ミニリダイレクターは、崩壊の可能性があるかどうかを判断するために参照されるため、ネットワーク ミニリダイレクターを 2 回呼び出す必要はありません。 ネットワーク ミニリダイレクタが SRV_OPEN 構造を折りたたむことを決定した場合、それを実行し、返されるステータスを返します。 戻り値 STATUS_SUCCESS は終了戻り値です。 別の戻り値 (STATUS_MORE_PROCESSING_REQUIRED など) は、終了しない戻り値とみなされます。

MRxCollapseOpenを呼び出す前に、RDBSS は、RxContext パラメーターが指す RX_CONTEXT 構造体の次のメンバーを変更します。

pRelevantSrvOpen は、折りたたむために SRV_OPEN 構造に設定されます。

Create.pSrvCall は、SRV_OPENに関連付けられている SRV_CALL 構造体に設定されます。

ネットワーク ミニリダイレクターが SRV_OPEN 構造を折りたたむことを決定した場合、SrvOpen RX_CONTEXT 構造体のメンバーは、折りたたまれた SRV_OPEN 構造体に設定する必要があります。

要件

対象プラットフォーム

デスクトップ

ヘッダー

Mrx.h (Mrx.h を含む)

関連項目

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend