次の方法で共有


NdisMRegisterMiniportDriver 関数 (ndis.h)

ミニポート ドライバーは、NdisMRegisterMiniportDriver 関数 呼び出して、初期化の最初 手順として NDIS エントリ ポイントを登録します。

構文

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

パラメーター

[in] DriverObject

ミニポート ドライバーが Argument1 パラメーターで DriverEntry ルーチンで受け取った不透明なドライバー オブジェクトへのポインター (NDIS ミニポート ドライバー の DriverEntry参照)。

[in] RegistryPath

ミニポート ドライバーが Argument2 パラメーターで DriverEntry ルーチンで受け取った不透明なレジストリ パスへのポインター。

[in, optional] MiniportDriverContext

ドライバーが状態と構成情報を保持する、ドライバーによって割り当てられたコンテキスト領域へのハンドル。

[in] MiniportDriverCharacteristics

へのポインター呼び出し元 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 初期化された構造体。

[out] NdisMiniportDriverHandle

呼び出し元が指定したハンドル変数へのポインター。 NDIS は、このドライバーを一意に識別するこの変数にハンドルを書き込みます。 ドライバーは、後続の NdisXxx 関数呼び出しで使用するために、このハンドルを保存する必要があります。

戻り値

NdisMRegisterMiniportDriver は、次のいずれかの状態値を返します。

リターン コード 形容
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver ミニポート ドライバーが正常に登録

NDIS_STATUS_BAD_CHARACTERISTICS
CharacteristicsLength パラメーターは、ミニポートDriverCharacteristics の構造体の MajorNdisVersion メンバーで指定されている NDIS バージョン 正しくありません。
NDIS_STATUS_BAD_VERSION
特性構造で指定された MajorNdisVersion または minorNdisVersion が無効です。
NDIS_STATUS_RESOURCES
リソースの不足 (場合によってはメモリ) により、NDIS が呼び出し元を登録できなくなります。
NDIS_STATUS_FAILURE
これは既定のエラー状態であり、上記のエラーのいずれも登録が失敗しなかった場合に返されます。

備考

NDIS ドライバーは、DriverEntry ルーチンから NdisMRegisterMiniportDriver を呼び出します。 詳細については、「NDIS ミニポート ドライバーの DriverEntryを参照してください。

すべてのミニポート ドライバーは、特性構造を設定し、NdisMRegisterMiniportDriver を呼び出すことによって、標準 ミニポートXxx 関数のセットをエクスポートします。 NDIS は、NDIS 内部記憶域に特性構造をコピーします。 そのため、登録した後、ドライバーは、その ミニポートXxx エントリ ポイントを変更することはできません。

その仮想ミニポート インターフェイスを登録するには、NDIS 中間ドライバー NdisMRegisterMiniportDriver を呼び出す必要があります、ミニポートDriverCharacteristics の構造体に設定NDIS_INTERMEDIATE_DRIVERフラグ します。 WDM 下端を持つ NDIS ドライバーは、ミニポートDriverCharacteristics の構造体にNDIS_WDM_DRIVERフラグが設定 NdisMRegisterMiniportDriver 呼び出す必要があります。

ドライバーは、組み合わされたミニポート ドライバーと中間ドライバーとして登録できます。 その物理ミニポート ドライバーを登録するには、ミニポート 中間ドライバー呼び出し NdisMRegisterMiniportDriver 任意のミニポート ドライバーの場合と同様に、適切なパラメーターを します。 その仮想ミニポート インターフェイスを登録するには、ドライバー NdisMRegisterMiniportDriver を再度呼び出しますが、ミニポートDriverCharacteristics パラメーターにNDIS_INTERMEDIATE_DRIVERフラグを設定します。

ミニポート ドライバーが省略可能なサービスを登録するには、NDIS ミニポート セットOptions 関数 NdisMRegisterMiniportDriverのコンテキスト内で呼び出します。

ドライバー NdisMRegisterMiniportDriverを呼び出した後、ドライバーは、DriverEntry が返された後、いつでも ミニポートDriverCharacteristics パラメーターで指定されている ミニポートInitializeEx 関数で呼び出されるように準備する必要があります。

NdisMRegisterMiniportDriver が正常に戻った後にDriverEntry でエラーが発生した場合、ドライバーは次を呼び出す必要があります。DriverEntry が返 前に、NdisMDeregisterMiniportDriver 関数を します。 DriverEntry 成功した場合、ドライバーは、ミニポートDriverUnload 関数から ndisMDeregisterMiniportDriver 呼び出す必要があります。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する Irql_Miniport_Driver_Function(ndis)

関連項目

ミニポート ドライバー の初期化の

DriverEntry

ミニポートDriverUnload する

ミニポートInitializeEx

ミニポート セットオプション

NdisMDeregisterMiniportDriver NDIS_MINIPORT_DRIVER_CHARACTERISTICS