Compartilhar via


NDIS_SWITCH_OPTIONAL_HANDLERS estrutura (ndis.h)

A estrutura NDIS_SWITCH_OPTIONAL_HANDLERS especifica os ponteiros para as funções do manipulador de comutador extensível 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 do de cabeçalho deve ser definido como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura de NDIS_SWITCH_OPTIONAL_HANDLERS, o membro de Revisão do de Cabeçalho 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 tamanho 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 de 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]

Observações

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

  • Aloque ou libere o contexto de encaminhamento. Esses dados são armazenados nos dados OOB (fora de banda) da estrutura de NET_BUFFER_LIST de um pacote. Para obter mais informações sobre o contexto de encaminhamento, consulte Hyper-Vde contexto de encaminhamento extensível de comutador .
  • 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
de cliente com suporte mínimo Com suporte no NDIS 6.30 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte também

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

referenceSwitchPort

reportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations