NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur (ndis.h)
Die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur gibt ein Array von Hyper-V erweiterbaren Switch-Zielports für ein Paket an. Jedes Element im Array wird als NDIS_SWITCH_PORT_DESTINATION Struktur formatiert.
Diese Informationen sind in den OOB-Daten (Out-of-Band) der NET_BUFFER_LIST Struktur des Pakets enthalten.
Syntax
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;
Angehörige
Header
Der Typ, die Überarbeitung und die Größe der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur. Dieses Element ist als NDIS_OBJECT_HEADER Struktur formatiert.
Das element TypeHeader muss auf NDIS_OBJECT_TYPE_DEFAULT festgelegt werden. Um die Version der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur anzugeben, muss das Revision Member von Header- auf den folgenden Wert festgelegt werden:
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
Originalversion für NDIS 6.30 und höher.
Legen Sie das element Size auf NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1 fest.
ElementSize
Ein ULONG-Wert, der die Größe jedes NDIS_SWITCH_PORT_DESTINATION Elements in Byte angibt, das der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur folgt.
NumElements
Ein ULONG-Wert, der die Gesamtanzahl der NDIS_SWITCH_PORT_DESTINATION Elemente in der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur angibt.
Der Wert des NumElements Members gibt die Anzahl der aktuell verwendeten NDIS_SWITCH_PORT_DESTINATION Elemente an (wie durch das NumDestinations Member angegeben) sowie die Anzahl der Elemente, die für neue Zielports verfügbar sind. Die Anzahl der nicht verwendeten NDIS_SWITCH_PORT_DESTINATION Elemente in der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-Struktur wird berechnet durch (NumElements - NumDestinations).
NumDestinations
Ein ULONG-Wert, der die Anzahl der NDIS_SWITCH_PORT_DESTINATION Elemente in der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur angibt, die Portziele angeben.
FirstElement
Ein Zeiger auf das erste NDIS_SWITCH_PORT_DESTINATION-Element im Puffer, das die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur und alle zugehörigen Elemente enthält.
Bemerkungen
Die erweiterbare Switcherweiterung kann die folgenden Aktionen mit den Zielports in der NET_BUFFER_LIST Struktur eines Pakets ausführen:
-
Fragen Sie die aktuellen Zielports auf dem erweiterbaren Switch ab, an den das Paket weitergeleitet wird.
Die erweiterbare Switcherweiterung ruft die GetNetBufferListDestinations- Funktion auf, um das Array der Portziele für ein Paket abzurufen. GetNetBufferListDestinations gibt einen Zeiger auf die NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur im parameter Destinations zurück.
Weitere Informationen finden Sie unter Abfragen des Extensible Switch Destination Port Dataeines Pakets.
-
Fügen Sie die Zielports für das Paket hinzu oder ändern Sie sie.
Nachdem sie die aktuellen Zielports für das Paket abfragen, kann die erweiterbare Switcherweiterung folgende Aktionen ausführen:
- Eine Weiterleitungserweiterung kann der NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Struktur neue Zielports hinzufügen.
-
Eine Filter- oder Weiterleitungserweiterung kann die Daten innerhalb einer NDIS_SWITCH_PORT_DESTINATION Struktur für einen Zielport ändern.
Hinweis Eine Filtererweiterung kann nur das IsExcluded Mitglied dieser Struktur ändern. Eine Weiterleitungserweiterung kann auch die PreserveVLAN- und PreservePriority- Mitglieder ändern.
Weitere Informationen finden Sie unter Managing Hyper-V Extensible Switch Destination Port Data.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.30 und höher. |
Header- | ndis.h (include Ndis.h) |
Siehe auch
Hinzufügen von Extensible Switch-Zielportdaten zu einem Paket-
Ausschließen der Paketübermittlung an extensible Switch-Zielports
NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX