Fungsi WSAAdvertiseProvider (ws2spi.h)
Fungsi WSAAdvertiseProvider membuat penyedia namespace layanan tertentu versi-2 tersedia untuk semua klien yang memenuhi syarat.
Sintaks
INT WSAAPI WSAAdvertiseProvider(
[in] const GUID *puuidProviderId,
[in] const LPCNSPV2_ROUTINE pNSPv2Routine
);
Parameter
[in] puuidProviderId
Penunjuk ke ID penyedia penyedia namespace yang akan diiklankan.
[in] pNSPv2Routine
Penunjuk ke struktur NSPV2_ROUTINE dengan penyedia layanan namespace layanan versi-2 titik entri yang didukung oleh penyedia.
Mengembalikan nilai
Jika tidak ada kesalahan yang terjadi, WSAProviderCompleteAsyncCall mengembalikan nol.
Jika fungsi gagal, nilai yang dikembalikan SOCKET_ERROR. Untuk mendapatkan informasi kesalahan yang diperluas, panggil WSAGetLastError, yang mengembalikan salah satu nilai kesalahan yang diperluas berikut.
Kode kesalahan | Makna |
---|---|
Memori tidak cukup untuk melakukan operasi. | |
Terjadi kesalahan internal. | |
Parameter tidak valid. Kesalahan ini dikembalikan jika parameter puuidProviderId atau pNSPv2Routine adalah **NULL**.
Kesalahan ini juga dikembalikan jika anggota NSPv2LookupServiceBegin, NSPv2LookupServiceNextEx, atau NSPv2LookupServiceEnd dari struktur NSPV2_ROUTINE yang ditunjukkan oleh parameter pNSPv2Routine adalah NULL. Penyedia namespace versi-2 setidaknya harus mendukung resolusi nama yang set fungsi minimum ini. |
|
Penyedia namespace tidak dapat ditemukan untuk parameter puuidProviderId yang ditentukan. | |
Ws2_32.dll belum diinisialisasi. Aplikasi harus terlebih dahulu memanggil WSAStartup sebelum memanggil fungsi Windows Sockets apa pun. |
Keterangan
Fungsi WSAAdvertiseProvider digunakan sebagai bagian dari arsitektur penyedia layanan namespace layanan versi-2 (NSPv2) yang tersedia di Windows Vista dan yang lebih baru.
Pada Windows Vista dan Windows Server 2008, fungsi WSAAdvertiseProvider hanya dapat digunakan untuk operasi pada penyedia namespace NS_EMAIL.
Fungsi WSAAdvertiseProvider mengiklankan instans penyedia NSPv2 untuk ditemukan klien. Jika instans yang akan diiklankan adalah instans penyedia jenis aplikasi (penyedia namespace di mana anggota dwProvideType dari struktur NAPI_PROVIDER_INSTALLATION_BLOBProviderType_Application), instans penyedia yang diiklankan akan terlihat oleh semua proses klien yang berjalan di bawah pengguna yang sama dan dalam sesi yang sama dengan pemanggil WSAAdvertiseProvider.
Secara umum, penyedia NSPv2 diimplementasikan dalam proses selain aplikasi panggilan. Penyedia NSPv2 tidak diaktifkan sebagai akibat dari aktivitas klien. Setiap aplikasi hosting penyedia memutuskan kapan harus membuat penyedia tertentu tersedia atau tidak tersedia dengan memanggil fungsi WSAAdvertiseProvider dan WSAUnadvertiseProvider . Aktivitas klien hanya menghasilkan upaya untuk menghubungi penyedia, jika tersedia (saat penyedia namespace diiklankan).
Fungsi WSAAdvertiseProvider dipanggil oleh aplikasi apa pun yang ingin membuat penyedia tertentu tersedia untuk semua klien yang memenuhi syarat (saat ini semua aplikasi yang berjalan dengan kredensial yang sama dengan aplikasi hosting, dan dalam sesi pengguna yang sama).
Proses dapat menerapkan dan mengiklankan beberapa penyedia secara bersamaan. Windows Sockets akan mengelola penyedia namespace layanan dengan mengirimkan panggilan ke yang benar. Ini juga akan menyembunyikan detail antarmuka RPC dan menerjemahkan panggilan lintas proses ke dalam panggilan dalam proses. Sehingga penyedia NSPv2 hanya harus menerapkan tabel fungsi titik masuk yang mirip dengan struktur NSP_ROUTINE yang digunakan oleh penyedia NSPv1. Penyedia NSPv2 tidak perlu khawatir tentang persyaratan khusus RPC (data marshalling dan serialisasi, misalnya).
Pemanggil WSAAdvertiseProvider meneruskan penunjuk ke struktur NSPV2_ROUTINE dalam parameter pNSPv2Routine dengan titik entri NSPv2 yang didukung oleh penyedia.
Fungsi WSAUnadvertiseProvider membuat penyedia namespace layanan tertentu tidak lagi tersedia untuk klien.
Persyaratan
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk