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 |
---|---|
|
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. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk