NDIS_HD_SPLIT_ATTRIBUTES struttura (ndis.h)

La struttura NDIS_HD_SPLIT_ATTRIBUTES definisce gli attributi di divisione dei dati di intestazione, se presenti, associati a un adattatore miniport.

Sintassi

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;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura delle caratteristiche del provider (NDIS_HD_SPLIT_ATTRIBUTES). Il driver imposta il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES, il membro Revision su NDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1 e il membro Size su NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1.

HardwareCapabilities

Le funzionalità hardware di suddivisione dei dati dell'intestazione supportate dall'adattatore miniport. Queste funzionalità devono includere funzionalità attualmente disabilitate dalle impostazioni del file INF o tramite la pagina Proprietà avanzate . Il valore di HardwareCapabilities è un OR bit per bit dei flag seguenti:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

L'adattatore miniport può dividere l'intestazione e i dati in MDLs separati che soddisfano i requisiti per il supporto della suddivisione dei dati di intestazione.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

L'adattatore miniport può dividere i frame Ethernet IPv4 che includono opzioni IPv4. L'adattatore miniport può supportare la suddivisione di alcune opzioni IPv4 mentre non divide altri.

Nota La scheda di interfaccia di rete non deve dividere i frame IPv4 che contengono opzioni IPv4 non supportate. Se un frame IPv4 è diviso, la parte dell'intestazione del frame di divisione deve contenere l'intera intestazione IPv4 e tutte le opzioni IPv4 presenti.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

L'adattatore miniport può dividere i frame Ethernet IPv6 che includono intestazioni di estensione IPv6. L'adattatore miniport può supportare alcune intestazioni di estensione IPv6 mentre non supportano altri.

Nota La scheda di interfaccia di rete non deve dividere i frame IPv6 che contengono intestazioni di estensione IPv6 non supportate. Se un frame IPv6 è diviso, la parte dell'intestazione del frame di divisione deve contenere l'intera intestazione IPv6 e tutte le intestazioni di estensione IPv6 presenti.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

L'adattatore miniport può dividere i frame TCP con altre opzioni TCP oltre all'opzione timestamp. L'adattatore miniport può supportare alcune opzioni TCP e non supportare altri.

Nota Se l'unica opzione TCP in un frame è l'opzione timestamp, il provider di divisione dati deve essere in grado di suddividere il frame.
 
Nota Se un'intestazione TCP contiene un'opzione TCP non supportata, la scheda di interfaccia di rete deve dividere il frame all'inizio dell'intestazione TCP o non deve dividere il frame.
 

CurrentCapabilities

Funzionalità di suddivisione dei dati di intestazione correnti supportate dall'adattatore miniport. Il driver miniport usa gli stessi flag definiti per il membro HardwareCapabilities . In questo caso, i flag sono impostati per indicare le funzionalità correnti che dipendono dalle impostazioni di configurazione correnti.

HDSplitFlags

Set di flag che controllano lo stato della suddivisione dei dati di intestazione per un adattatore miniport. Il driver miniport deve impostare questo membro su zero prima di chiamare il Funzione NdisMSetMiniportAttributes . Dopo aver restituito correttamente NdisMSetMiniportAttributes , il driver deve controllare i flag e configurare di conseguenza l'hardware. NDIS imposta questo membro con un or bit per bit dei flag seguenti:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

Se questo flag è impostato, il driver miniport deve abilitare la suddivisione dei dati di intestazione nell'hardware. In caso contrario, la suddivisione dei dati di intestazione è disabilitata. Se il computer usa la suddivisione dei dati di intestazione e il driver miniport imposta anche il flag di NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT nel membro CurrentCapabilities , NDIS imposta NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

BackfillSize

Dimensioni del riempimento di backfill, in byte, per la parte dei dati di un frame di divisione. Il driver miniport deve impostare
BackfillSize su zero prima di chiamare NdisMSetMiniportAttributes. NDIS imposta questo membro se il driver miniport deve pre-allocare l'archiviazione di riempimento nella parte dati per i fotogrammi suddivisi. Dopo che NdisMSetMiniportAttributes restituisce correttamente, il driver deve usare il valore BackfillSize impostato per pre-allocare i buffer di dati.

MaxHeaderSize

Dimensioni massime, in byte, per la parte di intestazione di un frame di divisione. Il driver miniport deve impostare MaxHeaderSize su zero prima di chiamare NdisMSetMiniportAttributes. NDIS imposta questo membro sulla dimensione massima per il buffer di intestazione per i fotogrammi suddivisi. Dopo aver restituito correttamente NdisMSetMiniportAttributes , il driver deve usare il valore fornito da NDIS.

Nota Se la lunghezza di un'intestazione supera MaxHeaderSize a causa della presenza di opzioni IPv4, intestazioni IPSec o intestazioni di estensione IPv6, il frame non deve essere suddiviso. Se un'intestazione che include un'intestazione TCP o UDP supera MaxHeaderSize a causa della presenza di intestazione TCP, opzioni TCP o intestazione UDP, la scheda di interfaccia di rete deve dividere il frame all'inizio dell'intestazione del protocollo di livello superiore o non deve dividere il frame.
 

Commenti

Per supportare la suddivisione dei dati di intestazione, un driver miniport passa un puntatore a un oggetto NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES struttura nel parametro MiniportAttributes dell'oggetto Funzione NdisMSetMiniportAttributes . Il membro HDSplitAttributes di NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES contiene un puntatore alla struttura NDIS_HD_SPLIT_ATTRIBUTES. Un driver miniport chiama NdisMSetMiniportAttributes dalla funzione MiniportInitializeEx durante l'inizializzazione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.1 e versioni successive.
Intestazione ndis.h (includere Ndis.h)

Vedi anche

MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes