Fungsi RtlIpv6StringToAddressA (ip2string.h)

Fungsi RtlIpv6StringToAddress mengonversi representasi string alamat IPv6 menjadi alamat IPv6 biner.

Sintaks

NTSYSAPI NTSTATUS RtlIpv6StringToAddressA(
  [in]  PCSTR    S,
  [out] PCSTR    *Terminator,
  [out] in6_addr *Addr
);

Parameter

[in] S

Penunjuk ke buffer yang berisi representasi string yang dihentikan NULL dari alamat IPv6.

[out] Terminator

Parameter yang menerima penunjuk ke karakter yang mengakhiri string yang dikonversi. Ini dapat digunakan oleh pemanggil untuk mengekstrak lebih banyak informasi dari string.

[out] Addr

Pointer tempat representasi biner alamat IPv6 akan disimpan.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah STATUS_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika string yang ditunjukkan oleh parameter S tidak berisi representasi string yang tepat dari alamat IPv6.

Kode kesalahan ini didefinisikan dalam file header Ntstatus.h.

Lainnya
Gunakan FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Keterangan

Fungsi RtlIpv6StringToAddress digunakan untuk mengonversi representasi string alamat IPv6 ke alamat IPv6 yang dikembalikan dalam urutan jaringan (byte yang diurutkan dari kiri ke kanan).

RtlIpv6StringToAddress adalah fungsi kenyamanan yang tidak mengharuskan DLL Soket Windows dimuat untuk mengakses fungsi yang disediakan di Soket Windows untuk melakukan string ke konversi alamat IP.

String yang ditunjukkan oleh parameter S harus diwakili dalam formulir untuk string alamat IPv6. Representasi string dasar dari alamat IPv6 terdiri dari 8 angka heksadesimal yang dipisahkan oleh titik dua. String angka nol berturut-turut dapat diganti dengan titik dua. Hanya ada satu titik dua dalam representasi string alamat IPv6. 32 bit terakhir dapat diwakili dalam notasi titik-oktet gaya IPv4 jika alamat tersebut adalah alamat yang kompatibel dengan IPv4, alamat IPv6 yang dipetakan IPv4, atau alamat ISATAP. Untuk informasi selengkapnya, lihat bagian 5 RFC 5942 yang diterbitkan oleh IETF.

Setelah berhasil, parameter Terminator menunjuk ke karakter yang mengakhiri string yang dikonversi. Ini memungkinkan aplikasi untuk meneruskan string yang berisi dan alamat IP ditambah informasi tambahan ke fungsi RtlIpv6StringToAddress dan kemudian mengurai informasi yang tersisa.

Catatan Beberapa alamat IPv6 cacat (::::, misalnya) dimulai dengan alamat IPv6 yang valid. Fungsi RtlIpv6StringToAddress akan mengembalikan keberhasilan, setelah mengurai bagian yang valid dari alamat IPv6 sebagai titik dua (::). Terminator kemudian menunjuk ke titik dua ketiga. Untuk memvalidasi bahwa seluruh string yang diteruskan adalah alamat IPv6 yang valid, Anda perlu memastikan bahwa terminator menunjuk ke karakter yang benar. Jika parameter S hanya berisi alamat IPv6, maka terminator harus menunjuk ke karakter NULL di akhir string.
 
Ketika UNICODE atau _UNICODE ditentukan, RtlIpv6StringToAddress didefinisikan ke RtlIpv6StringToAddressW, versi Unicode dari fungsi ini. Parameter S dan Terminator didefinisikan ke jenis data PCWSTR.

Ketika UNICODE dan _UNICODE tidak ditentukan, RtlIpv6StringToAddress didefinisikan ke RtlIpv6StringToAddressA, versi ANSI dari fungsi ini. Parameter S dan Terminator didefinisikan ke jenis data PCSTR.

Struktur IN6_ADDR didefinisikan dalam file header In6addr.h.

Pustaka impor yang berisi fungsi RtlIpv6StringToAddress tidak disertakan dalam Microsoft Windows Software Development Kit (SDK) yang dirilis untuk Windows Vista. Fungsi RtlIpv6StringToAddress disertakan dalam pustaka impor Ntdll.lib yang disertakan dalam Windows Driver Kit (WDK). Aplikasi juga dapat menggunakan fungsi GetModuleHandle dan GetProcAddress untuk mengambil pointer fungsi dari Ntdll.dll dan memanggil fungsi ini.

Catatan

Header ip2string.h mendefinisikan RtlIpv6StringToAddress sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header ip2string.h (termasuk Mstcpip.h, Ip2string.h)
Pustaka ntdll.lib
DLL ntdll.dll

Lihat juga

GetModuleHandle

GetProcAddress

IN6_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa