Partager via


NdisIfRegisterProvider, fonction (ndis.h)

La fonction NdisIfRegisterProvider inscrit un fournisseur d’interface réseau NDIS.

Syntaxe

NDIS_STATUS NdisIfRegisterProvider(
  [in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in] NDIS_HANDLE                       IfProviderContext,
       PNDIS_HANDLE                      pNdisIfProviderHandle
);

Paramètres

[in] ProviderCharacteristics

Pointeur vers un appelant fourni NDIS_IF_PROVIDER_CHARACTERISTICS structure. Cette structure définit les caractéristiques du fournisseur, y compris les points d’entrée de ses fonctions de rappel du fournisseur.

[in] IfProviderContext

Handle vers une zone de contexte fournie par l’appelant pour ce fournisseur d’interface réseau. Définissez ce paramètre sur NULL s’il n’existe aucune zone de contexte.

pNdisIfProviderHandle

Pointeur vers une variable de handle fournie par l’appelant. Si l’opération d’inscription réussit, NDIS écrit un handle dans cette variable qui identifie le fournisseur d’interface réseau. Le fournisseur d’interface doit conserver ce handle pour une utilisation dans les appels suivants qui nécessitent un handle de fournisseur d’interface.

Valeur retournée

NdisIfRegisterProvider retourne l’une des valeurs de status suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS
L’opération s’est terminée avec succès.
NDIS_STATUS_RESOURCES
L’opération a échoué en raison de ressources insuffisantes.
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterProvider n’a pas pu inscrire le fournisseur, car le NDIS_IF_PROVIDER_CHARACTERISTICS structure au niveau du paramètre ProviderCharacteristics contenait des données de membre non valides.
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider n’a pas pu inscrire le fournisseur, car le membre Header dans NDIS_IF_PROVIDER_CHARACTERISTICS spécifie une version de structure qui n’est pas prise en charge.

Remarques

Les pilotes NDIS appellent la fonction NdisIfRegisterProvider une fois pendant l’initialisation pour s’inscrire en tant que fournisseur d’interface NDIS. Par exemple, le pilote peut appeler NdisIfRegisterProvider à partir de sa routine DriverEntry . Un fournisseur d’interface est un composant logiciel qui gère les interfaces réseau pour prendre en charge la MIB ( RFC 2863).

Pour gérer les requêtes OID du fournisseur d’interface, les fournisseurs d’interface fournissent des points d’entrée pour les fonctions de rappel dans le NDIS_IF_PROVIDER_CHARACTERISTICS structure au niveau du paramètre ProviderCharacteristics de NdisIfRegisterProvider.

Les fournisseurs d’interface NDIS appellent la fonction NdisIfRegisterInterface pour inscrire une interface réseau. Un fournisseur peut inscrire plusieurs interfaces.

Si NdisIfRegisterProvider réussit, il retourne un handle à l’emplacement vers lequel pointe le paramètre pNdisProviderHandle . Le fournisseur d’interface doit conserver ce handle pour une utilisation dans les appels suivants qui nécessitent un handle de fournisseur d’interface. Par exemple, un pilote doit appeler NdisIfDeregisterProvider avant le déchargement du pilote.

Un composant qui n’est plus un fournisseur d’interface peut appeler la fonction NdisIfDeregisterProvider à tout moment pour libérer les ressources du fournisseur d’interface allouées par NDIS lorsque le pilote a appelé NdisIfRegisterProvider.

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

Voir aussi

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface