Condividi tramite


NDIS_SWITCH_REFERENCE_SWITCH_PORT funzione di callback (ndis.h)

La funzione ReferenceSwitchPort incrementa il contatore di riferimento del commutatore estendibile Hyper-V per una porta di commutatore estendibile.

Sintassi

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

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

Parametri

[in] NdisSwitchContext

Valore NDIS_SWITCH_CONTEXT che contiene l'handle del modulo di commutatore estendibile a cui è associata l'estensione dell'estensione estendibile Hyper-V. Quando l'estensione chiama NdisFGetOptionalSwitchHandlers, questo handle viene restituito tramite il parametro NdisSwitchContext .

[in] SwitchPortId

Valore NDIS_SWITCH_PORT_ID contenente l'identificatore univoco della porta di commutatore estendibile per cui viene incrementato il contatore di riferimento del commutatore estendibile.

Nota Il parametro SwitchPortId deve specificare l'identificatore di una porta in uno stato creato. Non è possibile specificare gli identificatori per le porte che si trovano in uno stato di rimozione o di eliminazione. Per altre informazioni sugli stati delle porte, vedere Porte estendibili Hyper-V e Stati della scheda di rete.
 

Valore restituito

Se la chiamata ha esito positivo, la funzione restituisce NDIS_STATUS_SUCCESS. In caso contrario, restituisce un codice di errore NDIS_STATUS_Xxx definito in Ndis.h.

Commenti

L'estensione del commutatore estendibile chiama ReferenceSwitchPort per incrementare il contatore di riferimento per una porta di commutatore estendibile. Anche se il contatore di riferimento ha un valore diverso da zero, il bordo del protocollo dell'commutatore estendibile non emetterà una richiesta di set di identificatori di oggetto (OID) di OID_SWITCH_PORT_DELETE per eliminare la porta del commutatore estendibile.

Dopo che l'estensione chiama ReferenceSwitchPort, deve chiamare DereferenceSwitchPort per decrerere il contatore di riferimento.

L'estensione chiama ReferenceSwitchPort dopo che la porta ha raggiunto lo stato creato dalla porta . L'estensione non deve chiamare ReferenceSwitchPort dopo che la connessione ha raggiunto lo stato di disinstallazione della porta o porta non creata . Per altre informazioni su questi stati, vedere Hyper-V Extensible Switch Port and Network Adapter States ( Stati della porta estendibile Hyper-V e Scheda di rete).

L'estensione deve chiamare ReferenceSwitchPort quando esegue qualsiasi operazione che richiede che la porta sia in uno stato attivo. Ad esempio, l'estensione deve chiamare ReferenceSwitchPort prima di eseguire una richiesta di metodo OID di OID_SWITCH_PORT_PROPERTY_ENUM.

L'estensione chiama ReferenceSwitchPort dopo che la porta ha raggiunto lo stato creato dalla porta . L'estensione non deve chiamare ReferenceSwitchNic dopo che la porta ha raggiunto lo stato di disinstallazione della porta. Per altre informazioni su questi stati, vedere Hyper-V Extensible Switch Port and Network Adapter States ( Stati della porta estendibile Hyper-V e Scheda di rete).

Nota Quando l'estensione chiama ReferenceSwitchPort, non deve sincronizzare la chiamata con il codice che gestisce le richieste OID. Di conseguenza, è possibile che l'estensione chiami ReferenceSwitchPort mentre il bordo del protocollo del commutatore estendibile genera una richiesta OID di OID_SWITCH_PORT_TEARDOWN. Tuttavia, se la chiamata a ReferenceSwitchPort viene completata con NDIS_STATUS_SUCCESS, l'estensione può comunque emettere la richiesta OID OID_SWITCH_PORT_PROPERTY_ENUM dopo aver gestito la richiesta OID OID_SWITCH_PORT_TEARDOWN.
 

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN