NDIS 6.80 の概要
このトピックでは、ネットワーク ドライバー インターフェイス仕様 (NDIS) 6.80 を紹介し、その主な設計上の追加について説明します。 NDIS 6.80 は Windows 10 Version 1709 に含まれています。
NDIS 6.80 は、ミニポート、プロトコル、フィルター、中間ドライバーの NDIS 6.70 のマイナー バージョン更新プログラムです。 NDIS 6.x ドライバーを NDIS 6.80 に移植する方法の詳細については、「NDIS 6.x ドライバーを NDIS 6.80 に移植する」を参照してください。
NIC ドライバーの場合、Windows 10 バージョン 1709 では、NetAdapter クラス拡張機能 (NetAdapterCx) がバージョン 1.0 からバージョン 1.1 に更新されました。
機能更新プログラム
同期 OID 要求
NDIS 6.80 では、OID の新機能である同期 OID 要求が導入されています。 同期 OID 呼び出しは、通常の OID 要求と比較して、待機時間が短く、ノンブロッキングで、スケーラブルで信頼性があります。 詳しくは、「NDIS 6.80 の同期 OID 要求インターフェイス」をご覧ください。
RSSv2
NDIS 6.80 では、Receive Side Scaling (RSS) が RSS バージョン 2 (RSSv2) にアップグレードされました。 RSSv2 は RSSv2 を改良したもので、VPort ごとの拡散を提供します。 詳しくは、「NDIS 6.80 の受信側スケーリング バージョン 2 (RSSv2)」を参照してください。
RSSv2 は、Windows 10 バージョン 1709 でのみプレビューされます。
その他の新しいネットワーク機能
NDIS は、Windows 上のネットワーク ドライバー プラットフォームのコア基盤を形成します。 NDIS 6.80 と同時に更新されたその他のネットワーク ドライバー機能の一覧については、Windows 10 バージョン 1709 の「ネットワーク」セクションの「 ドライバー開発の新機能」を参照してください。
NDIS 6.80 ドライバーの実装
NDIS 6.80 ドライバーは、「NDIS 6.30 ドライバーの実装」で定義されている要件に従う必要があります。
さらに、NDIS 6.80 ドライバーは、次の要件に準拠している必要があります。
NDIS 6.80 ドライバーは、NDIS に登録するときに正しい NDIS バージョンを報告する必要があります。
NDIS 6.80 をサポートするには、NDIS_Xxx_DRIVER_CHARACTERISTICS 構造のメジャー NDIS バージョン番号とマイナー NDIS バージョン番号を更新する必要があります。 MajorNdisVersion メンバーには 6 が含まれている必要があり、MinorNdisVersion メンバーには 80 が含まれている必要があります。 この要件は、ミニポート、プロトコル、フィルター ドライバーに適用されます。
また、コンパイラのバージョン情報も更新する必要があります (「NDIS 6.80 ドライバーのコンパイル」を参照)。
ミニポート ドライバーは、NDIS_MINIPORT_DRIVER_CHARACTERISTICS のメンバー Header を設定する必要があります。Revision を NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 に設定し、Size を NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3 に設定します。
フィルター ドライバーは、NDIS_FILTER_DRIVER_CHARACTERISTICS の Header メンバーを設定する必要があります。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 に設定します。
NDIS 6.80 ドライバーのコンパイル
NIC ドライバー
NetAdapterCx を使用して NIC ドライバーをコンパイルする方法の詳細については、「NetAdapterCx への NDIS ミニポート ドライバーの移植 (コンパイル設定)」を参照してください。
ミニポート、プロトコル、フィルター ドライバー
WDK for Windows 10 バージョン 1709 では、ヘッダーのバージョン管理がサポートされています。 ヘッダーのバージョン管理により、NDIS 6.80 ドライバーは、コンパイル時に、適切な NDIS 6.80 データ構造を使用します。
ドライバーの Visual Studio プロジェクトに、次のコンパイラ設定を追加します。
- ミニポート ドライバーの場合は、
NDIS680_MINIPORT=1
を追加します。 - フィルターまたはプロトコル ドライバーの場合は、
NDIS680=1
を追加します。
WDK の Windows 10 バージョン 1709 リリースでドライバーをビルドする方法については、「ドライバーのビルド」を参照してください。
API とデータ構造の変更
新しい API とデータ構造
次の API とデータ構造は、NDIS 6.80 の新機能です。
- MINIPORT_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE
- NdisFSynchronousOidRequest
- NdisSynchronousOidRequest
- OID_GEN_RECEIVE_SCALE_PARAMETERS_V2
- OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES
- NDIS_RECEIVE_SCALE_PARAMETERS_V2
- NDIS_RSS_SET_INDIRECTION_ENTRIES
- NDIS_RSS_SET_INDIRECTION_ENTRY
更新された API とデータ構造
次の API とデータ構造は、NDIS 6.80 で更新されました。