Condividi tramite


Funzione RtlIpv6StringToAddressExA (ip2string.h)

La funzione RtlIpv6StringToAddressEx converte una rappresentazione stringa di un indirizzo IPv6, un ID ambito e un numero di porta in un indirizzo IPv6 binario, ID ambito e porta.

Sintassi

NTSYSAPI NTSTATUS RtlIpv6StringToAddressExA(
  [in]  PCSTR    AddressString,
  [out] in6_addr *Address,
  [out] PULONG   ScopeId,
  [out] PUSHORT  Port
);

Parametri

[in] AddressString

Puntatore a un buffer contenente la rappresentazione stringa con terminazione NULL dell'indirizzo IPv6, dell'ID ambito e del numero di porta.

[out] Address

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

[out] ScopeId

Puntatore a dove viene archiviato l'ID ambito dell'indirizzo IPv6. Se il parametro AddressString non contiene la rappresentazione stringa di un ID ambito, zero viene restituito in questo parametro.

[out] Port

Puntatore in cui è archiviato il numero di porta. Il numero di porta è in formato di ordine di byte di rete. Se il parametro AddressString non contiene la rappresentazione stringa di un numero di porta, zero viene restituito in questo parametro.

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
Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se la stringa puntata dal parametro AddressString non contiene una rappresentazione stringa appropriata di un indirizzo IPv6.

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

Altri
Usare FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

La funzione RtlIpv6StringToAddressEx viene usata per convertire una rappresentazione stringa dell'indirizzo IPv6, dell'ID ambito e del numero di porta in un indirizzo IPv6 binario, id ambito e numero di porta. L'indirizzo IPv6 viene restituito nell'ordine di rete (byte ordinati da sinistra a destra). Il numero di porta e l'ID ambito vengono restituiti nell'ordine di rete.

RtlIpv6StringToAddressEx è una funzione di praticità che non richiede che la DLL di Windows Sockets venga caricata per accedere a una funzione fornita in Windows Sockets per eseguire la conversione della stringa all'indirizzo IP.

La stringa a cui punta il parametro AddressString deve essere rappresentata nel formato per una stringa di indirizzi IPv6 seguita da un carattere facoltativo e una stringa ID ambito. La stringa ID di ambito e indirizzo IPv6 deve essere racchiusa tra parentesi quadre. La parentesi quadrata destra dopo l'indirizzo IPv6 e la stringa ID ambito possono essere seguiti da due punti facoltativi e da una rappresentazione stringa di un numero di porta. La rappresentazione di stringa di base di un indirizzo IPv6 è costituita da 8 numeri esadecimali separati da due punti. Una stringa di numeri zero consecutivi può essere sostituita con due punti. Nella rappresentazione di stringa dell'indirizzo IPv6 può essere presente un solo due punti. Gli ultimi 32 bit possono essere rappresentati in notazione APv4 in stile IPv4 se l'indirizzo è un indirizzo compatibile con IPv4, un indirizzo IPv4 mappato a IPv6 o un indirizzo ISATAP. Per altre informazioni, vedere la sezione 5 di RFC 5942 pubblicata da IETF.

Quando viene definito UNICODE o _UNICODE, RtlIpv6StringToAddressEx viene definito in RtlIpv6StringToAddressExW, la versione Unicode di questa funzione. Il parametro AddressString viene definito nel tipo di dati PCWSTR.

Quando sia UNICODE che _UNICODE non sono definiti, RtlIpv6StringToAddressEx viene definito in RtlIpv6StringToAddressExA, la versione ANSI di questa funzione. Il parametro AddressString è definito per il tipo di dati PCSTR.

La struttura IN6_ADDR è definita nel file di intestazione In6addr.h.

Una libreria di importazione contenente la funzione RtlIpv6StringToAddressEx non è inclusa nella versione di Microsoft Windows Software Development Kit (Windows SDK) (SDK) per Windows Vista. La funzione RtlIpv6StringToAddressEx è 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 della 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 (includere Mstcpip.h)
DLL Ntdll.dll

Vedi anche

GetModuleHandle
GetProcAddress
IN6_ADDR
InetNtop
InetPton
LoadLibrary
RtlIpv4AddressToString
RtlIpv4AddressToStringEx
RtlIpv4StringToAddress
RtlIpv4StringToAddressEx
RtlIpv6AddressToString
RtlIpv6AddressToStringEx
RtlIpv6StringToAddress
inet_addr
inet_ntoa