次の方法で共有


MRxSetFileInfoAtCleanup ルーチン

MRxSetFileInfoAtCleanup ルーチンは RDBSS によって呼び出され、ネットワーク ミニ リダイレクターが、クリーンアップ時にファイル システム オブジェクトにファイル情報を設定するように要求します。

構文

PMRX_CALLDOWN MRxSetFileInfoAtCleanup;

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

パラメーター

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

戻り値

MRxSetFileInfoAtCleanup は、成功した場合に STATUS_SUCCESS または適切な NTSTATUS 値を返します。

解説

RDBSS は、ファイル オブジェクトへの最後のハンドルが閉じられたときに、クリーンアップ 中に MRxSetFileInfoAtCleanup の呼び出しを発行します。 これは、ファイル オブジェクトへの最後の参照が削除されたときに呼び出される閉じる操作とは異なります。

ファイルのタイムスタンプまたはファイルのサイズが変更された場合、MRxSetFileInfoAtCleanup は RDBSS によって呼び出されます。 RDBSS による MRxSetFileInfoAtCleanup の呼び出しは、これらの変更ごとに個別に行われます。 ファイル サイズとタイムスタンプの両方が変更された場合、RDBSS は MRxSetFileInfoAtCleanup を 2 回呼び出します。

MRxSetFileInfoAtCleanup を呼び出す前に、RDBSS は、ファイルのタイムスタンプが変更された場合に RxContext パラメーターが指す RX_CONTEXT 構造体の次のメンバーを変更します。

Info.FileInformationClass メンバーは、FileBasicInformation の FILE_INFORMATION_CLASS 値に設定されます。

Info.Buffer メンバーは、スタックに割り当てられた FILE_BASIC_INFORMATION 構造体に設定されます。

Info.Length メンバーは、FILE_BASIC_INFORMATION 構造体のサイズに設定されます。

ファイルのサイズが変更された場合、MRxSetFileInfoAtCleanup を呼び出す前に、RDBSS は RxContext パラメーターが指す RX_CONTEXT 構造体の次のメンバーを変更します。

Info.FileInformationClass メンバーは、FileEndOfFileInformation の FILE_INFORMATION_CLASS 値に設定されます。

Info.Buffer メンバーは、スタックに割り当てられた FILE_END_OF_FILE_INFORMATION 構造体に設定されます。

Info.Length メンバーは sizeof(FILE_END_OF_FILE_INFORMATION) に設定されます。

RDBSS は、MRxSetFileInfoAtCleanup からの戻り値を無視します。

ネットワーク ミニ リダイレクターは、このルーチンで何も実行せず、STATUS_SUCCESS を返すことができます。 ファイル サイズまたはタイムスタンプに対する変更は、クリーンアップ操作中に処理されます。

要件

対象プラットフォーム

デスクトップ

ヘッダー

Mrx.h (Mrx.h を含む)

関連項目

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo