ミニポート ドライバーを NDIS 6.20 に移植するために必要な変更の概要

このトピックでは、NDIS 6.x ミニポート ドライバーを NDIS 6.20 に移植するために必要な変更について説明します。

NDIS 6.20 は、以前の NDIS バージョンとの下位互換性を維持しています。 下位互換性の詳細については、「NDIS 6.20 下位互換性 」を参照してください。

NDIS 6.20 環境に対応するようにミニポート ドライバーを更新するには、NDIS 6.x ミニポート ドライバーを次のように変更する必要があります。

ビルド環境
プリプロセッサ定義 NDIS60_MINIPORT_DRIVER または NDIS61_MINIPORT_DRIVER を NDIS620_MINIPORT_DRIVER に置き換えます。

一般的な移植の要件

  • 廃止されたインターフェイスを NDIS 6.20 バージョンに置き換えます。 古いインターフェイスの詳細については、「NDIS 6.20 の廃止されたインターフェイス」を参照してください。

  • 64 以上のプロセッサをサポートするように、次のインターフェイスを更新します。

    • 受信側 scaling (RSS)
    • プロセッサ情報デバイス ドライバー インターフェイス
    • リソース割り当て
    • ロックの読み取りと書き込み

    64 以上のプロセッサのサポートの詳細については、「NDIS 6.20 での 64 以上のプロセッサのサポート」を参照してください。

ドライバーの初期化

  • NdisMRegisterMiniportDriver 関数に渡す NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体の MajorNdisVersion および MinorNdisVersion メンバーで NDIS バージョンを 6.20 に設定します。

  • NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体の MajorDriverVersion メンバーと MinorDriverVersion メンバーのミニポート ドライバーのバージョンを、ドライバー固有の適切な値に設定します。

  • NDIS_MINIPORT_DRIVER_CHARACTERISTICS 構造体に直接 OID 要求エントリ ポイントを定義します。 直接 OID 要求インターフェイスのサポートは、NDIS 6.1 ドライバーでは省略可能でしたが、NDIS 6.20 ドライバーでは必須です。 ミニポート ドライバー ダイレクト OID 要求インターフェイスの詳細については、「ミニポート アダプター OID 要求」を参照してください。

ミニポート アダプターの初期化

コード パスの送受信

  • NDIS 6.20 ドライバーは、受信割り込み処理で受信側スロットル (RST) をサポートする必要があります。 MiniportInterruptDPC および MiniportMessageInterruptDPC DPC ハンドラー関数の ReceiveThrottleParameters パラメーターは、NDIS_RECEIVE_THROTTLE_PARAMETERS 構造体を指します。 遅延プロシージャ呼び出し (DPC) ハンドラーへのエントリー時、NDIS_RECEIVE_THROTTLE_PARAMETERS 構造体の MaxNblsToIndicate メンバーは、ミニポート ドライバーが DPC で示す必要があるNET_BUFFER_LIST 構造体の最大数を指定します。 RST の詳細については、「NDIS 6.20 の受信側スロットル」を参照してください。

  • NET_BUFFER 構造体の更新バージョンを使用します。

  • 必要に応じて、仮想マシン キュー (VMQ) インターフェイスをサポートします。 VMQ の詳細については、「NDIS 6.20 の仮想マシン キュー (VMQ) を参照してください。