Condividi tramite


NDIS_SWITCH_OPTIONAL_HANDLERS struttura (ndis.h)

La struttura NDIS_SWITCH_OPTIONAL_HANDLERS specifica i puntatori alle funzioni del gestore del commutatore estendibile Hyper-V. Queste funzioni possono essere chiamate da un'estensione di commutatore estendibile.

Sintassi

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;

Members

Header

Tipo, revisione e dimensione della struttura NDIS_SWITCH_OPTIONAL_HANDLERS . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il membro Type di Intestazione deve essere impostato su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_SWITCH_OPTIONAL_HANDLERS , il membro Revision of Header deve essere impostato sul valore seguente:

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

Versione originale per NDIS 6.30 e versioni successive.

Impostare il membro Size su NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1.

AllocateNetBufferListForwardingContext

Puntatore alla funzione AllocateNetBufferListForwardingContext .

FreeNetBufferListForwardingContext

Puntatore alla funzione FreeNetBufferListForwardingContext .

SetNetBufferListSource

Puntatore alla funzione SetNetBufferListSource .

AddNetBufferListDestination

Puntatore alla funzione AddNetBufferListDestination .

GrowNetBufferListDestinations

Puntatore alla funzione GrowNetBufferListDestinations .

GetNetBufferListDestinations

Puntatore alla funzione GetNetBufferListDestinations .

UpdateNetBufferListDestinations

Puntatore alla funzione UpdateNetBufferListDestinations .

CopyNetBufferListInfo

Puntatore alla funzione CopyNetBufferListInfo .

ReferenceSwitchNic

Puntatore alla funzione ReferenceSwitchNic .

DereferenceSwitchNic

Puntatore alla funzione DereferenceSwitchNic .

ReferenceSwitchPort

Puntatore alla funzione ReferenceSwitchPort .

DereferenceSwitchPort

Puntatore alla funzione DereferenceSwitchPort .

ReportFilteredNetBufferLists

Puntatore alla funzione ReportFilteredNetBufferLists .

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

Commenti

Le funzioni del gestore dei commutatori estendibili forniscono supporto per il filtro e le azioni di inoltro eseguite da un'estensione del commutatore estendibile. Le azioni includono le seguenti:

  • Allocare o liberare il contesto di inoltro. Questi dati vengono archiviati nei dati fuori banda (OOB) della struttura NET_BUFFER_LIST di un pacchetto. Per altre informazioni sul contesto di inoltro, vedere Contesto di inoltro estendibile Hyper-V.
  • Ottenere o impostare le porte di destinazione contenute nel contesto di inoltro di un pacchetto.
  • Aggiungere porte di destinazione al contesto di inoltro di un pacchetto.

Quando l'estensione del commutatore estendibile chiama NdisFGetOptionalSwitchHandlers, il parametro NdisSwitchHandlers contiene un puntatore a una struttura NDIS_SWITCH_OPTIONAL_HANDLERS . Un'estensione commutatore estendibile chiama in genere NdisFGetOptionalSwitchHandlers dalla relativa funzione FilterAttach .

Requisiti

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

Vedi anche

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations