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) |