NDIS 6.85 の概要

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

NDIS 6.85 は、NDIS 6.84 のマイナー バージョン更新プログラムです。 NDIS 6.x ドライバーを NDIS 6.85 に移植する方法の詳細については、「NDIS 6.x ドライバーを NDIS 6.85 に移植する」を参照してください。

機能更新プログラム

NDIS ポーリング モード

NDIS 6.85 では、ネットワーク インターフェイス データパスを駆動する OS 制御のポーリング実行モデルである NDIS ポーリング モードが導入されています。 以前は、NDIS ドライバーは通常、遅延プロシージャ呼び出し (DPC) に依存して、実行モデルを実装していました。 NDIS ポーリング モードは、NIC ドライバーから NDIS に、スケジュール決定の複雑さを移動します。 詳細については、「NDIS ポーリング モード」を参照してください。

UDP セグメンテーション オフロード (USO) で Generic Routing Encapsulation (NVGRE) を使用したネットワーク仮想化

NDIS 6.85 では、UDP セグメント化オフロード (USO) での NVGRE のサポート が導入されています。 NDIS ミニポート、プロトコル、フィルター ドライバー、および USO を実行する NIC は、NVGRE と VXLAN のカプセル化をサポートする必要があります。

NDIS 6.85 ドライバーの実装

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

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

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

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

    • ミニポート ドライバーは、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 10 バージョン 21H2 および Windows Server 2022 以降の NDIS 6.85 ミニポート ドライバーでは、NDIS 6.85 バージョンのデータ構造を使用する必要があります。

NDIS 6.85 ドライバーのコンパイル

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

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

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

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