Bagikan melalui


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
WSANOTINITIALISED
Panggilan WSAStartup yang berhasil harus terjadi sebelum menggunakan fungsi ini.
WSAENETDOWN
Subsistem jaringan gagal.
WSA_NOT_ENOUGH_MEMORY
Tidak tersedia cukup memori bebas untuk menyelesaikan operasi.
WSA_INVALID_HANDLE
Nilai yang ditujuk oleh parameter lpNotificationHandle bukan handel pemberitahuan yang valid.
WSAEOPNOTSUPP
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.
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

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

Lihat juga

CloseHandle

WSAEnumNameSpaceProviders

WSAEnumProtocols

Fungsi Winsock

Referensi Winsock