Bagikan melalui


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
WSA_NOT_ENOUGH_MEMORY
Memori tidak cukup untuk melakukan operasi.
WSAEFAULT
Terjadi kesalahan internal.
WSAEINVAL
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.

WSAEINVALIDPROVIDER
Penyedia namespace tidak dapat ditemukan untuk parameter puuidProviderId yang ditentukan.
WSANOTINITIALISED
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

NAPI_PROVIDER_INSTALLATION_BLOB

NAPI_PROVIDER_TYPE

NSPV2_ROUTINE

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSAProviderCompleteAsyncCall

WSASetService

WSAUnadvertiseProvider

WSCEnumNameSpaceProvidersEx32