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é à n’importe quelle 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 de retour
NdisIfAllocateNetLuidIndex retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
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 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’alloue pas le même index NET_LUID aux futurs appelants de NdisIfAllocateNetLuidIndex jusqu’à ce que le fournisseur d’interface appelle 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, s’il y a une perte de puissance informatique, le fournisseur doit avoir stocké les valeurs de NET_LUID dans un stockage persistant afin qu’il puisse appeler NdisIfFreeNetLuidIndex plus tard pour libérer les index qui ne sont plus utilisés. En outre, le fournisseur doit utiliser la même valeur NET_LUID chaque fois qu’il inscrit la même interface avec le fonction NdisIfRegisterInterface.