NDIS_SWITCH_OPTIONAL_HANDLERS-Struktur (ndis.h)

Die NDIS_SWITCH_OPTIONAL_HANDLERS-Struktur gibt die Zeiger auf die Hyper-V-Erweiterbaren Switch-Handlerfunktionen an. Diese Funktionen können von einer erweiterbaren Switcherweiterung aufgerufen werden.

Syntax

typedef struct _NDIS_SWITCH_OPTIONAL_HANDLERS {
  NDIS_OBJECT_HEADER                                              Header;
  NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER AllocateNetBufferListForwardingContext;
  NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER     FreeNetBufferListForwardingContext;
  NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE_HANDLER                  SetNetBufferListSource;
  NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION_HANDLER             AddNetBufferListDestination;
  NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS_HANDLER           GrowNetBufferListDestinations;
  NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS_HANDLER            GetNetBufferListDestinations;
  NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS_HANDLER         UpdateNetBufferListDestinations;
  NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO_HANDLER                   CopyNetBufferListInfo;
  NDIS_SWITCH_REFERENCE_SWITCH_NIC_HANDLER                        ReferenceSwitchNic;
  NDIS_SWITCH_DEREFERENCE_SWITCH_NIC_HANDLER                      DereferenceSwitchNic;
  NDIS_SWITCH_REFERENCE_SWITCH_PORT_HANDLER                       ReferenceSwitchPort;
  NDIS_SWITCH_DEREFERENCE_SWITCH_PORT_HANDLER                     DereferenceSwitchPort;
  NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS_HANDLER            ReportFilteredNetBufferLists;
  NDIS_SWITCH_SET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER          SetNetBufferListSwitchContext;
  NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER          GetNetBufferListSwitchContext;
  PVOID                                                           SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE];
} NDIS_SWITCH_OPTIONAL_HANDLERS, *PNDIS_SWITCH_OPTIONAL_HANDLERS;

Member

Header

Typ, Revision und Größe der NDIS_SWITCH_OPTIONAL_HANDLERS-Struktur . Dieser Member ist als NDIS_OBJECT_HEADER-Struktur formatiert.

Das Type-Element von Header muss auf NDIS_OBJECT_TYPE_DEFAULT festgelegt werden. Um die Version der NDIS_SWITCH_OPTIONAL_HANDLERS-Struktur anzugeben, muss der Revisionsmember von Header auf den folgenden Wert festgelegt werden:

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

Originalversion für NDIS 6.30 und höher.

Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1 fest.

AllocateNetBufferListForwardingContext

Ein Zeiger auf die Funktion AllocateNetBufferListForwardingContext .

FreeNetBufferListForwardingContext

Ein Zeiger auf die FreeNetBufferListForwardingContext-Funktion .

SetNetBufferListSource

Ein Zeiger auf die SetNetBufferListSource-Funktion .

AddNetBufferListDestination

Ein Zeiger auf die AddNetBufferListDestination-Funktion .

GrowNetBufferListDestinations

Ein Zeiger auf die Funktion GrowNetBufferListDestinations .

GetNetBufferListDestinations

Ein Zeiger auf die GetNetBufferListDestinations-Funktion .

UpdateNetBufferListDestinations

Ein Zeiger auf die UpdateNetBufferListDestinations-Funktion .

CopyNetBufferListInfo

Ein Zeiger auf die CopyNetBufferListInfo-Funktion .

ReferenceSwitchNic

Ein Zeiger auf die ReferenceSwitchNic-Funktion .

DereferenceSwitchNic

Ein Zeiger auf die DereferenceSwitchNic-Funktion .

ReferenceSwitchPort

Ein Zeiger auf die ReferenceSwitchPort-Funktion .

DereferenceSwitchPort

Ein Zeiger auf die Funktion DereferenceSwitchPort .

ReportFilteredNetBufferLists

Ein Zeiger auf die ReportFilteredNetBufferLists-Funktion .

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

Hinweise

Die erweiterbaren Switchhandlerfunktionen bieten Unterstützung für Filter- und Weiterleitungsaktionen, die von einer erweiterbaren Switcherweiterung ausgeführt werden. Diese Aktionen umfassen Folgendes:

  • Ordnen Sie den Weiterleitungskontext zu, oder geben Sie diesen frei. Diese Daten werden in den Out-of-Band-Daten (OOB) der NET_BUFFER_LIST-Struktur eines Pakets gespeichert. Weitere Informationen zum Weiterleitungskontext finden Sie unter Hyper-V Extensible Switch Forwarding Context.
  • Rufen Sie die Zielports ab, die im Weiterleitungskontext eines Pakets enthalten sind, oder legen Sie sie fest.
  • Fügen Sie dem Weiterleitungskontext eines Pakets Zielports hinzu.

Wenn die erweiterbare Switcherweiterung NdisFGetOptionalSwitchHandlers aufruft, enthält der NdisSwitchHandlers-Parameter einen Zeiger auf eine NDIS_SWITCH_OPTIONAL_HANDLERS-Struktur . Eine erweiterbare Switcherweiterung ruft in der Regel NdisFGetOptionalSwitchHandlers über die FilterAttach-Funktion auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.30 und höher.
Kopfzeile ndis.h (include Ndis.h)

Weitere Informationen

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations