Share via


Função RtlEthernetStringToAddressA (ip2string.h)

A função RtlEthernetStringToAddress converte uma representação de cadeia de caracteres de um endereço MAC Ethernet em um formato binário do endereço Ethernet.

Sintaxe

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

Parâmetros

[in] S

Um ponteiro para um buffer que contém a representação de cadeia de caracteres terminada em NULL do endereço MAC Ethernet.

[out] Terminator

Um parâmetro que recebe um ponteiro para o caractere que encerrou a cadeia de caracteres convertida. Isso pode ser usado pelo chamador para extrair mais informações da cadeia de caracteres.

[out] Addr

Um ponteiro em que a representação binária do endereço MAC Ethernet deve ser armazenada.

Retornar valor

Se a função for bem-sucedida, o valor retornado será STATUS_SUCCESS.

Se a função falhar, o valor retornado será um dos seguintes códigos de erro.

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função. Esse erro será retornado se a cadeia de caracteres apontada pelo parâmetro S não contiver uma representação de cadeia de caracteres adequada de um endereço MAC Ethernet.

Esse código de erro é definido no arquivo de cabeçalho Ntstatus.h .

Outros
Use FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado.

Comentários

A função RtlEthernetStringToAddress é usada para converter uma representação de cadeia de caracteres de um endereço de camada de link de dados Ethernet EUI-48 (também conhecido como endereço MAC) em formato binário do endereço Ethernet. A cadeia de caracteres representa um endereço Ethernet numérico expresso na notação "-'' padrão não DIX. O valor retornado é um número adequado para uso como um endereço Ethernet. Todos os endereços Ethernet são retornados em ordem de rede (bytes ordenados da esquerda para a direita).

A cadeia de caracteres apontada pelo parâmetro S deve ser representada no formulário para uma cadeia de caracteres de endereço MAC Ethernet na notação "-" padrão não DIX. A representação de cadeia de caracteres básica de um endereço MAC Ethernet consiste em 6 pares de números hexadecimal separados por traços (F4-CE-46-2D-90-8C, por exemplo).

Em caso de êxito , o parâmetro Terminator aponta para o caractere que encerrou a cadeia de caracteres que foi convertida. Isso permite que um aplicativo passe uma cadeia de caracteres que contém um endereço Ethernet, além de informações adicionais para a função RtlEthernetStringToAddress e, em seguida, analise as informações restantes.

RtlEthernetStringToAddress é uma função de conveniência que não exige que a DLL do Windows Sockets seja carregada para acessar uma função fornecida no Windows Sockets para executar a cadeia de caracteres para conversão de endereço Ethernet.

Quando UNICODE ou _UNICODE é definido, RtlEthernetStringToAddress é definido como RtlEthernetStringToAddressW, a versão Unicode dessa função. Os parâmetros S e Terminator são definidos para o tipo de dados PCWSTR .

Quando unicode e _UNICODE não são definidos, RtlEthernetStringToAddress é definido como RtlEthernetStringToAddressA, a versão ANSI dessa função. Os parâmetros S e Terminator são definidos para o tipo de dados PCSTR .

O tipo de dados DL_EUI48 é definido no arquivo de cabeçalho Mstcpip.h .

Observação

O cabeçalho ip2string.h define RtlEthernetStringToAddress como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho ip2string.h (inclua Mstcpip.h, Ip2string.h)
Biblioteca ntdll.lib
DLL ntdll.dll

Confira também

RtlEthernetAddressToString