NdisClCloseAddressFamily, fonction (ndis.h)
NdisClCloseAddressFamily libère l’association entre un protocole client et l’af inscrit d’un gestionnaire d’appels ou d’un 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 retournée
Lorsque le répertoire NdisClCloseAddressFamily retourne autre chose que NDIS_STATUS_PENDING. Le client doit effectuer un appel interne à son Fonction ProtocolClCloseAfComplete . Sinon, NDIS appelle le client Fonction ProtocolClCloseAfComplete lorsque cette opération est terminée.
Si NdisClCloseAddressFamily retourne NDIS_STATUS_PENDING, un client qui attend son La fonction ProtocolClCloseAfComplete à appeler ne doit pas bloquer le thread actuel, car cela pourrait provoquer un blocage. Cela est particulièrement important lorsqu’un client appelle NdisClCloseAddressFamily dans le contexte de la gestion d’un Requête NdisCmNotifyCloseAddressFamily . Dans ce cas, le gestionnaire d’appels ne peut pas fermer la famille d’adresses tant que le client n’a pas été retourné après avoir géré la demande NdisCmNotifyCloseAddressFamily . Si le client bloque le thread actuel, le client ne terminera jamais la gestion de la requête NdisCmNotifyCloseAddressFamily , ce qui entraîne un blocage.
Remarques
Un client appelle couramment 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 Requête NdisCmNotifyCloseAddressFamily .
NDIS appelle le client Fonction ProtocolUnbindAdapterEx chaque fois qu’une carte réseau sous-jacente à laquelle ce client est lié est supprimée de l’ordinateur ou en cours de reconfiguration. Une reconfiguration PnP du pilote miniport sous-jacent entraîne la réinscrire le gestionnaire d’appels ou le pilote MCM la famille d’adresses qu’il prend en charge sur cette carte réseau. Cela, à son tour, provoque un appel ultérieur au client Fonction ProtocolCoAfRegisterNotify . Dans les deux scénarios, le client La fonction ProtocolUnbindAdapterEx doit appeler NdisClCloseAddressFamily avec tout NdisAfHandle en cours d’utilisation qui 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 La fonction ProtocolUnbindAdapterEx appelle NdisCloseAdapterEx.
Le NdisAfHandle passé à NdisClCloseAddressFamily devient non valide pour le client dès que cet appel se produit.
Avant un appel à NdisClCloseAddressFamily, le client peut utiliser le NdisAfHandle pendant que l’AF est ouvert ou pendant qu’un L’opération ProtocolClNotifyCloseAf est en attente. Si la La fonction ProtocolClNotifyCloseAf retourne NDIS_STATUS_PENDING, utilisez le handle dans le Appel NdisClNotifyCloseAddressFamilyComplete une fois l’opération de fermeture terminée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal 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 (consultez NdisClCloseAddressFamily (NDIS 5.1)) dans Windows XP. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Irql_Protocol_Driver_Function(ndis) |