MRxLowIOSubmit[LOWIO_OP_FSCTL] ルーチン
MRxLowIOSubmit[LOWIO_OP_FSCTL] ルーチンは、リモート ファイルでネットワーク ミニ リダイレクターがファイル システム制御要求を発行するように要求するために RDBSS によって呼び出されます。
構文
PMRX_CALLDOWN MRxLowIOSubmit[LOWIO_OP_FSCTL];
NTSTATUS MRxLowIOSubmit[LOWIO_OP_FSCTL](
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
パラメーター
RxContext [in, out]
RX_CONTEXT 構造体へのポインター。 このパラメーターには、操作を要求している IRP が含まれています。
戻り値
MRxLowIOSubmit[LOWIO_OP_FSCTL] は、成功した場合の STATUS_SUCCESS や、次のいずれかのような該当する NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
STATUS_CONNECTION_DISCONNECTED | 接続が切断されました。 |
STATUS_INSUFFICIENT_RESOURCES | 要求を完了するためのリソースが不足していました。 |
STATUS_INVALID_DEVICE_REQUEST | 無効なデバイス要求が指定されました。 |
STATUS_INVALID_NETWORK_RESPONSE | リモート サーバーから無効な応答を受信しました。 |
STATUS_INVALID_PARAMETER | RxContext に無効なパラメータが指定されました。 |
STATUS_LINK_FAILED | リモート サーバーに再接続して要求を完了できませんでした。 |
STATUS_NOT_IMPLEMENTED | このルーチンは実装されていません。 |
STATUS_NOT_SUPPORTED | 指定された FSCTL は、ネットワーク ミニ リダイレクターではサポートされていません。 |
STATUS_UNSUCCESSFUL | 呼び出しに失敗しました。 |
解説
RDBSS は、IRP_MJ_FILE_SYSTEM_CONTROL 要求の受信に応答して MRxLowIOSubmit[LOWIO_OP_FSCTL] を呼び出します。
MRxLowIOSubmit[LOWIO_OP_FSCTL] を呼び出す前に、RDBSS は RxContext パラメーターが指す RX_CONTEXT 構造体の次のメンバーを変更します。
LowIoContext.Operation メンバーが LOWIO_OP_FSCTL に設定されています。
LowIoContext.ResourceThreadId メンバーは、RDBSS で操作を開始したプロセスのスレッドに設定されます。
LowIoContext.ParamsFor.FsCtl.FsControlCode メンバーは、FSCTL メジャー コントロール コードに設定されます。
LowIoContext.ParamsFor.FsCtl.MinorFunction メンバーは、FSCTL マイナー コントロール コードに設定されます。
LowIoContext.ParamsFor.FsCtl.pInputBuffer メンバーは入力バッファーに設定されます。
LowIoContext.ParamsFor.FsCtl.InputBufferLength メンバーは、入力バッファーの長さに設定されます。
LowIoContext.ParamsFor.FsCtl.pOutputBuffer メンバーは出力バッファーに設定されます。
LowIoContext.ParamsFor.FsCtl.OutputBufferLength メンバーは、出力バッファーの長さに設定されます。
ネットワーク ミニ リダイレクターによって処理されるファイル システム制御コード (FSCTL) 要求は、いくつかのカテゴリのいずれかに分類できます。
RDBSS およびネットワーク ミニ リダイレクターによって実装および使用される FSCTL
ネットワーク ミニ リダイレクターによってのみ実装および使用される FSCTL
ネットワーク ミニ リダイレクターでは決して表示されない FSCTL。 これらの FSCTL は、デバッグ支援のみを目的としています。
MRxLowIOSubmit[LOWIO_OP_FSCTL] ルーチンが処理されている間、RX_CONTEXTの LowIoContext.ResourceThreadId メンバーは、RDBSS で操作を開始したプロセスのスレッドを示していることが保証されます。 RX_CONTEXTの LowIoContext.ResourceThreadId メンバーを使用して、別のスレッドの代わりに入力リソースを解放できます。 非同期ルーチンが完了すると、初期スレッドから取得された入力リソースを解放できます。
要件
対象プラットフォーム |
デスクトップ |
ヘッダー |
Mrx.h (Mrx.h を含む) |
関連項目
MRxLowIOSubmit[LOWIO_OP_EXCLUSIVELOCK]
MRxLowIOSubmit[LOWIO_OP_IOCTL]
MRxLowIOSubmit[LOWIO_OP_NOTIFY_CHANGE_DIRECTORY]
MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]
MRxLowIOSubmit[LOWIO_OP_UNLOCK]