Compartilhar via


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

A função ReferenceSwitchPort incrementa o contador de referência de comutador extensível do Hyper-V para uma porta de comutador extensível.

Sintaxe

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

NDIS_STATUS NdisSwitchReferenceSwitchPort(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId
)
{...}

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 para a qual o contador de referência de comutador extensível é incrementado.

Nota O parâmetro SwitchPortId deve especificar o identificador de uma porta que está em um estado criado. Não é possível especificar identificadores para portas que estão em um estado de remoção ou excluído. Para obter mais informações sobre estados de porta, consulte Estados de Porta do 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 ReferenceSwitchPort para incrementar o contador de referência para 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_PORT_DELETE para excluir a porta de comutador extensível.

Depois que a extensão chamar ReferenceSwitchPort, ela deverá chamar DereferenceSwitchPort para diminuir o contador de referência.

A extensão chama ReferenceSwitchPort depois que a porta atinge o estado de porta criada . A extensão não deve chamar ReferenceSwitchPort depois que a conexão tiver atingido a porta desativada ou a Porta não tiver sido criada . Para obter mais informações sobre esses estados, consulte Porta do Comutador Extensível do Hyper-V e Estados do Adaptador de Rede.

A extensão deve chamar ReferenceSwitchPort quando executa qualquer operação que exija que a porta esteja em um estado ativo. Por exemplo, a extensão deve chamar ReferenceSwitchPort antes de emitir uma solicitação de método OID de OID_SWITCH_PORT_PROPERTY_ENUM.

A extensão chama ReferenceSwitchPort depois que a porta atinge o estado de porta criada . A extensão não deve chamar ReferenceSwitchNic depois que a porta atingir o estado de desativação da porta . 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 ReferenceSwitchPort, 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 ReferenceSwitchPort enquanto a borda do protocolo do comutador extensível emite uma solicitação OID de OID_SWITCH_PORT_TEARDOWN. No entanto, se a chamada para ReferenceSwitchPort for concluída com NDIS_STATUS_SUCCESS, a extensão ainda poderá emitir a solicitação OID OID_SWITCH_PORT_PROPERTY_ENUM depois de lidar com a solicitação OID OID_SWITCH_PORT_TEARDOWN.
 

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

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN