estrutura NDIS_SWITCH_OPTIONAL_HANDLERS (ndis.h)

A estrutura NDIS_SWITCH_OPTIONAL_HANDLERS especifica os ponteiros para as funções do manipulador de comutador extensível do Hyper-V. Essas funções podem ser chamadas por uma extensão de comutador extensível.

Sintaxe

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;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NDIS_SWITCH_OPTIONAL_HANDLERS . Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .

O membro Tipo de Cabeçalho deve ser definido como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura NDIS_SWITCH_OPTIONAL_HANDLERS , o membro Revision de Header deve ser definido como o seguinte valor:

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

Versão original do NDIS 6.30 e posterior.

Defina o membro Size como NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1.

AllocateNetBufferListForwardingContext

Um ponteiro para a função AllocateNetBufferListForwardingContext .

FreeNetBufferListForwardingContext

Um ponteiro para a função FreeNetBufferListForwardingContext .

SetNetBufferListSource

Um ponteiro para a função SetNetBufferListSource .

AddNetBufferListDestination

Um ponteiro para a função AddNetBufferListDestination .

GrowNetBufferListDestinations

Um ponteiro para a função GrowNetBufferListDestinations .

GetNetBufferListDestinations

Um ponteiro para a função GetNetBufferListDestinations .

UpdateNetBufferListDestinations

Um ponteiro para a função UpdateNetBufferListDestinations .

CopyNetBufferListInfo

Um ponteiro para a função CopyNetBufferListInfo .

ReferenceSwitchNic

Um ponteiro para a função ReferenceSwitchNic .

DereferenceSwitchNic

Um ponteiro para a função DereferenceSwitchNic .

ReferenceSwitchPort

Um ponteiro para a função ReferenceSwitchPort .

DereferenceSwitchPort

Um ponteiro para a função DereferenceSwitchPort .

ReportFilteredNetBufferLists

Um ponteiro para a função ReportFilteredNetBufferLists .

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

Comentários

As funções extensíveis do manipulador de comutador dão suporte para ações de filtragem e encaminhamento executadas por uma extensão de comutador extensível. Essas ações incluem:

  • Aloque ou libere o contexto de encaminhamento. Esses dados são armazenados nos dados fora de banda (OOB) da estrutura de NET_BUFFER_LIST de um pacote. Para obter mais informações sobre o contexto de encaminhamento, consulte Contexto de encaminhamento extensível do Hyper-V.
  • Obtenha ou defina as portas de destino contidas no contexto de encaminhamento de um pacote.
  • Adicione portas de destino ao contexto de encaminhamento de um pacote.

Quando a extensão de comutador extensível chama NdisFGetOptionalSwitchHandlers, o parâmetro NdisSwitchHandlers contém um ponteiro para uma estrutura NDIS_SWITCH_OPTIONAL_HANDLERS . Uma extensão de comutador extensível normalmente chama NdisFGetOptionalSwitchHandlers de sua função FilterAttach .

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Cabeçalho ndis.h (inclua Ndis.h)

Confira também

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations