Share 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 la représentation de chaîne terminée par null de l’adresse MAC Ethernet.

[out] Terminator

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

[out] Addr

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

Valeur retournée

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.

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si la chaîne pointée vers par le paramètre S ne contient pas de représentation 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 permet de convertir une représentation sous forme de chaîne d’une adresse de couche de liaison de données Ethernet EUI-48 (également appelée adresse MAC) au format binaire de l’adresse Ethernet. La chaîne représente une adresse Ethernet numérique exprimée dans la notation « -' » standard non DIX. La valeur retournée est un nombre qui peut être utilisé comme 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 « - » standard non DIX. 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 mis fin à la chaîne convertie. Cela permet à une application de passer 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 les sockets Windows afin d’effectuer la conversion d’adresses string to Ethernet.

Lorsque 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 .

Lorsque 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 pour 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 .

Notes

L’en-tête ip2string.h définit RtlEthernetStringToAddress comme un 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête ip2string.h (inclure Mstcpip.h, Ip2string.h)
Bibliothèque ntdll.lib
DLL ntdll.dll

Voir aussi

RtlEthernetAddressToString