NDIS_HD_SPLIT_ATTRIBUTES 構造体 (ndis.h)
NDIS_HD_SPLIT_ATTRIBUTES構造体は、ミニポート アダプターに関連付けられているヘッダー データ分割属性 (存在する場合) を定義します。
構文
typedef struct _NDIS_HD_SPLIT_ATTRIBUTES {
NDIS_OBJECT_HEADER Header;
ULONG HardwareCapabilities;
ULONG CurrentCapabilities;
ULONG HDSplitFlags;
ULONG BackfillSize;
ULONG MaxHeaderSize;
} NDIS_HD_SPLIT_ATTRIBUTES, *PNDIS_HD_SPLIT_ATTRIBUTES;
メンバー
Header
プロバイダー特性構造の NDIS_OBJECT_HEADER 構造 (NDIS_HD_SPLIT_ATTRIBUTES)。 ドライバーは、Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES、Revision メンバーをNDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1に、Size メンバーをNDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_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 オプションの分割をサポートしながら、他のオプションを分割することはできません。
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS
ミニポート アダプターは、IPv6 拡張ヘッダーを含む IPv6 イーサネット フレームを分割できます。 ミニポート アダプターは、一部の IPv6 拡張機能ヘッダーをサポートできますが、他のヘッダーはサポートしていません。
NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS
ミニポート アダプターは、タイムスタンプ オプションに加えて、他の TCP オプションで TCP フレームを分割できます。 ミニポート アダプターは、一部の TCP オプションをサポートし、他のオプションをサポートすることはできません。
CurrentCapabilities
ミニポート アダプターがサポートする現在のヘッダー データ分割機能。 ミニポート ドライバーは、 HardwareCapabilities メンバーに対して定義されているのと同じフラグを使用します。 この場合、フラグは、現在の構成設定に依存する現在の機能を示すように設定されます。
HDSplitFlags
ミニポート アダプターのヘッダー データ分割の状態を制御するフラグのセット。 ミニポート ドライバーは、 を呼び出す前に、このメンバーを 0 に設定する必要があります。 NdisMSetMiniportAttributes 関数。 NdisMSetMiniportAttributes が正常に戻った後、ドライバーはフラグをチェックし、それに応じてハードウェアを構成する必要があります。 NDIS は、次のフラグのビットごとの OR でこのメンバーを設定します。
NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT
このフラグが設定されている場合、ミニポート ドライバーは、ハードウェアでヘッダー データ分割を有効にする必要があります。 それ以外の場合、ヘッダーデータ分割は無効になります。 コンピューターがヘッダー データ分割を使用し、ミニポート ドライバーも CurrentCapabilities メンバーのNDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT フラグを設定する場合、NDIS はNDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLITを設定します。
BackfillSize
分割フレームのデータ部分のバックフィル サイズ (バイト単位)。 ミニポート ドライバーを設定する必要があります
NdisMSetMiniportAttributes を呼び出す前に BackfillSize を 0 に設定します。 ミニポート ドライバーが分割フレームのデータ部分にバックフィル 記憶域を事前に割り当てる必要がある場合、NDIS は、このメンバーを設定します。 NdisMSetMiniportAttributes が正常に返された後、ドライバーは、データ バッファーを事前に割り当てるために NDIS が設定した BackfillSize 値を使用する必要があります。
MaxHeaderSize
分割フレームのヘッダー部分の最大サイズ (バイト単位)。 ミニポート ドライバーは、NdisMSetMiniportAttributes を呼び出す前に、MaxHeaderSize を 0 に設定する必要があります。 NDIS は、分割フレームのヘッダー バッファーの最大サイズにこのメンバーを設定します。 NdisMSetMiniportAttributes が正常に返された後、ドライバーは NDIS が提供した値を使用する必要があります。
注釈
ヘッダー データ分割をサポートするために、ミニポート ドライバーは へのポインターを渡します。 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES の MiniportAttributes パラメーター内の構造体 NdisMSetMiniportAttributes 関数。 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTESの HDSplitAttributes メンバーには、NDIS_HD_SPLIT_ATTRIBUTES構造体へのポインターが含まれています。 ミニポート ドライバーは、初期化中にミニポートInitializeEx 関数から NdisMSetMiniportAttributes を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.1 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |