Share via


NdisRegisterProtocolDriver, fonction (ndis.h)

Un pilote de protocole appelle la fonction NdisRegisterProtocolDriver pour inscrire ses fonctions ProtocolXxx auprès de NDIS.

Syntaxe

NDIS_STATUS NdisRegisterProtocolDriver(
  [in, optional] NDIS_HANDLE                           ProtocolDriverContext,
  [in]           PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
  [out]          PNDIS_HANDLE                          NdisProtocolHandle
);

Paramètres

[in, optional] ProtocolDriverContext

Handle vers une zone de contexte allouée par le pilote où le pilote conserve les informations d’état et de configuration.

[in] ProtocolCharacteristics

Pointeur vers un NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure que le pilote de protocole a créée et initialisée avec ses points d’entrée de fonction ProtocolXxx .

[out] NdisProtocolHandle

Pointeur vers une variable de handle fournie par l’appelant. NDIS écrit un handle dans cette variable qui identifie de manière unique le pilote inscrit. Le pilote doit enregistrer ce handle pour l’utiliser dans les appels de fonction NdisXxx suivants.

Valeur retournée

NdisRegisterProtocolDriver retourne l’une des valeurs status suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS

NdisRegisterProtocolDriver retourne NDIS_STATUS_SUCCESS s’il a inscrit le pilote de protocole.

NDIS_STATUS_BAD_VERSION
La version spécifiée dans le membre MajorNdisVersion de la structure dans ProtocolCharacteristics n’est pas valide.
NDIS_STATUS_BAD_CHARACTERISTICS
Certains membres de la structure au niveau du paramètre ProtocolCharacteristics ne sont pas valides.
NDIS_STATUS_RESOURCES

NdisRegisterProtocolDriver a échoué en raison de ressources insuffisantes.

NDIS_STATUS_FAILURE

NdisRegisterProtocolDriver retourne NDIS_STATUS_FAILURE si aucune des valeurs précédentes ne s’applique.

Remarques

Un pilote de protocole appelle la fonction NdisRegisterProtocolDriver à partir de sa routine DriverEntry . Pour plus d’informations sur DriverEntry, consultez DriverEntry des pilotes de protocole NDIS.

Les pilotes qui appellent NdisRegisterProtocolDriver doivent être préparés pour un appel immédiat à l’une de leurs fonctions ProtocolXxx .

Chaque pilote de protocole exporte un ensemble de fonctions ProtocolXxx en configurant le NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure et appelez NdisRegisterProtocolDriver. NDIS copie cette structure dans le stockage interne de la bibliothèque NDIS.

Pour permettre aux pilotes de protocole d’inscrire des services facultatifs, NDIS appelle la fonction ProtocolSetOptions dans le contexte de NdisRegisterProtocolDriver.

Les pilotes de protocole appellent le Fonction NdisDeregisterProtocolDriver pour libérer les ressources précédemment allouées avec NdisRegisterProtocolDriver.

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_Protocol_Driver_Function(ndis)

Voir aussi

DriverEntry des pilotes de protocole NDIS

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS

NdisDeregisterProtocolDriver

NdisSetOptionalHandlers