Bagikan melalui


Fungsi WSCDeinstallProvider32 (ws2spi.h)

Fungsi WSCDeinstallProvider32 menghapus penyedia transportasi 32-bit yang ditentukan dari database konfigurasi sistem.

Catatan Panggilan ini memungkinkan proses 64-bit untuk memanipulasi katalog Winsock 32-bit karena WSCDeinstallProvider, pada komputer 64-bit, hanya memanipulasi katalog Windows Sockets 64-bit asli.

 

Sintaks

int WSCDeinstallProvider32(
  [in]  LPGUID lpProviderId,
  [out] LPINT  lpErrno
);

Parameter

[in] lpProviderId

Penunjuk ke pengidentifikasi unik global (GUID) untuk penyedia. Nilai ini disimpan dalam setiap struktur WSAProtocol_Info .

[out] lpErrno

Penunjuk ke kode kesalahan jika fungsi gagal.

Mengembalikan nilai

Jika tidak ada kesalahan yang terjadi, WSCDeinstallProvider32 mengembalikan nol. Jika tidak, ia mengembalikan SOCKET_ERROR, dan kode kesalahan tertentu tersedia di lpErrno.

Kode kesalahan Makna
WSAEINVAL
Parameter lpProviderId tidak menentukan penyedia yang valid.
WSAEFAULT
Parameter lpErrno tidak berada di bagian ruang alamat pengguna yang valid.
WSANO_RECOVERY
Terjadi kesalahan yang tidak dapat dipulihkan. Kesalahan ini dikembalikan dalam beberapa kondisi termasuk yang berikut ini: pengguna tidak memiliki hak istimewa administratif yang diperlukan untuk menulis ke registri Windows Sockets, atau kegagalan terjadi saat membuka entri katalog.
WSA_NOT_ENOUGH_MEMORY
Memori tidak cukup tersedia. Kesalahan ini dikembalikan ketika memori tidak cukup untuk mengalokasikan entri katalog baru.

Keterangan

WSCDeinstallProvider32 adalah WSCDeinstallProvider versi 32-bit yang ketat. Pada komputer 64-bit, semua panggilan tidak secara khusus 32-bit (misalnya, semua fungsi yang tidak berakhiran "32") beroperasi pada katalog 64-bit asli. Proses yang dijalankan pada komputer 64-bit harus menggunakan panggilan fungsi 32-bit tertentu untuk beroperasi pada katalog 32-bit yang ketat dan mempertahankan kompatibilitas. Definisi dan semantik panggilan 32-bit tertentu sama dengan rekan-rekan aslinya.

Fungsi WSCDeinstallProvider32 menghapus informasi konfigurasi Windows Sockets 2 umum untuk penyedia 32-bit yang ditentukan. Setelah rutinitas ini berhasil diselesaikan, informasi konfigurasi yang disimpan dalam registri akan diubah. Namun, instans Ws2_32.dll apa pun yang saat ini berada dalam memori tidak akan dapat mengenali perubahan ini.

Setelah berhasil, WSCDeinstallProvider32 akan mencoba memperingatkan semua aplikasi yang tertarik yang telah mendaftar untuk pemberitahuan perubahan dengan memanggil WSAProviderConfigChange.

Fungsi WSCDeinstallProvider32 hanya dapat dipanggil oleh pengguna yang masuk sebagai anggota grup Administrator. Jika WSCDeinstallProvider32 dipanggil oleh pengguna yang bukan anggota grup Administrator, panggilan fungsi akan gagal dan WSANO_RECOVERY dikembalikan dalam parameter lpErrno .

Untuk komputer yang menjalankan Windows Vista atau Windows Server 2008, fungsi ini juga bisa gagal karena kontrol akun pengguna (UAC). Jika aplikasi yang berisi fungsi ini dijalankan oleh pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan, panggilan ini akan gagal kecuali aplikasi telah ditandai dalam file manifes dengan requestedExecutionLevel diatur ke requireAdministrator. Jika aplikasi pada Windows Vista atau Windows Server 2008 tidak memiliki file manifes ini, pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan kemudian harus menjalankan aplikasi dalam shell yang ditingkatkan sebagai Administrator bawaan (administrator RunAs) agar fungsi ini berhasil.

Pemanggil fungsi ini harus menghapus file tambahan atau informasi konfigurasi khusus penyedia layanan yang diperlukan untuk menghapus instalan penyedia layanan sepenuhnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista, Windows XP Professional x64 Edition [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008, Windows Server 2003 x64 Edition [hanya aplikasi desktop]
Target Platform Windows
Header ws2spi.h
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

WSAProviderConfigChange

WSCDeinstallProvider

WSCEnumProtocols32

WSCInstallProvider64_32