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 を含む) |