Condividi tramite


struttura NDIS_HD_SPLIT_ATTRIBUTES (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;

Membri

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 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 di intestazione supportate dall'adattatore miniport. Queste funzionalità devono includere funzionalità attualmente disabilitate dalle impostazioni del file INF o tramite la pagina delle 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ò suddividere l'intestazione e i dati in MDLs separati che soddisfano i requisiti per il supporto della suddivisione di intestazione dati.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

L'adattatore miniport può suddividere i frame Ethernet IPv4 che includono le opzioni IPv4. L'adattatore miniport può supportare la suddivisione di alcune opzioni IPv4 senza dividere altre.

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

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

La scheda miniport può suddividere i frame Ethernet IPv6 che includono intestazioni di estensione IPv6. L'adattatore miniport può supportare alcune intestazioni di estensione IPv6 senza supportare 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 è suddiviso, la parte dell'intestazione del fotogramma diviso 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ò suddividere 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 suddivisione dei 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à correnti di suddivisione dei dati di intestazione supportate dall'adattatore miniport. Il driver miniport usa gli stessi flag definiti per il membro HardwareCapabilities. In questo caso, i flag vengono 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 che NdisMSetMiniportAttributes restituito correttamente, il driver deve controllare i flag e configurare l'hardware di conseguenza. 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 divisione dei dati di intestazione e il driver miniport imposta anche il flag NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT nel membro CurrentCapabilities, NDIS imposta NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

BackfillSize

Dimensioni del riempimento nascosto, in byte, per la parte di dati di un frame diviso. Il driver miniport deve essere impostato
BackfillSize su zero prima di chiamare NdisMSetMiniportAttributes. NDIS imposta questo membro se il driver miniport deve pre-allocare l'archiviazione backfill nella parte dei dati per i frame divisi. Dopo che NdisMSetMiniportAttributes correttamente restituito, il driver deve usare il valore backfillSize impostato per prea allocare i buffer di dati.

MaxHeaderSize

Dimensione massima, in byte, per la parte di intestazione di una cornice divisa. 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 frame suddivisi. Dopo che NdisMSetMiniportAttributes restituito correttamente, 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.
 

Osservazioni

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

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.1 e versioni successive.
intestazione ndis.h (include Ndis.h)

Vedere anche

MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes