Fungsi WSCInstallNameSpaceEx (ws2spi.h)
Fungsi WSCInstallNameSpaceEx menginstal penyedia namespace layanan. Untuk penyedia yang dapat mendukung beberapa namespace layanan, fungsi ini harus dipanggil untuk setiap namespace yang didukung, dan pengidentifikasi penyedia unik harus disediakan setiap kali.
Sintaks
INT WSCInstallNameSpaceEx(
[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 yang 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 layanan.
Mengembalikan nilai
Jika tidak ada kesalahan yang terjadi, fungsi WSCInstallNameSpaceEx mengembalikan NO_ERROR (nol). Jika tidak, ia 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 layanan. | |
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
Fungsi namespace–konfigurasi 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 WSCInstallNameSpaceEx akan melihat perubahan.
Blob data khusus penyedia yang terkait dengan entri namespace yang diteruskan dalam parameter lpProviderInfo dapat dikueri menggunakan fungsi WSAEnumNameSpaceProvidersEx .
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 WSCInstallNameSpaceEx hanya dapat dipanggil oleh pengguna yang masuk sebagai anggota grup Administrator. Jika WSCInstallNameSpaceEx 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 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.
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 |