次の方法で共有


MRxQueryDirectory ルーチン

MRxQueryDirectory ルーチンは RDBSS によって呼び出され、ネットワーク ミニ リダイレクターがファイル ディレクトリに関する情報をクエリするように要求します。

構文

PMRX_CALLDOWN MRxQueryDirectory;

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

パラメーター

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

戻り値

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

リターン コード 説明
STATUS_ACCESS_DENIED

呼び出し元には、この操作に対する適切なセキュリティが不足しています。

STATUS_INSUFFICIENT_RESOURCES

クエリを完了するためのリソースが不足していました。

STATUS_INVALID_NETWORK_RESPONSE

無効なファイル情報バッファーがリモート サーバーから受信されたか、返されたファイル名の長さが最大許容長を超えました。

STATUS_INVALID_PARAMETER

RxContext パラメーターが指す RX_CONTEXT 構造体の Info.FileInformationClass メンバーに無効な FileInformationClass が指定されました。

STATUS_LINK_FAILED

リモート サーバーに再接続してクエリを完了できませんでした。

STATUS_NO_SUCH_FILE

クエリでエントリが見つかりません。

STATUS_SHARING_VIOLATION

共有違反が発生しました。

解説

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

Info.FileInformationClass メンバーは IrpSp->Parameters.QueryDirectory.FileInformationClass に設定されます。

Info.Buffer メンバーは、I/O 要求パケットからユーザー バッファーに設定されます。 このバッファーは、必要に応じて RDBSS によって既にロックされています。

Info.LengthRemaining メンバーは IrpSp->Parameters.QueryDirectory.Length に設定されます。

QueryDirectory.FileIndex メンバーは IrpSp->Parameters.QueryDirectory.FileIndex に設定されています。

IrpSp->Flagsに SL_RESTART_SCAN ビットがオンの場合、QueryDirectory.RestartScan メンバーは 0 以外に設定されます。

IrpSp->Flags に SL_RETURN_SINGLE_ENTRY ビットがオンの場合、QueryDirectory.ReturnSingleEntry メンバーは 0 以外に設定されます。

IrpSp->Flags に SL_INDEX_SPECIFIED ビットがオンの場合、QueryDirectory.IndexSpecified メンバーは 0 以外に設定されます。

関連付けられた FOBX の UnicodeQueryTemplate.Buffer メンバーが NULL で、FOBX の「フラグ」メンバーに FOBX_FLAG_MATCH_ALL ビットがオンでない場合、QueryDirectory.InitialQuery メンバーは 0 以外に設定されます。

ワイルド カード クエリ ("*.*" など) の場合、RDBSS は、関連付けられている FOBX の UnicodeQueryTemplate.Buffer メンバーを、渡された野生のカード クエリに設定します。

MRxQueryDirectory からの戻り時に RX_CONTEXT 構造体の PostRequest メンバーが TRUE の場合、RDBSS は RxFsdPostRequest を呼び出し、ファイル システム プロセス (FSP) による処理のために RX_CONTEXT 構造体をワーカー キューに渡します。

要件

対象プラットフォーム

デスクトップ

ヘッダー

Mrx.h (Mrx.h を含む)

関連項目

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest