Partager via


NdisClCloseAddressFamily, fonction (ndis.h)

NdisClCloseAddressFamily libère l’association entre un protocole client et l’AF inscrite par le gestionnaire d’appels ou le pilote MCM pour une carte réseau particulière à laquelle le client est lié.

Syntaxe

NDIS_STATUS NdisClCloseAddressFamily(
  [in] NDIS_HANDLE NdisAfHandle
);

Paramètres

[in] NdisAfHandle

Spécifie le handle fourni par NDIS retourné par NdisClOpenAddressFamilyEx.

Valeur de retour

Quand NdisClCloseAddressFamily retourne autre chose que NDIS_STATUS_PENDING, le client doit effectuer un appel interne à son ProtocolClCloseAfComplete fonction. Sinon, NDIS appelle le client ProtocolClCloseAfComplete fonction lorsque cette opération est terminée.

Si NdisClCloseAddressFamily retourne NDIS_STATUS_PENDING, un client qui attend son ProtocolClCloseAfComplete fonction à appeler ne doit pas bloquer le thread actuel, car cela peut entraîner un blocage. Cela est particulièrement important lorsqu’un client appelle NdisClCloseAddressFamily dans le contexte de la gestion d’un demande de NdisCmNotifyCloseAddressFamily. Dans ce cas, le gestionnaire d’appels peut ne pas fermer la famille d’adresses tant que le client n’a pas retourné la gestion de la demande NdisCmNotifyCloseAddressFamily. Si le client bloque le thread actuel, le client ne termine jamais la gestion des NdisCmNotifyCloseAddressFamily requête, ce qui provoque un blocage.

Remarques

Un client appelle généralement NdisClCloseAddressFamily à partir de son
fonction ProtocolUnbindAdapterEx, après avoir fermé toutes les machines virtuelles ouvertes du client sur la liaison avec des appels à NdisClCloseCall et/ou NdisClDeregisterSap. Un client peut également appeler NdisClCloseAddressFamily dans le contexte du traitement d’un demande de NdisCmNotifyCloseAddressFamily.

NDIS appelle les clients ProtocolUnbindAdapterEx fonction chaque fois qu’une carte réseau sous-jacente à laquelle ce client est lié est supprimée de l’ordinateur ou reconfigurée. Une reconfiguration PnP du pilote miniport sous-jacent entraîne le réinscrire le gestionnaire d’appels ou le pilote MCM pour réinscrire la famille d’adresses qu’il prend en charge sur cette carte réseau. Cela provoque à son tour un appel ultérieur au client ProtocolCoRegisterNotify fonction. Dans les deux scénarios, le client ProtocolUnbindAdapterEx fonction doit appeler NdisClCloseAddressFamily avec n’importe quel NdisAfHandle il utilise actuellement cela dépend du pilote miniport sous-jacent.

En règle générale, un client doit libérer toutes les ressources qu’il a allouées pour les communications orientées connexion via le pilote miniport avant son Fonction ProtocolUnbindAdapterEx appelle NdisCloseAdapterEx.

Le NdisAfHandle passé à NdisClCloseAddressFamily devient non valide pour le client dès que cet appel se produit.

Avant d’appeler NdisClCloseAddressFamily, le client peut utiliser la NdisAfHandle pendant que l’AF est ouvert ou pendant un 'opération protocolClNotifyCloseAf est en attente. Si le ProtocolClNotifyCloseAf fonction retourne NDIS_STATUS_PENDING, utilisez le handle dans le NdisClNotifyCloseAddressFamilyComplete appel une fois l’opération de fermeture terminée.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisClCloseAddressFamily (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisClCloseAddressFamily (NDIS 5.1)) dans Windows XP.
plateforme cible Bureau
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_Protocol_Driver_Function(ndis)

Voir aussi

NdisClCloseCall

NdisClDeregisterSap

NdisClOpenAddressFamilyEx

ProtocolClCloseAfComplete

ProtocolCmCloseAf

ProtocolCoRegisterNotify

ProtocolUnbindAdapterEx