Partager via


Fonction RtlEthernetStringToAddressA (ip2string.h)

La fonction RtlEthernetStringToAddress convertit une représentation sous forme de chaîne d’une adresse MAC Ethernet en format binaire de l’adresse Ethernet.

Syntaxe

NTSYSAPI NTSTATUS RtlEthernetStringToAddressA(
  [in]  PCSTR    S,
  [out] PCSTR    *Terminator,
  [out] DL_EUI48 *Addr
);

Paramètres

[in] S

Pointeur vers une mémoire tampon contenant le NULLreprésentation sous forme de chaîne terminée de l’adresse MAC Ethernet.

[out] Terminator

Paramètre qui reçoit un pointeur vers le caractère qui a terminé la chaîne convertie. Cela peut être utilisé par l’appelant pour extraire plus d’informations de la chaîne.

[out] Addr

Pointeur où la représentation binaire de l’adresse MAC Ethernet doit être stockée.

Valeur de retour

Si la fonction réussit, la valeur de retour est STATUS_SUCCESS.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Retourner le code Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été passé à la fonction. Cette erreur est retournée si la chaîne pointée par le paramètre S ne contenait pas de représentation sous forme de chaîne appropriée d’une adresse MAC Ethernet.

Ce code d’erreur est défini dans le fichier d’en-tête Ntstatus.h.

autres
Utilisez formatMessage pour obtenir la chaîne de message pour l’erreur retournée.

Remarques

La fonction RtlEthernetStringToAddress est utilisée pour convertir une représentation sous forme de chaîne d’une adresse de couche de liaison de données ETHERNET EUI-48 (également connue sous le nom d’adresse MAC) en format binaire de l’adresse Ethernet. La chaîne représente une adresse Ethernet numérique exprimée en notation non DIX standard « - ». La valeur retournée est un nombre adapté à une utilisation en tant qu’adresse Ethernet. Toutes les adresses Ethernet sont retournées dans l’ordre réseau (octets classés de gauche à droite).

La chaîne pointée par le paramètre S doit être représentée sous la forme d’une chaîne d’adresse MAC Ethernet dans la notation « - » non dix standard. La représentation sous forme de chaîne de base d’une adresse MAC Ethernet se compose de 6 paires de nombres hexadécimaux séparés par des tirets (F4-CE-46-2D-90-8C, par exemple).

En cas de réussite, le paramètre Terminator pointe vers le caractère qui a terminé la chaîne qui a été convertie. Cela permet à une application de transmettre une chaîne qui contient une adresse Ethernet et des informations supplémentaires à la fonction RtlEthernetStringToAddress, puis d’analyser les informations restantes.

RtlEthernetStringToAddress est une fonction pratique qui ne nécessite pas que la DLL Windows Sockets soit chargée pour accéder à une fonction fournie dans Windows Sockets pour effectuer la conversion d’adresses Ethernet.

Quand unicode ou _UNICODE est défini, RtlEthernetStringToAddress est défini sur RtlEthernetStringToAddressW, la version Unicode de cette fonction. Les paramètres S et Terminator sont définis sur le type de données PCWSTR.

Quand unicode et _UNICODE ne sont pas définis, RtlEthernetStringToAddress est défini sur RtlEthernetStringToAddressA, la version ANSI de cette fonction. Les paramètres S et Terminator sont définis sur le type de données PCSTR.

Le type de données DL_EUI48 est défini dans le fichier d’en-tête Mstcpip.h.

Note

L’en-tête ip2string.h définit RtlEthernetStringToAddress en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 7 [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête ip2string.h (include Mstcpip.h, Ip2string.h)
bibliothèque ntdll.lib
DLL ntdll.dll

Voir aussi

RtlEthernetAddressToString