Fungsi RtlIpv4StringToAddressA (ip2string.h)

Fungsi RtlIpv4StringToAddress mengonversi representasi string alamat IPv4 ke alamat IPv4 biner.

Sintaks

NTSYSAPI NTSTATUS RtlIpv4StringToAddressA(
  [in]  PCSTR   S,
  [in]  BOOLEAN Strict,
  [out] PCSTR   *Terminator,
  [out] in_addr *Addr
);

Parameter

[in] S

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

[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 yang mungkin diizinkan, dengan notasi desimal, oktal, atau heksadesimal. Lihat bagian Keterangan untuk detailnya.

[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 IPv4 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 parameter Strict diatur ke TRUE, tetapi string yang ditunjukkan oleh parameter S tidak berisi representasi string desimal bertiga empat bagian dari alamat IPv4. Kesalahan ini juga dikembalikan jika string yang ditunjukkan oleh parameter S 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 RtlIpv4StringToAddress digunakan untuk mengonversi representasi string alamat IPv4 ke alamat IPv4 yang dikembalikan dalam urutan jaringan (byte yang diurutkan dari kiri ke kanan).

RtlIpv4StringToAddress 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.

Jika parameter Ketat diatur ke TRUE, maka string yang diarahkan oleh parameter S 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 S mungkin dalam salah satu dari beberapa format yang mungkin. Ketika buffer yang diacu oleh parameter S 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 S berisi string alamat dua bagian, bagian terakhir ditafsirkan sebagai kuantitas 24-bit dan ditempatkan di tiga byte paling kanan dari alamat jaringan. Ini membuat format alamat dua bagian nyaman untuk menentukan alamat jaringan Kelas A sebagai "net.host". Ketika buffer yang diarahkan oleh parameter S hanya berisi string alamat satu bagian, nilai disimpan langsung di alamat jaringan tanpa pengaturan ulang byte.

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

Ketika UNICODE atau _UNICODE ditentukan, RtlIpv4StringToAddress didefinisikan ke RtlIpv4StringToAddressW, versi Unicode dari fungsi ini. Parameter S didefinisikan ke jenis data PCWSTR dan parameter Terminator didefinisikan ke jenis data LPCWSTR.

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

Struktur IN_ADDR didefinisikan dalam file header Inaddr.h .

Pustaka impor yang berisi fungsi RtlIpv4StringToAddress tidak disertakan dalam Microsoft Windows Software Development Kit (SDK) yang dirilis untuk Windows Vista. Fungsi RtlIpv4StringToAddress 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 RtlIpv4StringToAddress 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

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa