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 |
---|---|
|
L’opération s’est terminée avec succès. |
|
L’opération a échoué en raison de ressources insuffisantes. |
|
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. |
|
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) |