NDIS 6.89 の概要

このトピックでは、ネットワーク ドライバー インターフェイス仕様 (NDIS) 6.89 を紹介し、その主要な設計上の追加について説明します。 NDIS 6.89 は、Windows 11 バージョン 24H2 および Windows Server 2022 以降に含まれています。

NDIS 6.89 は、NDIS 6.88 のマイナー バージョン アップデートです。 NDIS 6.x ドライバーを NDIS 6.89 に移植する方法の詳細については、「NDIS 6.x ドライバーを NDIS 6.89 に移植する」を参照してください。

機能更新プログラム

NDIS 6.89 では、UDP 受信セグメント結合オフロード (URO) のサポートが追加されました。 このハードウェア オフロードにより、NIC は UDP 受信セグメントを結合できるようになります。 NIC は、一連のルールに一致する同じフローの UDP データグラムを論理的に連続したバッファに結合することができます。 これらの結合されたデータグラムは、1 つの大きなパケットとして Windows ネットワーク スタックに示されます。 UDP データグラムを結合すると、高帯域幅フローでパケットを処理するための CPU コストが削減され、スループットが向上し、バイトあたりのサイクル数が減少します。

NDIS 6.89 ドライバの実装

NDIS 6.89 ドライバーは、NDIS 6.30 ドライバーの実装で定義されている要件に従う必要があります。

さらに、NDIS 6.89 ドライバーは次の要件に準拠している必要があります。

  • NDIS 6.89 ドライバーは、NDIS に登録するときに正しい NDIS バージョンを報告する必要があります。

    • NDIS 6.89 をサポートするには、NDIS_Xxx_DRIVER_CHARACTERISTICS 構造内のメジャーおよびマイナー NDIS バージョン番号を更新する必要があります。 MajorNdisVersion メンバーには 6 が含まれ、MinorNdisVersion メンバーには 89 が含まれる必要があります。 この要件は、ミニポート、プロトコル、およびフィルター ドライバーに適用されます。 コンパイラのバージョン情報も更新する必要があります (NDIS 6.89 ドライバのコンパイルを参照)。

    • ミニポート ドライバーは、NDIS_MINIPORT_DRIVER_CHARACTERISTICS のメンバー Header を設定する必要があります。Revision を NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 に設定し、Size を NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 に設定します。

    • フィルター ドライバーは、NDIS_FILTER_DRIVER_CHARACTERISTICSHeader メンバーを設定する必要があります。Revision を NDIS_FILTER_CHARACTERISTICS_REVISION_3 に設定し、Size を NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3 に設定します。

    • プロトコル ドライバーは、NDIS_PROTOCOL_DRIVER_CHARACTERISTICS のメンバー Header を設定する必要があります。 Revision を NDIS_PROTOCOL_CHARACTERISTICS_REVISION_2 に設定し、Size を NDIS_SIZEOF_PROTOCOL _DRIVER_CHARACTERISTICS_REVISION_2 に設定します。

  • Windows 11 バージョン 24H2 および Windows Server 2022 以降の NDIS 6.89 ミニポート ドライバーでは、NDIS 6.89 バージョンのデータ構造を使用する必要があります。

NDIS 6.89 ドライバのコンパイル

Windows Server 2022 の WDK では、ヘッダーのバージョン管理がサポートされています。 ヘッダーのバージョン管理により、NDIS 6.89 ドライバーがコンパイル時に適切な NDIS 6.89 データ構造を使用するようになります。

ドライバーの Visual Studio プロジェクトに、次のコンパイラ設定を追加します。

  • ミニポート ドライバーの場合は、NDIS689_MINIPORT=1 を追加します。
  • フィルターまたはプロトコル ドライバーの場合は、NDIS689=1 を追加します。

WDK の Windows Server 2022 リリースでドライバーをビルドする方法については、「ドライバーのビルド」を参照してください。