NDK 対応ミニポート ドライバーの初期化
ネットワーク ダイレクト カーネル (NDK) をサポートするミニポート ドライバーは、他のミニポート ドライバーと同じ方法で初期化されます。 ただし、追加の NDKPI エントリ ポイントも登録する必要があります。
DriverEntry 関数
すべてのミニポート ドライバーの DriverEntry 関数は、NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体を初期化し、次のページで説明するように NdisMRegisterMiniportDriver に渡します。
NDK 対応ミニポート ドライバーは、NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体を初期化するときに、次の操作を行う必要があります。
OidRequestHandler メンバーにおいて、ミニポート ドライバーは、次をサポートする MiniportOidRequest 関数を登録する必要があります。
すべての NDKPI OID。
NDIS ミニポート ドライバーの一般的に必須である OID。
注: これらの必須 OID の一覧については、「ミニポート ドライバーの必須 OID」を参照してください。
SetOptionsHandler メンバーでは、ミニポート ドライバーは、「省略可能なミニポート ドライバー サービスの構成」と次の MiniportSetOptions 関数のセクションの説明に従って MiniportSetOptions 関数を登録する必要があります。
MiniportSetOptions 関数
NDIS は、ミニポート ドライバーの DriverEntry 関数が返された直後に、MiniportSetOptions 関数を呼び出します。 ミニポート ドライバーの NdisMRegisterMiniportDriver への呼び出しのコンテキスト内で MiniportSetOptions 関数を呼び出します。
MiniportSetOptions 関数では、NDK 対応ミニポート ドライバーは、その NDK 機能を登録し、「オプション ミニポート ドライバー サービスの構成」の説明に従って、次の必要な NDKPI 関数エントリ ポイントを登録します。
OpenNDKAdapterHandler (OPEN_NDK_ADAPTER_HANDLER)
CloseNDKAdapterHandler (CLO Standard Edition_NDK_ADAPTER_HANDLER)
これらの関数の NDKPI エントリ ポイントを登録するために、ミニポート ドライバーの MiniportSetOptions 関数は、次の操作を行う必要があります。
NDIS_NDK_PROVIDER_CHARACTERISTICS 構造体を初期化します。
注: ヘッダー メンバーの説明に特に注意してください。 ミニポート ドライバーが NDK 対応ミニポート ドライバーとして自身を識別するには、このメンバーを正しく設定する必要があります。
関数のエントリ ポイントを構造体の OpenNDKAdapterHandler メンバーと CloseNDKAdapterHandler メンバーに格納します。
NdisSetOptionalHandlers 関数を呼び出し、OptionalHandlers パラメーターに構造体を渡します。