NDIS_SWITCH_REFERENCE_SWITCH_PORT fonction de rappel (ndis.h)

La fonction ReferenceSwitchPort incrémente le compteur de référence de commutateur extensible Hyper-V pour un port de commutateur extensible.

Syntaxe

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

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

Paramètres

[in] NdisSwitchContext

Valeur NDIS_SWITCH_CONTEXT qui contient le handle du module de commutateur extensible auquel l’extension de commutateur extensible Hyper-V est attachée. Lorsque l’extension appelle NdisFGetOptionalSwitchHandlers, ce handle est retourné via le paramètre NdisSwitchContext .

[in] SwitchPortId

Valeur NDIS_SWITCH_PORT_ID qui contient l’identificateur unique du port de commutateur extensible pour lequel le compteur de référence de commutateur extensible est incrémenté.

Note Le paramètre SwitchPortId doit spécifier l’identificateur d’un port dans un état créé. Les identificateurs des ports qui sont dans un état de suppression ou de suppression ne peuvent pas être spécifiés. Pour plus d’informations sur les états de port, consultez Ports de commutateur extensible Hyper-V et États de la carte réseau.
 

Valeur retournée

Si l’appel réussit, la fonction retourne NDIS_STATUS_SUCCESS. Sinon, il retourne un code d’erreur NDIS_STATUS_Xxx défini dans Ndis.h.

Remarques

L’extension de commutateur extensible appelle ReferenceSwitchPort pour incrémenter le compteur de référence pour un port de commutateur extensible. Bien que le compteur de référence ait une valeur différente de zéro, le bord du protocole du commutateur extensible n’émettra pas de demande de jeu d’identificateur d’objet (OID) de OID_SWITCH_PORT_DELETE pour supprimer le port de commutateur extensible.

Une fois l’extension appelée ReferenceSwitchPort, elle doit appeler DereferenceSwitchPort pour décrémenter le compteur de références.

L’extension appelle ReferenceSwitchPort une fois que le port a atteint l’état De création du port . L’extension ne doit pas appeler ReferenceSwitchPort une fois que la connexion a atteint les états Port déclassement ou Port non créé . Pour plus d’informations sur ces états, consultez Ports de commutateur extensible Hyper-V et États de la carte réseau.

L’extension doit appeler ReferenceSwitchPort lorsqu’elle effectue une opération qui nécessite que le port soit à l’état actif. Par exemple, l’extension doit appeler ReferenceSwitchPort avant d’effectuer une demande de méthode OID de OID_SWITCH_PORT_PROPERTY_ENUM.

L’extension appelle ReferenceSwitchPort une fois que le port a atteint l’état De création du port . L’extension ne doit pas appeler ReferenceSwitchNic une fois que le port a atteint l’état de destruction du port . Pour plus d’informations sur ces états, consultez Ports de commutateur extensible Hyper-V et États de la carte réseau.

Note Lorsque l’extension appelle ReferenceSwitchPort, elle n’a pas besoin de synchroniser l’appel avec son code qui gère les requêtes OID. Par conséquent, il est possible pour l’extension d’appeler ReferenceSwitchPort alors que le bord du protocole du commutateur extensible émet une requête OID de OID_SWITCH_PORT_TEARDOWN. Toutefois, si l’appel à ReferenceSwitchPort se termine avec NDIS_STATUS_SUCCESS, l’extension peut toujours émettre la requête OID OID_SWITCH_PORT_PROPERTY_ENUM une fois qu’elle a géré la requête OID OID_SWITCH_PORT_TEARDOWN.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.30 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN