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

A função ReferenceSwitchNic incrementa o contador de referência de comutador extensível do Hyper-V para um adaptador de rede conectado a uma porta de comutador extensível.

Sintaxe

NDIS_SWITCH_REFERENCE_SWITCH_NIC NdisSwitchReferenceSwitchNic;

NDIS_STATUS NdisSwitchReferenceSwitchNic(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId,
  [in] NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}

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] SwitchPortId

Um valor NDIS_SWITCH_PORT_ID que contém o identificador exclusivo da porta de comutador extensível à qual o adaptador de rede virtual está conectado.

[in] SwitchNicIndex

Um valor NDIS_SWITCH_NIC_INDEX que especifica o índice do adaptador de rede virtual para o qual o contador de referência de comutador extensível deve ser incrementado.

Para obter mais informações sobre valores de NDIS_SWITCH_NIC_INDEX, consulte Valores de índice do adaptador de rede.

Nota Esse parâmetro deve especificar o valor de índice de um adaptador de rede que esteja em um estado conectado. Valores de índice para adaptadores de rede que estão em um estado criado ou desconectado não podem ser especificados. Para obter mais informações sobre os estados de conexão de rede, consulte Estados de Porta de Comutador Extensível e Adaptador de Rede do Hyper-V.
 

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 ReferenceSwitchNic para incrementar um contador de referência para um adaptador de rede conectado a uma porta de comutador extensível. Embora o contador de referência tenha um valor diferente de zero, a borda do protocolo do comutador extensível não emitirá uma solicitação de conjunto OID (identificador de objeto) de OID_SWITCH_NIC_DELETE para excluir a conexão com o adaptador.

Depois que a extensão chamar ReferenceSwitchNic, ela deverá chamar DereferenceSwitchNic para diminuir o contador de referência de comutador extensível.

A extensão deve chamar ReferenceSwitchNic antes de executar as seguintes operações:

Nota A extensão não deve chamar ReferenceSwitchNic ao encaminhar pacotes pelo caminho de dados de comutador extensível. A interface de comutador extensível gerencia seus próprios contadores de referência para pacotes que são encaminhados para portas e conexões de adaptador de rede pelo caminho de dados.
 
A extensão chama ReferenceSwitchNic depois que a conexão do adaptador de rede atingiu o estado criado pela conexão do adaptador de rede. A extensão não deve chamar ReferenceSwitchNic depois que a conexão tiver atingido os estados de adaptador de rede desconectado ou Adaptador de rede excluído . Para obter mais informações sobre esses estados, consulte Porta do Comutador Extensível do Hyper-V e Estados do Adaptador de Rede.
Nota Quando a extensão chama ReferenceSwitchNic, ela não precisa sincronizar a chamada com seu código que lida com solicitações OID. Como resultado, é possível que a extensão chame ReferenceSwitchNic enquanto a borda do protocolo do comutador extensível emite uma solicitação OID de OID_SWITCH_NIC_DISCONNECT. No entanto, se a chamada para ReferenceSwitchNic for concluída com NDIS_STATUS_SUCCESS, a extensão ainda poderá encaminhar OID_SWITCH_NIC_REQUEST solicitação OID ou NDIS_STATUS_SWITCH_NIC_STATUS status indicações depois de lidar com a solicitação OID OID_SWITCH_NIC_DISCONNECT.
 

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

DereferenceSwitchNic

NDIS_STATUS_SWITCH_NIC_STATUS

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_REQUEST