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 は、次のいずれかの状態値を返します。
リターン コード | 形容 |
---|---|
|
NdisMRegisterMiniportDriver ミニポート ドライバーが正常に登録。 |
|
CharacteristicsLength パラメーターは、ミニポートDriverCharacteristics の構造体の MajorNdisVersion メンバーで指定されている NDIS バージョン 正しくありません。 |
|
特性構造で指定された MajorNdisVersion または minorNdisVersion が無効です。 |
|
リソースの不足 (場合によってはメモリ) により、NDIS が呼び出し元を登録できなくなります。 |
|
これは既定のエラー状態であり、上記のエラーのいずれも登録が失敗しなかった場合に返されます。 |
備考
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) |
関連項目
ミニポート ドライバー の初期化の
ミニポートDriverUnload を する
NdisMDeregisterMiniportDriver の NDIS_MINIPORT_DRIVER_CHARACTERISTICS