Bagikan melalui


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
WSAEACCES
Rutinitas panggilan tidak memiliki hak istimewa yang memadai untuk menginstal namespace layanan.
WSAEINVAL
Satu atau beberapa argumen tidak valid.
WSANO_RECOVERY
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.
WSASYSCALLFAILURE
Panggilan sistem yang seharusnya tidak pernah gagal gagal.
WSA_NOT_ENOUGH_MEMORY
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

Lihat juga

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace