NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT função de retorno de chamada (ndis.h)

A função FreeNetBufferListForwardingContext libera recursos no contexto extensível de encaminhamento de comutador fora de banda (OOB) de uma estrutura de NET_BUFFER_LIST . Esses dados foram usados para operações de envio ou recebimento em um comutador extensível do Hyper-V e foram alocados anteriormente chamando a função AllocateNetBufferListForwardingContext .

Sintaxe

NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchFreeNetBufferListForwardingContext;

void NdisSwitchFreeNetBufferListForwardingContext(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList
)
{...}

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 Essa estrutura deve conter um contexto extensível de encaminhamento de comutador que foi alocado anteriormente chamando a função AllocateNetBufferListForwardingContext .
 

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 pode originar operações de envio de pacotes dentro do caminho de dados de comutador extensível. Por exemplo, a extensão pode enviar pacotes para qualquer porta no comutador extensível. Para obter mais informações sobre esse caminho de dados, consulte Caminho de dados de comutador extensível do Hyper-V.

Se a extensão de comutador extensível originar uma operação de envio de pacotes, a extensão deverá chamar a função AllocateNetBufferListForwardingContext . Essa função aloca e inicializa o contexto de encaminhamento para a estrutura de NET_BUFFER_LIST especificada. Para obter mais informações sobre esse contexto, consulte Contexto de encaminhamento extensível do Hyper-V.

Quando a operação de envio for concluída, a extensão deverá chamar a função FreeNetBufferListForwardingContext para desalocar o contexto de encaminhamento.

Nota A extensão deve chamar a função FreeNetBufferListForwardingContext quando a operação de envio for concluída. A extensão deve fazer isso independentemente de adicionar a estrutura NET_BUFFER_LIST do pacote a uma lista lookaside ou chamar NdisFreeNetBufferList para retornar a estrutura a um pool.
 
Para obter mais informações sobre como originar operações de envio, consulte Filtrar operações de envio e recebimento de módulo.
Nota Se o parâmetro NetBufferList contiver um ponteiro para uma lista vinculada de várias estruturas de NET_BUFFER_LIST , somente a primeira estrutura NET_BUFFER_LIST na lista terá seu contexto de encaminhamento desalocado.
 

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

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

NdisFreeNetBufferList