次の方法で共有


PMRX_CALLDOWN_CTX コールバック関数 (mrx.h)

MRxStart ルーチンは、ネットワーク ミニ リダイレクターを開始するために RDBSS によって呼び出されます。

構文

PMRX_CALLDOWN_CTX PmrxCalldownCtx;

NTSTATUS PmrxCalldownCtx(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}

パラメーター

[in, out] RxContext

RX_CONTEXT構造体へのポインター。 このパラメーターには、ネットワーク ミニ リダイレクターの起動を要求した IRP が含まれています。

[in, out] RxDeviceObject

このネットワーク ミニ リダイレクターのRDBSS_DEVICE_OBJECT構造体へのポインター。

戻り値

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

リターン コード 説明
STATUS_REDIRECTOR_STARTED ネットワーク ミニ リダイレクターは既に開始されています。
STATUS_UNSUCCESSFUL ネットワーク ミニ リダイレクターが正常に起動できませんでした。

注釈

MRxStart は、RDBSS の観点からネットワーク ミニ リダイレクターの初期化を完了します。 これは 、DriverEntry ルーチンで実行される初期化とは異なっていることに注意してください。 RDBSS に依存する初期化は、このルーチンの一部として行う必要があります。一方、RDBSS に依存しない初期化は DriverEntry ルーチンで行う必要があります。

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

MajorFunction メンバーは、IRP のメジャー関数に設定されます。

LowIoContext.ParamsFor.FsCtl.FsControlCode メンバーは、ネットワーク ミニ リダイレクターを開始するために使用される FSTCL 要求である場合、IRP の FSCTL コードに設定されます。

MRxStart は、 RxStartMinirdr ルーチンから RDBSS によって呼び出されます。 MRxStart を呼び出す前に、RDBSS はネットワーク ミニ リダイレクターの RxDeviceObject をファイル システムとして登録します。 ネットワーク ミニ リダイレクターが UNC 名のサポートを示している場合、RDBSS はネットワーク ミニ リダイレクターを UNC プロバイダーとして登録します。

MRxStart がSTATUS_SUCCESSを返した場合、ルーチンは成功しました。 その他の戻り値は、スタートアップ シーケンスでエラーが発生したことを示します。

MRxStart がSTATUS_SUCCESSを返す場合、RDBSS は RDBSS の状態をRDBSS_STARTEDに設定します。 この状態は、RxDeviceObject が指すRDBSS_DEVICE_OBJECT構造体の StartStopContext.State メンバーに格納されます。

通常、ネットワーク ミニ リダイレクターは、ネットワーク ミニ リダイレクターが開始されるかどうかを示す内部変数を保持します。 たとえば、ネットワーク ミニ リダイレクターは、停止、開始、開始操作または停止操作の進行中を追跡する場合があります。

要件

要件
対象プラットフォーム デスクトップ
Header mrx.h (Mrx.h を含む)

こちらもご覧ください

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr