Bagikan melalui


Fungsi panggilan balik LPWSPSTRINGTOADDRESS (ws2spi.h)

Fungsi WSPStringToAddress mengonversi string numerik yang dapat dibaca manusia ke struktur alamat soket (sockaddr) yang cocok untuk diteruskan ke rutinitas Windows Sockets yang mengambil struktur seperti itu. Setiap komponen alamat yang hilang default ke nilai yang wajar, jika memungkinkan. Misalnya, nomor port yang hilang default ke nol.

Sintaks

LPWSPSTRINGTOADDRESS Lpwspstringtoaddress;

INT Lpwspstringtoaddress(
  [in]      LPWSTR AddressString,
  [in]      INT AddressFamily,
  [in]      LPWSAPROTOCOL_INFOW lpProtocolInfo,
  [out]     LPSOCKADDR lpAddress,
  [in, out] LPINT lpAddressLength,
  [out]     LPINT lpErrno
)
{...}

Parameter

[in] AddressString

Arahkan ke string yang tidak dihentikan dan dapat dibaca manusia untuk dikonversi.

[in] AddressFamily

Keluarga alamat tempat string berada, atau AF_UNSPEC jika tidak diketahui.

[in] lpProtocolInfo

(diperlukan) Struktur WSAProtocol_Info penyedia.

[out] lpAddress

Buffer yang diisi dengan struktur sockaddr tunggal.

[in, out] lpAddressLength

Panjang buffer Alamat, dalam byte. Mengembalikan ukuran struktur sockaddr yang dihasilkan. Jika buffer yang disediakan tidak cukup besar, fungsi gagal dengan kesalahan tertentu dari WSAEFAULT dan parameter ini diperbarui dengan ukuran yang diperlukan dalam byte.

[out] lpErrno

Arahkan ke kode kesalahan.

Mengembalikan nilai

Jika tidak ada kesalahan yang terjadi, WSPStringToAddress mengembalikan nol. Jika tidak, nilai SOCKET_ERROR dikembalikan, dan kode kesalahan tertentu tersedia di lpErrno.

Kode kesalahan Makna
WSAEFAULT
Buffer alamat yang ditentukan terlalu kecil, berikan buffer yang lebih besar.
WSAEINVAL
Tidak dapat menerjemahkan string ke dalam sockaddr, atau penyedia tidak dapat mendukung keluarga alamat yang ditunjukkan, atau lpProtocolInfo yang ditentukan tidak mengacu pada struktur WSAProtocol_Info yang didukung oleh penyedia.
 
 

Keterangan

Penyedia layanan berlapis memasok implementasi fungsi ini, tetapi juga merupakan klien dari fungsi ini jika dan ketika memanggil WSPStringToAddress dari lapisan berikutnya dalam rantai protokol. Beberapa pertimbangan khusus berlaku untuk parameter lpProtocolInfo fungsi ini karena disebarluaskan ke bawah melalui lapisan rantai protokol.

Jika lapisan berikutnya dalam rantai protokol adalah lapisan lain, maka ketika WSPStringToAddress lapisan berikutnya dipanggil, lapisan ini harus meneruskan ke lapisan berikutnya lpProtocolInfo yang mereferensikan struktur WSAProtocol_Info yang tidak dimodifikasi yang sama dengan informasi rantai yang tidak dimodifikasi yang sama. Namun, jika lapisan berikutnya adalah protokol dasar (yaitu, elemen terakhir dalam rantai), lapisan ini melakukan substitusi saat memanggil WSPStringToAddress penyedia dasar. Dalam hal ini, struktur WSAPROTOCOL_INFO penyedia dasar harus dirujuk oleh parameter lpProtocolInfo .

Salah satu manfaat penting dari kebijakan ini adalah bahwa penyedia layanan dasar tidak perlu menyadari rantai protokol.

Kebijakan penyebaran yang sama ini berlaku saat menyebarkan struktur WSAProtocol_Info melalui urutan berlapis fungsi lain seperti LPWSPAddressToString, LPWSPDuplicateSocket, WSPStartup, atau LPWSPSocket.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ws2spi.h

Lihat juga

WSAProtocol_Info

LPWSPDuplicateSocket

LPWSPSocket

WSPStartup

sockaddr