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
AllocateNetBufferListForwardingContext
FreeNetBufferListForwardingContext