NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE função de retorno de chamada (ndis.h)
A função SetNetBufferListSource define o identificador de porta de origem do comutador extensível do Hyper-V e o índice do adaptador de rede para um pacote especificado por uma estrutura de NET_BUFFER_LIST .
Sintaxe
NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;
NDIS_STATUS NdisSwitchSetNetBufferListSource(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
PNET_BUFFER_LIST NetBufferList,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}
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 .
NetBufferList
Um ponteiro para uma estrutura NET_BUFFER_LIST para um único pacote.
[in] PortId
Um valor NDIS_SWITCH_PORT_ID que especifica o identificador exclusivo da porta de origem na opção extensível.
[in] NicIndex
Um valor NDIS_SWITCH_NIC_INDEX que especifica o índice do adaptador de rede conectado à porta de comutador extensível especificada pelo parâmetro PortId .
Para obter mais informações sobre valores de NDIS_SWITCH_NIC_INDEX, consulte Valores de índice do adaptador de rede.
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 SetNetBufferListSource para definir o identificador de porta de origem e o índice do adaptador de rede na estrutura NET_BUFFER_LIST de um pacote. A extensão faz isso para os seguintes tipos de pacotes:
-
Um novo pacote que a extensão alocou para operações de envio ou recebimento.
Nota Antes que a extensão chame SetNetBufferListSource para um pacote alocado, ela deve chamar AllocateNetBufferListForwardingContext.
- Um pacote duplicado que a extensão clonou de um pacote original que estava filtrando. A extensão duplica um pacote chamando NdisAllocateCloneNetBufferList.
Por exemplo, um pacote que tem um identificador de porta de origem de NDIS_SWITCH_DEFAULT_PORT_ID é confiável e ignora muitas políticas extensíveis de porta de comutador. Essas políticas incluem ACLs (listas de controle de acesso) e QoS (qualidade do serviço). Se a extensão especificar uma porta de origem não padrão para o pacote, isso permitirá que as políticas dessa porta sejam aplicadas ao 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