Bagikan melalui


Fungsi panggilan balik LPWSPADDRESSTOSTRING (ws2spi.h)

Fungsi LPWSPAddressToString mengonversi semua komponen struktur sockaddr menjadi representasi string numerik alamat yang dapat dibaca manusia. Ini digunakan terutama untuk tujuan tampilan.

Sintaks

LPWSPADDRESSTOSTRING Lpwspaddresstostring;

INT Lpwspaddresstostring(
  [in]      LPSOCKADDR lpsaAddress,
  [in]      DWORD dwAddressLength,
  [in]      LPWSAPROTOCOL_INFOW lpProtocolInfo,
  [out]     LPWSTR lpszAddressString,
  [in, out] LPDWORD lpdwAddressStringLength,
  [out]     LPINT lpErrno
)
{...}

Parameter

[in] lpsaAddress

Penunjuk ke struktur sockaddr untuk diterjemahkan ke dalam string.

[in] dwAddressLength

Panjang alamat sockaddr, dalam byte.

[in] lpProtocolInfo

(diperlukan) WSAProtocol_Info struktur yang terkait dengan penyedia yang akan melakukan terjemahan.

[out] lpszAddressString

Buffer yang menerima string alamat yang dapat dibaca manusia..

[in, out] lpdwAddressStringLength

Panjang buffer AddressString , dalam byte. Mengembalikan panjang string yang benar-benar disalin ke dalam buffer. 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, LPWSPAddressToString mengembalikan nol. Jika tidak, kode mengembalikan SOCKET_ERROR, dan kode kesalahan tertentu tersedia di lpErrno.

Kode kesalahan Makna
WSAEFAULT
Buffer AddressString yang ditentukan terlalu kecil. Berikan buffer yang lebih besar.
WSAEINVAL
Alamat yang ditentukan bukan alamat soket yang valid, atau keluarga alamatnya tidak didukung oleh penyedia, atau lpProtocolInfo yang ditentukan tidak merujuk ke 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 LPWSPAddressToString dari lapisan berikutnya dalam rantai protokol. Beberapa pertimbangan khusus berlaku untuk parameter lpProtocolInfo karena disebarluaskan ke bawah melalui lapisan rantai protokol.

Jika lapisan berikutnya dalam rantai protokol adalah lapisan lain, maka, ketika LPWSPAddressToString lapisan berikutnya dipanggil, lapisan ini harus meneruskan ke lapisan berikutnya parameter 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 LPWSPAddressToString 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 LPWSPDuplicateSocket, WSPStartup, LPWSPSocket, atau LPWSPStringToAddress.

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

WSPDucplicateSocket

LPWSPSocket

WSPStartup

sockaddr