NdisCmRegisterAddressFamilyEx, fonction (ndis.h)

La fonction NdisCmRegisterAddressFamilyEx enregistre une famille d’adresses (AF) pour la communication entre les pilotes CoNDIS.

Syntaxe

NDIS_STATUS NdisCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        NdisBindingHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

Paramètres

[in] NdisBindingHandle

Handle fourni par NDIS au niveau du paramètre NdisBindingHandle de la fonction NdisOpenAdapterEx . Ce handle identifie la liaison à associer à l’AF.

[in] AddressFamily

Pointeur vers une structure CO_ADDRESS_FAMILY qui identifie le gestionnaire d’appels et l’AF qu’il prend en charge pour la liaison spécifiée par NdisBindingHandle .

Le pointeur pour AddressFamily devient un paramètre d’entrée pour le ProtocolCoAfRegisterNotify fonctions de tous les clients liés au même adaptateur miniport CoNDIS.

Valeur retournée

NdisCmRegisterAddressFamilyEx peut retourner l’un des éléments suivants :

Code de retour Description
NDIS_STATUS_SUCCESS
Le pilote de protocole a inscrit l’AF vers lequel addressFamily pointe, de sorte que NDIS appelle le ProtocolCoAfRegisterNotify fonctions de tous les clients qui se lient eux-mêmes au même adaptateur miniport.
NDIS_STATUS_RESOURCES
L’opération demandée a échoué, car NDIS n’a pas pu allouer suffisamment de mémoire ou initialiser l’état qu’il utilise pour suivre le gestionnaire d’appels ou l’AF spécifié.
NDIS_STATUS_FAILURE
NDIS a échoué l’appel à NdisCmRegisterAddressFamilyEx, peut-être pour l’une des raisons suivantes :
  • L’appelant n’a pas été inscrit en tant que pilote de protocole orienté connexion.
  • Le pilote miniport auquel l’appelant est lié n’a pas été inscrit en tant que pilote miniport orienté connexion.
  • Un autre gestionnaire d’appels a déjà inscrit l’AF spécifié.
  • La liaison de l’appelant est en cours de fermeture.

Remarques

Gestionnaires d’appels autonomes NDIS, qui s’inscrivent en tant que pilotes de protocole NDIS en appelant le La fonction NdisRegisterProtocolDriver doit appeler la fonction NdisCmRegisterAddressFamilyEx pour inscrire un af. Les gestionnaires d’appels miniport (MCM) doivent à la place appeler le Fonction NdisMCmRegisterAddressFamilyEx .

Pour inscrire un AF pour une liaison, le gestionnaire d’appels autonome doit appeler NdisCmRegisterAddressFamilyEx à partir du Fonction ProtocolBindAdapterEx .

La fonction ProtocolBindAdapterEx d’un gestionnaire d’appels autonome établit d’abord la liaison au pilote miniport sous-jacent en appelant la fonction NdisOpenAdapterEx . Chaque fois que NDIS appelle ProtocolBindAdapterEx avec un autre handle au niveau du paramètre BindContext , ProtocolBindAdapterEx établit une liaison et inscrit un af qu’il prend en charge. En d’autres termes, un gestionnaire d’appels autonome finit par inscrire un af pour chaque liaison sur laquelle il fournit des services de gestion des appels aux clients orientés connexion.

Le gestionnaire d’appels peut prendre en charge plusieurs af et plusieurs af pour une seule liaison. Toutefois, un seul gestionnaire d’appels peut prendre en charge un af donné pour les clients qui sont liés à un adaptateur miniport donné.

Quand la fonction ProtocolBindAdapterEx d’un gestionnaire d’appels retourne le contrôle après une opération de liaison réussie, NDIS appelle le ProtocolCoAfRegisterNotify fonctions de tous les clients liés au même adaptateur miniport.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
Règles de conformité DDI Irql_CallManager_Function(ndis)

Voir aussi

CO_ADDRESS_FAMILY

NdisMCmRegisterAddressFamilyEx

NdisOpenAdapterEx

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCoAfRegisterNotify