NDIS_HD_SPLIT_CURRENT_CONFIG 構造体 (ntddndis.h)

NDIS_HD_SPLIT_CURRENT_CONFIG構造体は、ミニポート アダプターの現在のヘッダー データ分割構成を提供します。

構文

typedef struct _NDIS_HD_SPLIT_CURRENT_CONFIG {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              HDSplitCombineFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_CURRENT_CONFIG, *PNDIS_HD_SPLIT_CURRENT_CONFIG;

メンバー

Header

NDIS_HD_SPLIT_CURRENT_CONFIG構造体のNDIS_OBJECT_HEADER構造体。 ドライバーは、Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_DEFAULT、Revision メンバーをNDIS_HD_SPLIT_CURRENT_CONFIG_REVISION_1に、Size メンバーをNDIS_SIZEOF_HD_SPLIT_CURRENT_CONFIG_REVISION_1に設定します。

HardwareCapabilities

ミニポート アダプターがサポートするヘッダー データ分割ハードウェア機能。 これらの機能には、INF ファイルの設定または [高度な プロパティ] ページで現在無効になっている機能が含まれている必要があります。 HardwareCapabilities の値は、次のフラグのビットごとの OR です。

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

ミニポート アダプターは、ヘッダーとデータを、ヘッダーデータ分割サポートの要件を満たす個別のメモリ記述子リスト (MDL) に分割できます。

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

ミニポート アダプターは、IPv4 オプションを含む IPv4 イーサネット フレームを分割できます。 ミニポート アダプターは、一部の IPv4 オプションの分割をサポートしながら、他のオプションを分割することはできません。

メモ NIC は、サポートされていない IPv4 オプションを含む IPv4 フレームを分割することはできません。 IPv4 フレームが分割される場合、分割フレームのヘッダー部分には、IPv4 ヘッダー全体と、存在するすべての IPv4 オプションが含まれている必要があります。
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

ミニポート アダプターは、IPv6 拡張ヘッダーを含む IPv6 イーサネット フレームを分割できます。 ミニポート アダプターは、一部の IPv6 拡張機能ヘッダーをサポートできますが、他のヘッダーはサポートしていません。

メモ NIC は、サポートされていない IPv6 拡張ヘッダーを含む IPv6 フレームを分割することはできません。 IPv6 フレームが分割される場合、分割フレームのヘッダー部分には、IPv6 ヘッダー全体と、存在するすべての IPv6 拡張ヘッダーが含まれている必要があります。
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

ミニポート アダプターは、タイムスタンプ オプションに加えて、他の TCP オプションで TCP フレームを分割できます。 ミニポート アダプターは、一部の TCP オプションをサポートし、他のオプションをサポートすることはできません。

メモ フレーム内の唯一の TCP オプションがタイムスタンプ オプションである場合、データ分割プロバイダーはフレームを分割できる必要があります。
 
メモ TCP ヘッダーにサポートされていない TCP オプションが含まれている場合、NIC は TCP ヘッダーの先頭でフレームを分割するか、フレームを分割しないでください。
 

CurrentCapabilities

ミニポート アダプターがサポートする現在のヘッダー データ分割機能。 ミニポート ドライバーは、 HardwareCapabilities メンバーに対して定義されているのと同じフラグを使用します。 この場合、フラグは、現在の構成設定に依存する現在の機能を示すように設定されます。

HDSplitFlags

ミニポート アダプターのヘッダー データ分割の状態を報告するフラグのセット。 NDIS は、次のフラグのビットごとの OR でこのメンバーを設定します。

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

ミニポート ドライバーでは、ハードウェアでヘッダー データ分割が有効になっています。 それ以外の場合、ヘッダーデータ分割は無効になります。

HDSplitCombineFlags

ミニポート アダプターの現在のヘッダー データ分割設定を指定するフラグのセット。 HDSplitCombineFlags の値には、次のフラグのビットごとの OR を指定できます。

NDIS_HD_SPLIT_COMBINE_ALL_HEADERS

ミニポート アダプターは、分割フレームを組み合わせています。 ハードウェアでヘッダー データ分割が有効になっている場合、ミニポート ドライバーは、NDIS にフレームを示す前に、ヘッダーとデータを結合する必要があります。

BackfillSize

分割フレームのデータ部分にミニポート ドライバーが使用しているバックフィル サイズ (バイト単位)。

MaxHeaderSize

分割フレームのヘッダー部分にミニポート ドライバーが使用している最大サイズ (バイト単位)。

メモ IPv4 オプション、IPsec ヘッダー、または IPv6 拡張ヘッダーが存在するため、ヘッダーの長さが MaxHeaderSize を超える場合、フレームを分割することはできません。 TCP ヘッダー、TCP オプション、または UDP ヘッダーが存在するため、TCP ヘッダーまたは UDP ヘッダーを含むヘッダーが MaxHeaderSize を 超える場合、NIC は上位レイヤー プロトコル ヘッダーの先頭でフレームを分割するか、フレームを分割しないでください。
 

注釈

NDIS_HD_SPLIT_CURRENT_CONFIG構造体は、 で使用されます。 OID_GEN_HD_SPLIT_CURRENT_CONFIG ミニポート アダプターの現在のヘッダー データ分割構成を取得する OID クエリ要求。

要件

要件
サポートされている最小のクライアント NDIS 6.1 以降でサポートされています。
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes

OID_GEN_HD_SPLIT_CURRENT_CONFIG