Condividi tramite


Funzione RtlEthernetStringToAddressA (ip2string.h)

La funzione RtlEthernetStringToAddress converte una rappresentazione di stringa di un indirizzo MAC Ethernet in un formato binario dell'indirizzo Ethernet.

Sintassi

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

Parametri

[in] S

Puntatore a un buffer contenente il NULLrappresentazione di stringa con terminazione dell'indirizzo MAC Ethernet.

[out] Terminator

Parametro che riceve un puntatore al carattere che ha terminato la stringa convertita. Può essere usato dal chiamante per estrarre altre informazioni dalla stringa.

[out] Addr

Puntatore in cui deve essere archiviata la rappresentazione binaria dell'indirizzo MAC Ethernet.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è STATUS_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se la stringa a cui punta il parametro S non contiene una rappresentazione di stringa corretta di un indirizzo MAC Ethernet.

Questo codice di errore viene definito nel file di intestazione Ntstatus.h.

Altro
Usare FormatMessage per ottenere la stringa del messaggio per l'errore restituito.

Osservazioni

La funzione RtlEthernetStringToAddress viene usata per convertire una rappresentazione di stringa di un indirizzo di livello di collegamento dati UEI-48 Ethernet (noto anche come indirizzo MAC) in formato binario dell'indirizzo Ethernet. La stringa rappresenta un indirizzo Ethernet numerico espresso nella notazione standard non DIX "-'' . Il valore restituito è un numero adatto per l'uso come indirizzo Ethernet. Tutti gli indirizzi Ethernet vengono restituiti nell'ordine di rete (byte ordinati da sinistra a destra).

La stringa a cui punta il parametro S deve essere rappresentata nel formato per una stringa di indirizzo MAC Ethernet nella notazione "-" standard non DIX. La rappresentazione di stringa di base di un indirizzo MAC Ethernet è costituita da 6 coppie di numeri esadecimali separati da trattini (ad esempio F4-CE-46-2D-90-8C).

In caso di esito positivo, il parametro Terminator punta al carattere che ha terminato la stringa che è stata convertita. Ciò consente a un'applicazione di passare una stringa che contiene un indirizzo Ethernet più informazioni aggiuntive alla RtlEthernetStringToAddress funzione e quindi analizzare le informazioni rimanenti.

RtlEthernetStringToAddress è una funzione utile che non richiede il caricamento della DLL di Windows Sockets per accedere a una funzione fornita in Windows Sockets per eseguire la conversione della stringa nell'indirizzo Ethernet.

Quando viene definito UNICODE o _UNICODE, RtlEthernetStringToAddress viene definito per RtlEthernetStringToAddressW, la versione Unicode di questa funzione. I parametri S e S vengono definiti per il tipo di dati PCWSTR.

Quando sia UNICODE che _UNICODE non sono definiti, RtlEthernetStringToAddress viene definito per RtlEthernetStringToAddressA, la versione ANSI di questa funzione. I parametri di E terminatore di S vengono definiti per il tipo di dati PCSTR .

Il tipo di dati DL_EUI48 è definito nel file di intestazione Mstcpip. h.

Nota

L'intestazione ip2string.h definisce RtlEthernetStringToAddress come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 7 [app desktop | App UWP]
server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione ip2string.h (include Mstcpip.h, Ip2string.h)
libreria ntdll.lib
dll ntdll.dll

Vedere anche

RtlEthernetAddressToString