Bagikan melalui


Fungsi WSAGetLastError (winsock2.h)

Fungsi WSAGetLastError mengembalikan status kesalahan untuk operasi Soket Windows terakhir yang gagal.

Sintaks

int WSAAPI WSAGetLastError();

Mengembalikan nilai

Nilai yang dikembalikan menunjukkan kode kesalahan untuk operasi Windows Sockets terakhir utas ini yang gagal.

Keterangan

Fungsi WSAGetLastError mengembalikan kesalahan terakhir yang terjadi untuk utas panggilan. Ketika fungsi Windows Sockets tertentu menunjukkan kesalahan telah terjadi, fungsi ini harus segera dipanggil untuk mengambil kode kesalahan yang diperluas untuk panggilan fungsi yang gagal. Kode kesalahan yang diperluas ini dapat berbeda dari kode kesalahan yang diperoleh dari getsockopt ketika dipanggil dengan parameter optnameSO_ERROR, yang khusus untuk soket karena WSAGetLastError adalah untuk semua soket khusus utas.

Jika nilai pengembalian panggilan fungsi menunjukkan bahwa kesalahan atau data relevan lainnya dikembalikan dalam kode kesalahan, WSAGetLastError harus segera dipanggil. Ini diperlukan karena beberapa fungsi dapat mengatur ulang kode kesalahan terakhir yang diperluas ke 0 jika berhasil, menimpa kode kesalahan yang diperluas yang dikembalikan oleh fungsi yang sebelumnya gagal. Untuk mengatur ulang kode kesalahan yang diperluas secara khusus, gunakan panggilan fungsi WSASetLastError dengan parameter iError diatur ke nol. Fungsi getsockopt saat dipanggil dengan parameter optnameSO_ERROR juga mengatur ulang kode kesalahan yang diperluas ke nol.

Fungsi WSAGetLastError tidak boleh digunakan untuk memeriksa nilai kesalahan yang diperluas pada penerimaan pesan asinkron. Dalam hal ini, nilai kesalahan yang diperluas diteruskan dalam parameter lParam pesan, dan ini dapat berbeda dari nilai yang dikembalikan oleh WSAGetLastError.

Catatan Aplikasi dapat memanggil fungsi WSAGetLastError untuk menentukan kode kesalahan yang diperluas untuk fungsi soket Windows lainnya seperti yang biasanya dilakukan di Soket Windows bahkan jika fungsi WSAStartup gagal atau fungsi WSAStartup tidak dipanggil untuk menginisialisasi Windows Sockets dengan benar sebelum memanggil fungsi Windows Sockets. Fungsi WSAGetLastError adalah salah satu satu fungsi di DLL Winsock 2.2 yang dapat dipanggil dalam kasus kegagalan WSAStartup .
 

Kode kesalahan perluasan Windows Sockets yang dikembalikan oleh fungsi ini dan deskripsi teks kesalahan tercantum di bawah Kode Kesalahan Soket Windows. Kode kesalahan ini dan deskripsi teks singkat yang terkait dengan kode kesalahan ditentukan dalam file header Winerror.h . Fungsi FormatMessage dapat digunakan untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Untuk informasi tentang cara menangani kode kesalahan saat memindahkan aplikasi soket ke Winsock, lihat Kode Kesalahan - errno, h_errno dan WSAGetLastError.

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.

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 (termasuk Winsock2.h)
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

Kode Kesalahan - errno, h_errno dan WSAGetLastError

FormatMessage

WSASetLastError

WSAStartup

Kode Kesalahan Windows Sockets

Fungsi Winsock

Referensi Winsock

getsockopt