次の方法で共有


MRxDevFcbXXXControlFile ルーチン

MRxDevFcbXXXControlFile ルーチンは、RDBSS によって呼び出され、デバイス FCB 制御要求 (IOCTL または FSCTL 要求) をネットワーク ミニリダイレクターに渡します。

構文

PMRX_CALLDOWN MRxDevFcbXXXControlFile;

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

パラメーター

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

戻り値

MRxDevFcbXXXControlFile は、成功した場合は STATUS_SUCCESS を返すか、次のいずれかの適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_ACCESS_DENIED

ネットワーク ミニリダイレクターを停止または開始する要求が行われましたが、呼び出し元にはこの操作に対する適切なセキュリティがありませんでした。

STATUS_INVALID_DEVICE_REQUEST

無効なデバイス要求がネットワーク ミニリダイレクターに送信されました。

STATUS_REDIRECTOR_HAS_OPEN_HANDLES

これはネットワーク ミニリダイレクターを停止する要求でしたが、リダイレクターにはオープン ハンドルがあるため、現時点では停止できません。

STATUS_REDIRECTOR_NOT_STARTED

これはネットワーク ミニリダイレクターを停止する要求でしたが、リダイレクターは開始されていませんでした。

STATUS_REDIRECTOR_STARTED

これはネットワーク ミニリダイレクターを開始する要求でしたが、リダイレクターはすでに開始されています。

解説

MRxDevFcbXXXControlFile は、ネットワーク ミニリダイレクターに送信されるデバイス FCB に関連する IOCTL および FSCTL 要求を処理します。

MRxDevFcbXXXControlFile を呼び出す前に、RDBSS は、RxContext パラメータによりポイントされるRX_CONTEXT 構造体の次のメンバーを変更します。

MajorFunction は、IRPの主要機能に設定されています

これが IRP_MJ_FILE_SYSTEM_CONTROL リクエストである場合、RDBSS は、RxContext パラメータによりポイントされた RX_CONTEXT 構造体の以下のメンバーを変更します。

LowIoContext.ParamsFor.FsCtl.MinorFunction は、FSCTLコードのマイナー機能コードに設定されます

LowIoContext.ParamsFor.FsCtl.FsControlCodeは、IRP の FSCTL コードに設定されます。

これが IRP_MJ_DEVICE_CONTROL または IRP_MJ_INTERNAL_DEVICE_CONTROL リクエストである場合、RDBSS は、RxContext パラメータによりポイントされる RX_CONTEXT 構造体の以下のメンバーを変更します。

LowIoContext.ParamsFor.FsCtl.FsControlCode は、IRP の制御コードに設定されます。

MRxDevFcbXXXControlFile がSTATUS_SUCCESS を返した場合、ルーチンは成功しました。 それ以外の戻り値は、エラーが発生したことを示します。

要件

対象プラットフォーム

デスクトップ

ヘッダー

Mrx.h (Mrx.h を含む)

関連項目

MRxStart

MRxStop