Condividi tramite


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

Membri

Header

Tipo, revisione e dimensione della struttura NDIS_SWITCH_OPTIONAL_HANDLERS. 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 di NDIS_SWITCH_OPTIONAL_HANDLERS, il membro Revision di 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 dimensioni 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 di DereferenceSwitchNic.

ReferenceSwitchPort

Puntatore alla funzione ReferenceSwitchPort.

DereferenceSwitchPort

Puntatore alla funzione di DereferenceSwitchPort.

ReportFilteredNetBufferLists

Puntatore alla funzione ReportFilteredNetBufferLists.

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

Osservazioni

Le funzioni del gestore commutatore estendibile forniscono il supporto per le azioni di filtro e inoltro eseguite da un'estensione del commutatore estendibile. Queste azioni includono quanto segue:

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

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

Fabbisogno

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

Vedere anche

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

reportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations