Partager via


NdisReadNetworkAddress, fonction (ndis.h)

La fonction NdisReadNetworkAddress retourne l’adresse réseau configurable par logiciel qui a été stockée dans le Registre pour une carte réseau lorsqu’elle a été installée sur la machine.

Syntaxe

void NdisReadNetworkAddress(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *NetworkAddress,
  [out] PUINT        NetworkAddressLength,
  [in]  NDIS_HANDLE  ConfigurationHandle
);

Paramètres

[out] Status

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne l’état de l’appel comme l’un des éléments suivants :

NDIS_STATUS_SUCCESS

L’appelant peut utiliser l’adresse retournée à NetworkAddress pour la carte réseau.

NDIS_STATUS_FAILURE

Aucune information d’adresse de carte réseau n’était disponible dans le Registre de l’appelant Parameters clé ou la valeur stockée n’était pas une chaîne.

[out] NetworkAddress

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne un pointeur vers une mémoire tampon qui contient l’adresse réseau (généralement l’adresse MAC), stockée sous la forme d’une séquence d’entiers d’octets, si l’appel réussit.

[out] NetworkAddressLength

Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne le nombre d’octets retournés à NetworkAddress.

[in] ConfigurationHandle

Handle de configuration retourné par le fonction NdisOpenConfigurationEx.

Valeur de retour

Aucun

Remarques

NdisReadNetworkAddress recherche la clé de registre Parameters désignée par l'ConfigurationHandle donnée pour le mot clé NetworkAddress, convertit la valeur de cette entrée de type chaîne en séquence d’entiers d’octets et stocke les informations demandées en interne. Le stockage que NDIS alloue pour une telle adresse reste valide jusqu’à ce que le pilote miniport appelle la fonction NdisCloseConfiguration, qui libère la mémoire.

L’appelant ne peut pas utiliser la variable à NetworkAddress comme pointeur, sauf si NdisReadNetworkAddress retourne NDIS_STATUS_SUCCESS à Status.

Le programme d’installation d’une carte réseau prenant en charge l’adressage réseau configurable par logiciel doit stocker une entrée de valeur nommée avec le mot clé NetworkAddress dans le mot clé HKLM\System\CurrentControlSet\Control\Class{4d36e972...}\00xx clé du Registre.

Un programme d’installation de carte réseau stocke généralement la valeur d’une entrée NetworkAddress dans le Registre sous la forme d’une chaîne de chiffres hexadécimaux. Si vous le souhaitez, un programme d’installation peut stocker une adresse telle qu’une chaîne de chiffres jumelés, avec chaque paire séparée de la suivante par un trait d’union. NdisReadNetworkAddress ignore les traits d’union et convertit chaque paire en un octet unique.

Dans les deux formulaires, NdisReadNetworkAddress convertit l’adresse spécifiée en tant que chaîne, un caractère à la fois, en entier équivalent jusqu’à ce que la chaîne soit épuisée.

Dans le Registre de Windows 2000 et versions ultérieures, une chaîne d’adresse installée contient des caractères Unicode.

Notez que NDIS ne valide pas la valeur à NetworkAddress. NDIS ne garantit pas que cette valeur est une adresse valide, que la valeur a la longueur appropriée, ou même que la valeur est une adresse réseau. L’appelant de NdisReadNetworkAddress ne doit donc pas faire d’hypothèses sur cette valeur et doit lui-même valider la valeur. Si l’appelant détermine que la valeur est hors limites, elle ne doit pas utiliser la valeur ; Au lieu de cela, il doit utiliser l’adresse mac (Contrôle d’accès moyen permanent) ou une adresse par défaut.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et versions ultérieures dans Windows Vista et versions ultérieures. Pris en charge pour les pilotes NDIS 5.1 (voir NdisReadNetworkAddress (NDIS 5.1)) dans Windows XP et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
règles de conformité DDI Irql_Miscellaneous_Function(ndis)

Voir aussi

NdisCloseConfiguration

NdisOpenConfigurationEx