Compartilhar via


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 do Hyper-V de um pacote especificado por uma estrutura de 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 do 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 .

Nota Se o parâmetro NetBufferList contiver um ponteiro para uma lista vinculada de várias estruturas de NET_BUFFER_LIST , as portas de destino só serão retornadas da primeira estrutura NET_BUFFER_LIST da lista.
 

[out] Destinations

Um ponteiro para uma estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Essa estrutura especifica as portas de destino do comutador extensível do pacote.

Retornar valor

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.

Comentários

A extensão de comutador extensível chama a função GetNetBufferListDestinations para obter uma matriz das portas de destino do comutador extensível para um pacote. Se a função retornar com êxito, a matriz será obtida por meio do parâmetro Destinations , que contém um ponteiro para uma estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Cada elemento nessa matriz é formatado como uma estrutura 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 de encaminhamento de comutador extensível para o pacote. Esse contexto contém os dados de comutador extensível OOB (fora de 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 Contexto de encaminhamento extensível de comutador do Hyper-V.

Depois que a extensão tiver obtido a matriz, ela poderá fazer o seguinte:

Nota A estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY é garantida como válida enquanto a extensão mantém a propriedade da estrutura NET_BUFFER_LIST do pacote.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers