Fungsi WSAProviderConfigChange (winsock2.h)
Fungsi WSAProviderConfigChange memberi tahu aplikasi ketika konfigurasi penyedia diubah.
Sintaks
INT WSAAPI WSAProviderConfigChange(
[in, out] LPHANDLE lpNotificationHandle,
[in] LPWSAOVERLAPPED lpOverlapped,
[in] LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
Parameter
[in, out] lpNotificationHandle
Penunjuk ke handel pemberitahuan. Jika handel pemberitahuan diatur ke NULL (nilai handel bukan penunjuk itu sendiri), fungsi ini mengembalikan handel pemberitahuan di lokasi yang ditujukkan oleh lpNotificationHandle.
[in] lpOverlapped
Penunjuk ke struktur WSAOVERLAPPED .
[in] lpCompletionRoutine
Jenis: LPWSAOVERLAPPED_COMPLETION_ROUTINE _In_opt_
Penunjuk ke rutinitas penyelesaian yang dipanggil ketika pemberitahuan perubahan penyedia diterima.
Mengembalikan nilai
Jika tidak ada kesalahan yang terjadi , WSAProviderConfigChange mengembalikan 0. Jika tidak, nilai SOCKET_ERROR dikembalikan dan kode kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError. Kode kesalahan WSA_IO_PENDING menunjukkan bahwa operasi yang tumpang tindih telah berhasil dimulai dan penyelesaian tersebut (dan dengan demikian mengubah peristiwa) akan ditunjukkan di lain waktu.
Kode kesalahan | Makna |
---|---|
Panggilan WSAStartup yang berhasil harus terjadi sebelum menggunakan fungsi ini. | |
Subsistem jaringan gagal. | |
Tidak tersedia cukup memori bebas untuk menyelesaikan operasi. | |
Nilai yang ditujuk oleh parameter lpNotificationHandle bukan handel pemberitahuan yang valid. | |
Lingkungan sistem operasi saat ini tidak mendukung penginstalan atau penghapusan penyedia tanpa memulai ulang. |
Keterangan
Fungsi WSAProviderConfigChange memberi tahu aplikasi penginstalan atau penghapusan penyedia (transportasi dan namespace layanan) di lingkungan operasi Windows yang mendukung perubahan konfigurasi tersebut tanpa memerlukan hidupkan ulang. Ketika dipanggil untuk pertama kalinya (parameter lpNotificationHandle menunjuk ke handel NULL ), fungsi ini segera selesai dan mengembalikan handel pemberitahuan di lokasi yang ditunjukkan oleh lpNotificationHandle yang dapat digunakan dalam panggilan berikutnya untuk menerima pemberitahuan penginstalan dan penghapusan penyedia. Panggilan kedua dan berikutnya hanya selesai ketika informasi penyedia berubah sejak panggilan dibuat Diharapkan (tetapi tidak diperlukan) bahwa aplikasi menggunakan I/O yang tumpang tindih pada panggilan kedua dan berikutnya ke WSAProviderConfigChange, dalam hal ini panggilan akan segera kembali dan aplikasi akan diberi tahu tentang perubahan konfigurasi penyedia menggunakan mekanisme penyelesaian yang dipilih melalui parameter penyelesaian yang tumpang tindih yang ditentukan.
Handel pemberitahuan yang dikembalikan oleh WSAProviderConfigChange seperti handel sistem operasi reguler yang harus ditutup (ketika tidak lagi diperlukan) menggunakan panggilan Windows CloseHandle .
Urutan tindakan berikut dapat digunakan untuk menjamin bahwa aplikasi selalu memiliki informasi konfigurasi protokol saat ini:
- Panggil WSAProviderConfigChange
- Panggil WSAEnumProtocols dan/atau WSAEnumNameSpaceProviders
- Setiap kali WSAProviderConfigChange memberi tahu aplikasi perubahan konfigurasi penyedia (melalui pemblokiran atau I/O yang tumpang tindih), seluruh urutan tindakan harus diulang.
Persyaratan
Persyaratan | Nilai |
---|---|
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 |