Partager via


NdisIfAllocateNetLuidIndex, fonction (ndis.h)

La fonction NdisIfAllocateNetLuidIndex alloue un index NET_LUID pour un fournisseur d’interface réseau NDIS.

Syntaxe

NDIS_STATUS NdisIfAllocateNetLuidIndex(
        NET_IFTYPE ifType,
  [out] PUINT32    pNetLuidIndex
);

Paramètres

ifType

Type d’interface IANA (Internet Assigned Numbers Authority) pour un index. Par exemple, IF_TYPE_ETHERNET_CSMACD (6) est la valeur de IfType affectée à une interface de type Ethernet. Pour obtenir la liste des types d’interface, consultez Types d’interface NDIS.

[out] pNetLuidIndex

Pointeur vers une variable d’index NET_LUID fournie par l’appelant. Si l’allocation réussit, NdisIfAllocateNetLuidIndex définit cette variable sur la valeur d’index NET_LUID 24 bits allouée.

Valeur retournée

NdisIfAllocateNetLuidIndex retourne l’une des valeurs 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.

Remarques

Les fournisseurs d’interface NDIS appellent la fonction NdisIfAllocateNetLuidIndex pour allouer un index NET_LUID . Un fournisseur d’interface doit allouer un index NET_LUID avant que le fournisseur d’interface puisse inscrire une interface.

NdisIfAllocateNetLuidIndex tente d’allouer un index de NET_LUID 24 bits unique à l’ordinateur local et associé au type d’interface spécifié par le paramètre IfType . NDIS enregistre l’index NET_LUID dans le stockage persistant afin que l’index puisse rester associé à la même interface même après le redémarrage de l’ordinateur. NDIS n’allouera pas le même index NET_LUID aux futurs appelants de NdisIfAllocateNetLuidIndex tant qu’une fois que le fournisseur d’interface a appelé la fonction NdisIfFreeNetLuidIndex pour libérer l’index.

Pour générer une valeur NET_LUID à partir de l’index NET_LUID et du type d’interface, un fournisseur d’interface appelle la macro NDIS_MAKE_NET_LUID .

Le fournisseur d’interface doit stocker les valeurs NET_LUID qu’il alloue dans le stockage persistant. Par exemple, en cas de perte d’alimentation de l’ordinateur, le fournisseur doit avoir stocké les valeurs NET_LUID dans le stockage persistant afin qu’il puisse appeler NdisIfFreeNetLuidIndex ultérieurement pour libérer tous les index qui ne sont plus utilisés. En outre, le fournisseur doit utiliser la même valeur de NET_LUID chaque fois qu’il inscrit la même interface auprès de Fonction NdisIfRegisterInterface .

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

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface