次の方法で共有


MRxShouldTryToCollapseThisOpen ルーチン

MRxShouldTryToCollapseThisOpen ルーチンは、RDBSS が既存のファイル システム オブジェクトに対して開いている要求を試行して折りたたむ必要があるかどうかをネットワーク ミニ リダイレクターが示すように要求するために RDBSS によって呼び出されます。

構文

PMRX_CALLDOWN MRxShouldTryToCollapseThisOpen;

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

パラメーター

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

戻り値

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

リターン コード 説明
STATUS_MORE_PROCESSING_REQUIRED

ネットワーク ミニ リダイレクターは、この開いている要求の折りたたみを無効にするために、この値を返します。

解説

開いている要求を折りたたむべきではないかどうかを判断するために、MRxShouldTryToCollapseThisOpen が呼び出されます。

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

pRelevantSrvOpen メンバーは、SRV_OPEN に設定されます。

MRxShouldTryToCollapseThisOpen の呼び出しは、ディレクトリの変更通知要求である可能性があります。 そのため、ネットワーク ミニ リダイレクターでは、変更通知が正しく機能するように、開いている要求の折りたたみが許可されない場合があります。

RDBSS では、RX_CONTEXT構造体の Create.NtCreateParameters.CreateOptions メンバーに FILE_OPEN_FOR_BACKUP_INTENT オプションまたは FILE_DELETE_ON_CLOSE オプション が設定されている場合、折りたたみが開きません。

要件

対象プラットフォーム

デスクトップ

ヘッダー

Mrx.h (Mrx.h を含む)

関連項目

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxTruncate

MRxZeroExtend