Compartilhar via


Função RtlEthernetStringToAddressW (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 RtlEthernetStringToAddressW(
  [in]  PCWSTR   S,
  [out] LPCWSTR  *Terminator,
  [out] DL_EUI48 *Addr
);

Parâmetros

[in] S

Um ponteiro para um buffer que contém o representação de cadeia de caracteres nullterminada 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.

Valor de retorno

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.

Observações

A função RtlEthernetStringToAddress é usada para converter uma representação de cadeia de caracteres de um endereço de camada de vínculo 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).

Com ê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 dos Soquetes do Windows seja carregada para acessar uma função fornecida nos Soquetes do Windows 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 do são definidos para o tipo de dados pcstr .

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

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho ip2string.h (include Mstcpip.h, Ip2string.h)
biblioteca ntdll.lib
de DLL ntdll.dll

Consulte também

RtlEthernetAddressToString