NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS função de retorno de chamada (ndis.h)
A função GetNetBufferListDestinations retorna as portas de destino de comutador extensível Hyper-V de um pacote especificado por uma estrutura NET_BUFFER_LIST.
Sintaxe
NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;
void NdisSwitchGetNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[out] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}
Parâmetros
[in] NdisSwitchContext
Um valor NDIS_SWITCH_CONTEXT que contém o identificador do módulo de comutador extensível ao qual a extensão do comutador extensível Hyper-V está anexada. Quando a extensão chama NdisFGetOptionalSwitchHandlers, esse identificador é retornado por meio do parâmetro NdisSwitchContext.
[in, out] NetBufferList
Um ponteiro para uma lista vinculada de estruturas de NET_BUFFER_LIST.
[out] Destinations
Um ponteiro para uma estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Essa estrutura especifica as portas de destino de comutador extensível do pacote.
Valor de retorno
Se a chamada for bem-sucedida, a função retornará NDIS_STATUS_SUCCESS. Caso contrário, ele retornará um código de erro NDIS_STATUS_Xxx definido em Ndis.h.
Observações
A extensão de comutador extensível chama a função GetNetBufferListDestinations para obter uma matriz das portas de destino de comutador extensível para um pacote. Se a função retornar com êxito, a matriz será obtida por meio do parâmetro destinos, que contém um ponteiro para uma estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Cada elemento nessa matriz é formatado como uma estrutura de NDIS_SWITCH_PORT_DESTINATION que especifica uma porta de destino para o pacote.
Se a extensão estiver alocando um pacote, a extensão deverá primeiro chamar a função AllocateNetBufferListForwardingContext antes de chamar GetNetBufferListDestinations. A função AllocateNetBufferListForwardingContext aloca o contexto extensível de encaminhamento de comutador para o pacote. Esse contexto contém os dados extensíveis do comutador OOB (fora da banda) que incluem a estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY.
Para obter mais informações sobre o contexto extensível de encaminhamento de comutador, consulte Hyper-Vde contexto de encaminhamento extensível de comutador .
Depois que a extensão tiver obtido a matriz, ela poderá fazer o seguinte:
-
Aloque espaço para elementos de NDIS_SWITCH_PORT_DESTINATION adicionais na matriz.
Para obter mais informações, consulte Adicionando dados extensíveis de porta de destino de comutador extensível a um pacote.
-
Modifique as informações da porta de destino nos elementos NDIS_SWITCH_PORT_DESTINATION da matriz. Por exemplo, a extensão pode especificar para qual porta o pacote deve ser encaminhado ou pode excluir um pacote de ser encaminhado para uma porta especificada.
Para obter mais informações, consulte Modificando ode dados da porta de origem extensível de um pacote.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.30 e posterior. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Consulte também
AllocateNetBufferListForwardingContext