struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY (ndis.h)
La struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY specifica una matrice di porte di destinazione del commutatore estendibile Hyper-V per un pacchetto. Ogni elemento nella matrice viene formattato come struttura NDIS_SWITCH_PORT_DESTINATION .
Queste informazioni sono contenute nei dati fuori banda (OOB) della struttura NET_BUFFER_LIST del pacchetto.
Sintassi
typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
NDIS_OBJECT_HEADER Header;
UINT32 ElementSize;
UINT32 NumElements;
UINT32 NumDestinations;
PVOID FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;
Members
Header
Tipo, revisione e dimensioni della struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .
Il membro Type di Header deve essere impostato su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , il membro Revision di Header deve essere impostato sul valore seguente:
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
Versione originale per NDIS 6.30 e versioni successive.
Impostare il membro Size su NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1.
ElementSize
Valore ULONG che specifica le dimensioni, in byte, di ogni elemento NDIS_SWITCH_PORT_DESTINATION che segue la struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
NumElements
Valore ULONG che specifica il numero totale di elementi NDIS_SWITCH_PORT_DESTINATION nella struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
Il valore del membro NumElements specifica il numero di elementi attualmente utilizzati NDIS_SWITCH_PORT_DESTINATION (come specificato dal membro NumDestinations ) più il numero di elementi disponibili per le nuove porte di destinazione. Il numero di elementi NDIS_SWITCH_PORT_DESTINATION inutilizzati nella struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY viene calcolato da (NumElements - NumDestinations).
NumDestinations
Valore ULONG che specifica il numero di elementi NDIS_SWITCH_PORT_DESTINATION nella struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY che specificano le destinazioni di porta.
FirstElement
Puntatore al primo elemento NDIS_SWITCH_PORT_DESTINATION nel buffer contenente la struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY e tutti i relativi elementi.
Commenti
L'estensione del commutatore estendibile può eseguire le operazioni seguenti con le porte di destinazione nella struttura NET_BUFFER_LIST di un pacchetto:
-
Eseguire una query sulle porte di destinazione correnti sull'opzione estendibile a cui verrà inoltrato il pacchetto.
L'estensione del commutatore estendibile chiama la funzione GetNetBufferListDestinations per ottenere la matrice di destinazioni di porta per un pacchetto. GetNetBufferListDestinations restituisce un puntatore alla struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY nel parametro Destinations .
Per altre informazioni, vedere Esecuzione di query sui dati delle porte di destinazione del commutatore estendibile di un pacchetto.
-
Aggiungere o modificare le porte di destinazione per il pacchetto.
Dopo aver eseguito una query sulle porte di destinazione correnti per il pacchetto, l'estensione del commutatore estendibile può eseguire le operazioni seguenti:
- Un'estensione di inoltro può aggiungere nuove porte di destinazione alla struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
-
Un'estensione di filtro o inoltro può modificare i dati all'interno di una struttura di NDIS_SWITCH_PORT_DESTINATION per una porta di destinazione.
Nota Un'estensione di filtro può modificare solo il membro IsExcluded di questa struttura. Un'estensione di inoltro può anche modificare i membri PreserveVLAN e PreservePriority .
Per altre informazioni, vedere Managing Hyper-V Extensible Switch Destination Port Data.For more information, see Managing Hyper-V Extensible Switch Destination Port Data.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.30 e versioni successive. |
Intestazione | ndis.h (include Ndis.h) |
Vedi anche
Aggiunta di dati della porta di destinazione del commutatore estendibile a un pacchetto
Esclusione del recapito dei pacchetti alle porte di destinazione del commutatore estendibile
NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX