Fungsi WSCInstallNameSpaceEx32 (ws2spi.h)
Fungsi WSCInstallNameSpaceEx32 menginstal penyedia namespace 32-bit tertentu. Untuk penyedia yang dapat mendukung beberapa ruang nama, fungsi ini harus dipanggil untuk setiap namespace yang didukung, dan pengidentifikasi penyedia unik harus disediakan setiap kali.
Sintaks
INT WSCInstallNameSpaceEx32(
[in] LPWSTR lpszIdentifier,
[in] LPWSTR lpszPathName,
[in] DWORD dwNameSpace,
[in] DWORD dwVersion,
[in] LPGUID lpProviderId,
[in] LPBLOB lpProviderSpecific
);
Parameter
[in] lpszIdentifier
Penunjuk ke string yang mengidentifikasi penyedia yang terkait dengan pengidentifikasi unik global (GUID) yang diteruskan dalam parameter lpProviderId .
[in] lpszPathName
Penunjuk ke string Unicode yang berisi jalur beban ke DLL penyedia. String ini mengamati aturan biasa untuk resolusi jalur dan dapat berisi string lingkungan yang disematkan (seperti %SystemRoot%). String lingkungan tersebut diperluas ketika Ws2_32.dll kemudian harus memuat DLL penyedia atas nama aplikasi. Setelah string lingkungan yang disematkan diperluas, Ws2_32.dll meneruskan string yang dihasilkan ke fungsi LoadLibrary yang memuat penyedia ke dalam memori. Untuk informasi selengkapnya, lihat LoadLibrary.
[in] dwNameSpace
Namespace layanan yang didukung oleh penyedia ini.
[in] dwVersion
Nomor versi penyedia.
[in] lpProviderId
Pointer ke GUID untuk penyedia. GUID ini harus dihasilkan oleh Uuidgen.exe.
[in] lpProviderSpecific
Blob data khusus penyedia yang terkait dengan entri namespace.
Nilai kembali
Jika tidak ada kesalahan yang terjadi, fungsi WSCInstallNameSpaceEx32 mengembalikan NO_ERROR (nol). Jika tidak, fungsi mengembalikan SOCKET_ERROR jika fungsi gagal, dan Anda harus mengambil kode kesalahan yang sesuai menggunakan fungsi WSAGetLastError .
Kode kesalahan | Makna |
---|---|
Rutinitas panggilan tidak memiliki hak istimewa yang memadai untuk menginstal namespace. | |
Satu atau beberapa argumen tidak valid. | |
Terjadi kesalahan yang tidak dapat dipulihkan. Kesalahan ini dikembalikan dalam beberapa kondisi termasuk yang berikut ini: penyedia sudah diinstal, pengguna tidak memiliki hak istimewa administratif yang diperlukan untuk menulis ke registri Winsock, atau kegagalan terjadi saat membuat atau menginstal entri katalog. | |
Panggilan sistem yang seharusnya tidak pernah gagal gagal. | |
Memori tidak cukup tersedia. Kesalahan ini dikembalikan ketika memori tidak cukup untuk mengalokasikan entri katalog baru. |
Keterangan
WSCInstallNameSpaceEx32 adalah WSCInstallNameSpaceEx versi 32-bit. Pada komputer 64-bit, semua panggilan tidak secara khusus 32-bit (misalnya, semua fungsi yang tidak berakhiran "32") beroperasi pada katalog asli 64-bit. 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 namespace–configuration tidak memengaruhi aplikasi yang sudah berjalan. Penyedia ruang nama yang baru diinstal tidak akan terlihat oleh aplikasi atau perubahan dalam status aktivasi penyedia ruang nama. Aplikasi yang diluncurkan setelah panggilan ke WSCInstallNameSpaceEx32 akan melihat perubahan.
Blob data khusus penyedia yang terkait dengan entri namespace yang diteruskan dalam parameter lpProviderInfo dapat dikueri menggunakan fungsi WSCEnumNameSpaceProvidersEx32 .
Saat ini, satu-satunya penyedia namespace yang disertakan dengan Windows yang menggunakan parameter lpProviderInfo adalah penyedia NS_EMAIL. Format buffer yang ditunjukkan oleh parameter lpProviderInfo untuk penyedia namespace NS_EMAIL adalah struktur NAPI_PROVIDER_INSTALLATION_BLOB .
Fungsi WSCInstallNameSpaceEx32hanya dapat dipanggil oleh pengguna yang masuk sebagai anggota grup Administrator. Jika WSCInstallNameSpaceEx32 dipanggil oleh pengguna yang bukan anggota grup Administrator, panggilan fungsi akan gagal. Untuk komputer yang berjalan pada Windows Vista atau Windows Server 2008, fungsi ini juga dapat 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 yang diatur ke requireAdministrator. Jika aplikasi di 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.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | ws2spi.h |
Pustaka | Ws2_32.lib |
DLL | Ws2_32.dll |