Fungsi ParseNetworkString mengurai string jaringan input dan memeriksa apakah itu adalah representasi hukum dari jenis string jaringan IP yang ditentukan. Jika string cocok dengan jenis dan spesifikasinya, fungsi dapat secara opsional mengembalikan hasil yang diurai.
Sintaks
IPHLPAPI_DLL_LINKAGE DWORD ParseNetworkString(
[in] const WCHAR *NetworkString,
[in] DWORD Types,
[out, optional] PNET_ADDRESS_INFO AddressInfo,
[out, optional] USHORT *PortNumber,
[out, optional] BYTE *PrefixLength
);
Parameter
[in] NetworkString
Penunjuk ke string jaringan yang dihentikan NULL untuk diurai.
[in] Types
Jenis string jaringan IP yang akan diurai. Parameter ini terdiri dari salah satu jenis string jaringan seperti yang didefinisikan dalam file header Iphlpapi.h .
| Nilai |
Makna |
-
NET_STRING_IPV4_ADDRESS
- 0x00000001
|
Parameter NetworkString menunjuk ke alamat IPv4 menggunakan notasi desimal putus-putus standar Internet.
Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
192.168.100.10
|
-
NET_STRING_IPV4_SERVICE
- 0x00000002
|
Parameter NetworkString menunjuk ke layanan IPv4 menggunakan notasi desimal putus-putus standar Internet.
Port jaringan diperlukan sebagai bagian dari string jaringan. Awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
192.168.100.10:80
|
-
NET_STRING_IPV4_NETWORK
- 0x00000004
|
Parameter NetworkString menunjuk ke jaringan IPv4 menggunakan notasi desimal putus-putus standar Internet.
Awalan jaringan yang menggunakan notasi Classless Inter-Domain Routing (CIDR) diperlukan sebagai bagian dari string jaringan. Port jaringan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
192.168.100/24
|
-
NET_STRING_IPV6_ADDRESS
- 0x00000008
|
Parameter NetworkString menunjuk ke alamat IPv6 menggunakan pengodean heksadesimal standar Internet.
ID cakupan IPv6 mungkin ada dalam string jaringan. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A%2
|
-
NET_STRING_IPV6_ADDRESS_NO_SCOPE
- 0x00000008
|
Parameter NetworkString menunjuk ke alamat IPv6 menggunakan pengodean heksadesimal standar Internet. ID cakupan IPv6 tidak boleh ada dalam string jaringan. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A
|
-
NET_STRING_IPV6_SERVICE
- 0x00000020
|
Parameter NetworkString menunjuk ke layanan IPv6 menggunakan pengodean heksadesimal standar Internet.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 mungkin ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan dengan ID cakupan adalah sebagai berikut:
[21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A%2]:8080
|
-
NET_STRING_IPV6_SERVICE_NO_SCOPE
- 0x00000040
|
Parameter NetworkString menunjuk ke layanan IPv6 menggunakan pengodean heksadesimal standar Internet.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 tidak boleh ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A:8080
|
-
NET_STRING_IPV6_NETWORK
- 0x00000080
|
Parameter NetworkString menunjuk ke jaringan IPv6 menggunakan pengodean heksadesimal standar Internet.
Awalan jaringan dalam notasi CIDR diperlukan sebagai bagian dari string jaringan. Port jaringan atau ID cakupan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
21DA:D3::/48
|
-
NET_STRING_NAMED_ADDRESS
- 0x00000100
|
Parameter NetworkString menunjuk ke alamat Internet menggunakan nama Sistem Nama Domain (DNS).
Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
www.microsoft.com
|
-
NET_STRING_NAMED_SERVICE
- 0x00000200
|
Parameter NetworkString menunjuk ke layanan Internet menggunakan nama DNS.
Port jaringan harus ada dalam string jaringan.
Contoh string jaringan adalah sebagai berikut:
www.microsoft.com:80
|
-
NET_STRING_IP_ADDRESS
- 0x00000009
|
Parameter NetworkString menunjuk ke alamat IPv4 menggunakan notasi desimal putus-putus standar Internet atau alamat IPv6 menggunakan pengodean heksadesimal standar Internet.
ID cakupan IPv6 mungkin ada dalam string jaringan. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_IPV4_ADDRESS atau NET_STRING_IPV6_ADDRESS .
|
-
NET_STRING_IP_ADDRESS_NO_SCOPE
- 0x00000011
|
Parameter NetworkString menunjuk ke alamat IPv4 menggunakan notasi desimal putus-putus standar Internet atau alamat IPv6 menggunakan pengodean heksadesimal standar Internet.
ID cakupan IPv6 tidak boleh ada dalam string jaringan. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_IPV4_ADDRESS atau NET_STRING_IPV6_ADDRESS_NO_SCOPE .
|
-
NET_STRING_IP_SERVICE
- 0x00000022
|
Parameter NetworkString menunjuk ke layanan IPv4 atau layanan IPv6.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 mungkin ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_IPV4_SERVICE atau NET_STRING_IPV6_SERVICE .
|
-
NET_STRING_IP_SERVICE_NO_SCOPE
- 0x00000042
|
Parameter NetworkString menunjuk ke layanan IPv4 atau layanan IPv6.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 tidak boleh ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_IPV4_SERVICE atau NET_STRING_IPV6_SERVICE_NO_SCOPE .
|
-
NET_STRING_IP_NETWORK
- 0x00000084
|
Parameter NetworkString menunjuk ke jaringan IPv4 atau IPv6.
Awalan jaringan dalam notasi CIDR diperlukan sebagai bagian dari string jaringan. Port jaringan atau ID cakupan tidak boleh ada dalam jaringan.
Jenis ini cocok dengan jenis NET_STRING_IPV4_NETWORK atau NET_STRING_IPV6_NETWORK .
|
-
NET_STRING_ANY_ADDRESS
- 0x00000209
|
Parameter NetworkString menunjuk ke alamat IPv4 dalam notasi desimal putus-putus standar Internet, alamat IPv6 dalam pengodean heksadesimal standar Internet, atau nama DNS.
ID cakupan IPv6 mungkin ada dalam string jaringan untuk alamat IPv6. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_NAMED_ADDRESS atau NET_STRING_IP_ADDRESS .
|
-
NET_STRING_ANY_ADDRESS_NO_SCOPE
- 0x00000211
|
Parameter NetworkString menunjuk ke alamat IPv4 dalam notasi desimal putus-putus standar Internet, alamat IPv6 dalam pengodean heksadesimal standar Internet, atau nama DNS.
ID cakupan IPv6 tidak boleh ada dalam string jaringan untuk alamat IPv6. Port jaringan atau awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_NAMED_ADDRESS atau NET_STRING_IP_ADDRESS_NO_SCOPE .
|
-
NET_STRING_ANY_SERVICE
- 0x00000222
|
Parameter NetworkString menunjuk ke layanan IPv4 atau layanan IPv6 menggunakan notasi alamat IP atau nama DNS.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 mungkin ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_NAMED_SERVICE atau NET_STRING_IP_SERVICE .
|
-
NET_STRING_ANY_SERVICE_NO_SCOPE
- 0x00000242
|
Parameter NetworkString menunjuk ke layanan IPv4 atau layanan IPv6 menggunakan notasi alamat IP atau nama DNS.
Port jaringan diperlukan sebagai bagian dari string jaringan. ID cakupan IPv6 tidak boleh ada dalam string jaringan. Awalan tidak boleh ada dalam string jaringan.
Jenis ini cocok dengan jenis NET_STRING_NAMED_SERVICE atau NET_STRING_IP_SERVICE_NO_SCOPE .
|
[out, optional] AddressInfo
Jika berhasil, fungsi mengembalikan penunjuk ke struktur NET_ADDRESS_INFO yang berisi informasi alamat IP yang diurai jika penunjuk NULL tidak diteruskan dalam parameter ini.
[out, optional] PortNumber
Setelah berhasil, fungsi mengembalikan penunjuk ke port jaringan yang diurai dalam urutan host jika penunjuk NULL tidak diteruskan dalam parameter ini. Jika port jaringan tidak ada dalam parameter NetworkString , maka pointer ke nilai nol dikembalikan.
[out, optional] PrefixLength
Setelah berhasil, fungsi mengembalikan penunjuk ke panjang awalan yang diurai jika penunjuk NULL tidak diteruskan dalam parameter ini. Jika awalan tidak ada dalam parameter NetworkString , maka penunjuk ke nilai -1 dikembalikan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.
| Menampilkan kode |
Deskripsi |
-
ERROR_INSUFFICIENT_BUFFER
|
Buffer yang diteruskan ke fungsi terlalu kecil. Kesalahan ini dikembalikan jika buffer yang ditunjukkan oleh parameter AddressInfo terlalu kecil untuk menahan alamat jaringan yang diurai.
|
-
ERROR_INVALID_PARAMETER
|
Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter NetworkString |
Fungsi ParseNetworkString mengurai string jaringan input yang diteruskan dalam parameter NetworkString dan memeriksa apakah itu adalah representasi hukum dari salah satu jenis string seperti yang ditentukan dalam argumen Type . Jika string cocok dengan jenis dan spesifikasinya, fungsi berhasil dan secara opsional dapat mengembalikan hasil yang diurai ke pemanggil dalam parameter AddressInfo, PortNumber, dan PrefixLength opsional ketika parameter ini bukan penunjuk NULL .
Fungsi ParseNetworkString dapat mengurai representasi alamat, layanan, dan jaringan IPv4 atau IPv6, serta alamat dan layanan Internet bernama menggunakan nama DNS.
Struktur NET_ADDRESS_INFO ditujukkan oleh parameter AddressInfo . Struktur SOCKADDR_IN dan SOCKADDR ditentukan dalam file header Ws2def.h yang secara otomatis disertakan oleh file header Winsock2.h . Struktur SOCKADDR_IN6 ditentukan dalam file header Ws2ipdef.h yang secara otomatis disertakan oleh file header Ws2tcpip.h . Untuk menggunakan fungsi ParseNetworkString dan struktur NET_ADDRESS_INFO , file header Winsock2.h dan Ws2tcpip.h harus disertakan sebelum file header Iphlpapi.h .
Persyaratan
| |
|
|
Klien minimum yang didukung |
Windows Vista [hanya aplikasi desktop] |
|
Server minimum yang didukung |
Windows Server 2008 [hanya aplikasi desktop] |
|
Target Platform |
Windows |
|
Header |
iphlpapi.h |
|
Pustaka |
Iphlpapi.lib |
|
DLL |
Iphlpapi.dll |
Lihat juga
NET_ADDRESS_FORMAT
NET_ADDRESS_INFO
SOCKADDR
SOCKADDR_IN
SOCKADDR_IN6