Función RtlEthernetStringToAddressW (ip2string.h)

La función RtlEthernetStringToAddress convierte una representación de cadena de una dirección MAC Ethernet en un formato binario de la dirección Ethernet.

Sintaxis

NTSYSAPI NTSTATUS RtlEthernetStringToAddressW(
  [in]  PCWSTR   S,
  [out] LPCWSTR  *Terminator,
  [out] DL_EUI48 *Addr
);

Parámetros

[in] S

Puntero a un búfer que contiene la representación de cadena terminada en NULL de la dirección MAC Ethernet.

[out] Terminator

Parámetro que recibe un puntero al carácter que finalizó la cadena convertida. El autor de la llamada puede usar esto para extraer más información de la cadena.

[out] Addr

Puntero donde se va a almacenar la representación binaria de la dirección MAC Ethernet.

Valor devuelto

Si la función se ejecuta correctamente, se STATUS_SUCCESS el valor devuelto.

Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Se pasó un parámetro no válido a la función. Este error se devuelve si la cadena a la que apunta el parámetro S no contenía una representación de cadena adecuada de una dirección MAC Ethernet.

Este código de error se define en el archivo de encabezado Ntstatus.h .

Otros
Use FormatMessage para obtener la cadena de mensaje del error devuelto.

Comentarios

La función RtlEthernetStringToAddress se usa para convertir una representación de cadena de una dirección de capa de vínculo de datos EUI-48 Ethernet (también conocida comúnmente como dirección MAC) al formato binario de la dirección Ethernet. La cadena representa una dirección Ethernet numérica expresada en la notación "-'' estándar no DIX. El valor devuelto es un número adecuado para su uso como una dirección Ethernet. Todas las direcciones Ethernet se devuelven en orden de red (bytes ordenados de izquierda a derecha).

La cadena a la que apunta el parámetro S debe representarse en forma para una cadena de dirección MAC Ethernet en la notación "-" estándar no DIX. La representación de cadena básica de una dirección MAC Ethernet consta de 6 pares de números hexadecimales separados por guiones (F4-CE-46-2D-90-8C, por ejemplo).

Si se ejecuta correctamente, el parámetro Terminador apunta al carácter que finalizó la cadena que se convirtió. Esto permite que una aplicación pase una cadena que contenga una dirección Ethernet más información adicional a la función RtlEthernetStringToAddress y, a continuación, analice la información restante.

RtlEthernetStringToAddress es una función útil que no requiere que el archivo DLL de Windows Sockets se cargue para tener acceso a una función proporcionada en Windows Sockets para realizar la conversión de cadenas a direcciones Ethernet.

Cuando se define UNICODE o _UNICODE, RtlEthernetStringToAddress se define en RtlEthernetStringToAddressW, la versión Unicode de esta función. Los parámetros S y Terminator se definen en el tipo de datos PCWSTR .

Cuando no se definen UNICODE y _UNICODE, RtlEthernetStringToAddress se define en RtlEthernetStringToAddressA, la versión ANSI de esta función. Los parámetros S y Terminator se definen en el tipo de datos PCSTR .

El tipo de datos DL_EUI48 se define en el archivo de encabezado Mstcpip.h .

Nota

El encabezado ip2string.h define RtlEthernetStringToAddress como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado ip2string.h (incluya Mstcpip.h, Ip2string.h)
Library ntdll.lib
Archivo DLL ntdll.dll

Consulte también

RtlEthernetAddressToString