Bagikan melalui


Fungsi WSAStringToAddressA (winsock2.h)

Fungsi WSAStringToAddress mengonversi alamat jaringan dalam bentuk presentasi teks standarnya menjadi bentuk biner numeriknya dalam struktur sockaddr , cocok untuk diteruskan ke rutinitas Windows Sockets yang mengambil struktur seperti itu.

Sintaks

INT WSAAPI WSAStringToAddressA(
  [in]           LPSTR               AddressString,
  [in]           INT                 AddressFamily,
  [in, optional] LPWSAPROTOCOL_INFOA lpProtocolInfo,
  [out]          LPSOCKADDR          lpAddress,
  [in, out]      LPINT               lpAddressLength
);

Parameter

[in] AddressString

Penunjuk ke string yang dihentikan nol yang berisi alamat jaringan dalam bentuk teks standar untuk dikonversi.

[in] AddressFamily

Keluarga alamat alamat jaringan yang ditujukan oleh parameter AddressString .

[in, optional] lpProtocolInfo

Struktur WSAPROTOCOL_INFO yang terkait dengan penyedia yang akan digunakan. Jika ini NULL, panggilan dirutekan ke penyedia protokol pertama yang mendukung AddressFamily yang ditunjukkan.

[out] lpAddress

Penunjuk ke buffer yang diisi dengan struktur sockaddr untuk string alamat jika fungsi berhasil.

[in, out] lpAddressLength

Penunjuk ke panjang, dalam byte, dari buffer yang diacu oleh parameter lpAddress . Jika panggilan fungsi berhasil, parameter ini mengembalikan pointer ke ukuran struktur sockaddr yang dikembalikan dalam parameter lpAddress . Jika buffer yang ditentukan tidak cukup besar, fungsi gagal dengan kesalahan tertentu dari WSAEFAULT dan parameter ini diperbarui dengan ukuran yang diperlukan dalam byte.

Nilai kembali

Nilai yang dikembalikan untuk WSAStringToAddress adalah nol jika operasi berhasil. Jika tidak, nilai SOCKET_ERROR dikembalikan, dan nomor kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.

Kode kesalahan Makna
WSAEFAULT
Buffer yang ditujukkan oleh parameter lpAddress terlalu kecil. Berikan buffer yang lebih besar.
WSAEINVAL
Fungsi tidak dapat menerjemahkan string ke dalam sockaddr. Lihat bagian Keterangan berikut untuk informasi selengkapnya.
WSANOTINITIALISED
WS2_32.DLL belum diinisialisasi. Aplikasi harus terlebih dahulu memanggil WSAStartup sebelum memanggil fungsi Windows Socket apa pun.
WSA_NOT_ENOUGH_MEMORY
Memori tidak cukup untuk melakukan operasi.

Keterangan

Fungsi WSAStringToAddress mengonversi alamat jaringan dalam bentuk teks standar ke dalam bentuk biner numeriknya dalam struktur sockaddr .

Setiap komponen alamat yang hilang akan default ke nilai yang wajar, jika memungkinkan. Misalnya, nomor port yang hilang akan default ke nol. Jika penelepon ingin terjemahan dilakukan oleh penyedia tertentu, penelepon harus menyediakan struktur WSAPROTOCOL_INFO yang sesuai dalam parameter lpProtocolInfo .

Fungsi WSAStringToAddress gagal (dan mengembalikan WSAEINVAL) jika anggota sin_family dari struktur SOCKADDR_IN , yang diteruskan dalam parameter lpAddress dalam bentuk struktur sockaddr , tidak diatur ke AF_INET atau AF_INET6.

Dukungan untuk alamat IPv6 menggunakan fungsi WSAStringToAddress ditambahkan pada Windows XP dengan Paket Layanan 1 (SP1)dan yang lebih baru. IPv6 juga harus diinstal pada komputer lokal untuk fungsi WSAStringToAddress untuk mendukung alamat IPv6.

Windows Phone 8: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8 dan yang lebih baru.

Windows 8.1 dan Windows Server 2012 R2: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.

Catatan

Header winsock2.h mendefinisikan WSAStringToAddress 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 8.1, Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winsock2.h
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

InetNtop

InetPton

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

WSAAddressToString

WSAPROTOCOL_INFO

Mulai WSA

inet_addr

inet_ntoa

sockaddr