Funzione RtlIpv4AddressToStringExW (ip2string.h)
La funzione RtlIpv4AddressToStringEx converte un indirizzo IPv4 e un numero di porta in una stringa in formato standard Internet.
Sintassi
NTSYSAPI NTSTATUS RtlIpv4AddressToStringExW(
[in] const in_addr *Address,
[in] USHORT Port,
[out] PWSTR AddressString,
[in, out] PULONG AddressStringLength
);
Parametri
[in] Address
Indirizzo IPv4 nell'ordine dei byte di rete.
[in] Port
Numero di porta nel formato dell'ordine dei byte di rete. Questo parametro è facoltativo e,
[out] AddressString
Puntatore al buffer per ricevere la rappresentazione di stringa con terminazione NULL dell'indirizzo e della porta IPv4. Questo buffer deve essere sufficientemente grande da contenere almeno INET_ADDRSTRLEN caratteri. Il valore INET_ADDRSTRLEN è definito nel file di intestazione Ws2ipdef.h .
[in, out] AddressStringLength
In input, il numero di caratteri che rientrano nel buffer a cui punta il parametro AddressString , incluso il carattere di terminazione NULL. Nell'output questo parametro contiene il numero di caratteri effettivamente scritti nel buffer a cui punta il parametro AddressString .
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene STATUS_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se un puntatore NULL viene passato nel parametro AddressString o AddressStringLength . Questo errore viene restituito anche se la lunghezza del buffer a cui punta il parametro AddressString non è sufficiente per ricevere la rappresentazione di stringa dell'indirizzo e della porta IPv4. |
|
Usare FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Commenti
La funzione RtlIpv4AddressToStringEx viene utilizzata per convertire un indirizzo IPv4 e un numero di porta nella rappresentazione di stringa dell'indirizzo IPv4 in formato decimale punteggiato da Internet seguito da un carattere due punti e da una rappresentazione di stringa della porta.
RtlIpv4AddressToStringEx è una funzione utile che non richiede che la DLL di Windows Sockets venga caricata per accedere a una funzione fornita in Windows Sockets per eseguire la conversione dell'indirizzo IP alla stringa.
Se la lunghezza del buffer a cui punta il parametro AddressString non è sufficiente per ricevere la rappresentazione di stringa dell'indirizzo E della porta IPv4, RtlIpv4AddressToStringEx restituisce ERROR_INVALID_PARAMETER e imposta il parametro AddressStringLength sulla lunghezza del buffer richiesta.
Quando viene definito UNICODE o _UNICODE, RtlIpv4AddressToStringEx viene definito in RtlIpv4AddressToStringExW, la versione Unicode di questa funzione. Il parametro AddressString viene definito per il tipo di dati PWSTR.
Quando unicode e _UNICODE non sono definiti, RtlIpv4AddressToStringEx viene definito in RtlIpv4AddressToStringExA, la versione ANSI di questa funzione. Il parametro AddressString viene definito nel tipo di dati PSTR.
La struttura IN_ADDR è definita nel file di intestazione Inaddr.h .
Una libreria di importazione contenente la funzione RtlIpv4AddressToStringEx non è inclusa in Microsoft Windows Software Development Kit (Windows SDK) (SDK) rilasciata per Windows Vista. La funzione RtlIpv4AddressToStringEx è inclusa nella libreria di importazione Ntdll.lib inclusa in Windows Driver Kit (WDK). Un'applicazione può anche usare le funzioni GetModuleHandle e GetProcAddress per recuperare il puntatore di funzione dal Ntdll.dll e chiamare questa funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | ip2string.h (include Mstcpip.h) |
Libreria | ntdll.lib |
DLL | ntdll.dll |