次の方法で共有


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_READ]

MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK_MULTIPLE]

MRxLowIOSubmit[LOWIO_OP_WRITE]