Fungsi RtlIpv4StringToAddressExW (ip2string.h)

Fungsi RtlIpv4StringToAddressEx mengonversi representasi string alamat IPv4 dan nomor port menjadi alamat dan port IPv4 biner.

Sintaks

NTSYSAPI NTSTATUS RtlIpv4StringToAddressExW(
  [in]  PCWSTR  AddressString,
  [in]  BOOLEAN Strict,
  [out] in_addr *Address,
  [out] PUSHORT Port
);

Parameter

[in] AddressString

Penunjuk ke buffer yang berisi representasi string yang diakhiri NULL dari alamat IPv4 diikuti oleh representasi titik dua dan string opsional dari nomor port.

[in] Strict

Nilai yang menunjukkan apakah string harus berupa alamat IPv4 yang diwakili dalam notasi desimal putus-putus empat bagian yang ketat. Jika parameter ini TRUE, string harus bertitik-desimal dengan empat bagian. Jika parameter ini FALSE, salah satu dari empat formulir diizinkan untuk representasi string alamat Ipv4, dengan notasi desimal, oktal, atau heksadesimal. Lihat bagian Keterangan untuk detailnya.

[out] Address

Pointer tempat representasi biner alamat IPv4 akan disimpan. Alamat IPv4 disimpan dalam urutan byte jaringan.

[out] Port

Penunjuk tempat representasi biner nomor port akan disimpan. Nomor port dikembalikan dalam urutan byte jaringan. Jika tidak ada port yang ditentukan dalam string yang diacu oleh parameter AddressString , maka parameter Port diatur ke nol.

Nilai kembali

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 parameter Strict diatur ke TRUE, tetapi string yang ditunjukkan oleh parameter AddressString tidak berisi representasi string desimal putus-putus empat bagian dari alamat IPv4. Kesalahan ini juga dikembalikan jika string yang ditunjukkan oleh parameter AddressString tidak berisi representasi string yang tepat dari alamat IPv4.

Kode kesalahan ini didefinisikan dalam file header Ntstatus.h.

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

Keterangan

Fungsi RtlIpv4StringToAddressEx digunakan untuk mengonversi representasi string alamat IPv4 dan nomor port ke alamat IPv4 biner dan nomor port. Alamat IPv4 dikembalikan dalam urutan jaringan (byte diurutkan dari kiri ke kanan). Nomor port dikembalikan dalam urutan jaringan.

RtlIpv4StringToAddressEx adalah fungsi praktis yang tidak mengharuskan Dll Soket Windows dimuat untuk mengakses fungsi yang disediakan di Soket Windows untuk melakukan string ke konversi alamat IP.

Jika parameter Ketat diatur ke TRUE, maka string yang diarahkan oleh parameter AddressString harus dalam notasi desimal putus-putus yang ketat. Format ketat ini mengharuskan empat bagian ditentukan. Setiap bagian ditafsirkan sebagai byte desimal data dan ditetapkan, dari kiri ke kanan, ke empat byte alamat IPv4.

Ketika parameter Ketat diatur ke FALSE, string yang ditujukkan oleh parameter AddressString mungkin dalam salah satu dari beberapa format yang mungkin. Ketika buffer yang diacu oleh parameter AddressString berisi string alamat tiga bagian, bagian terakhir ditafsirkan sebagai kuantitas 16-bit dan ditempatkan di dua byte paling kanan dari alamat jaringan. Ini membuat format alamat tiga bagian nyaman untuk menentukan alamat jaringan Kelas B sebagai "128.net.host". Ketika buffer yang diacu oleh parameter AddressString berisi string alamat dua bagian, bagian terakhir ditafsirkan sebagai kuantitas 24-bit dan ditempatkan di paling kanan tiga byte alamat jaringan. Ini membuat format alamat dua bagian nyaman untuk menentukan alamat jaringan Kelas A sebagai "net.host". Ketika buffer yang ditunjukkan oleh parameter AddressString hanya berisi string alamat satu bagian, nilai disimpan langsung di alamat jaringan tanpa pengaturan ulang byte.

Buffer yang ditunjukkan oleh parameter AddressString mungkin berisi string alamat IPv4 diikuti oleh titik dua opsional dan representasi string dari nomor port. Jika string nomor port disertakan dalam buffer yang ditunjukkan oleh parameter AddressString , representasi biner dari nomor port dikembalikan dalam parameter Port . Jika buffer yang diacu oleh parameter AddressString tidak berisi nomor port, nol dikembalikan dalam parameter Port .

Ketika UNICODE atau _UNICODE ditentukan, RtlIpv4StringToAddressEx didefinisikan ke RtlIpv4StringToAddressExW, versi Unicode dari fungsi ini. Parameter AddressString didefinisikan ke jenis data PCWSTR.

Ketika UNICODE dan _UNICODE tidak ditentukan, RtlIpv4StringToAddressEx didefinisikan ke RtlIpv4StringToAddressExA, versi ANSI dari fungsi ini. Parameter AddressString didefinisikan ke jenis data PCSTR.

Struktur IN_ADDR didefinisikan dalam file header Inaddr.h .

Pustaka impor yang berisi fungsi RtlIpv4StringToAddressEx tidak disertakan dalam Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows yang dirilis untuk Windows Vista. Fungsi RtlIpv4StringToAddressEx 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.

Persyaratan

Persyaratan Nilai
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)
Pustaka ntdll.lib
DLL ntdll.dll

Lihat juga

GetModuleHandle

GetProcAddress

IN_ADDR

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa