WSAAdvertiseProvider-Funktion (ws2spi.h)
Die WSAAdvertiseProvider-Funktion stellt einen bestimmten Namespaceanbieter der Version 2 für alle berechtigten Clients zur Verfügung.
Syntax
INT WSAAPI WSAAdvertiseProvider(
[in] const GUID *puuidProviderId,
[in] const LPCNSPV2_ROUTINE pNSPv2Routine
);
Parameter
[in] puuidProviderId
Ein Zeiger auf die Anbieter-ID des namespaceanbieters, der angekündigt werden soll.
[in] pNSPv2Routine
Ein Zeiger auf eine NSPV2_ROUTINE-Struktur mit den vom Anbieter unterstützten Einstiegspunkten des Namespacedienstanbieters Version 2.
Rückgabewert
Wenn kein Fehler auftritt, gibt WSAProviderCompleteAsyncCall null zurück.
Wenn die Funktion fehlschlägt, wird der Rückgabewert SOCKET_ERROR. Um erweiterte Fehlerinformationen abzurufen, rufen Sie WSAGetLastError auf, wodurch einer der folgenden erweiterten Fehlerwerte zurückgegeben wird.
Fehlercode | Bedeutung |
---|---|
Zum Ausführen des Vorgangs war nicht genügend Arbeitsspeicher vorhanden. | |
Interner Fehler. | |
Ein Parameter war ungültig. Dieser Fehler wird zurückgegeben, wenn die Parameter puuidProviderId oder pNSPv2Routine **NULL** lauteten.
Dieser Fehler wird auch zurückgegeben, wenn die Mitglieder NSPv2LookupServiceBegin, NSPv2LookupServiceNextEx oder NSPv2LookupServiceEnd der NSPV2_ROUTINE Struktur, auf die vom pNSPv2Routine-Parameter verwiesen wird, NULL sind. Ein Namespaceanbieter der Version 2 muss mindestens die Namensauflösung unterstützen, die dieser Mindestsatz von Funktionen erfüllt. |
|
Der Namespaceanbieter konnte für den angegebenen puuidProviderId-Parameter nicht gefunden werden. | |
Die Ws2_32.dll wurde nicht initialisiert. Die Anwendung muss zuerst WSAStartup aufrufen, bevor sie Windows Sockets-Funktionen aufruft. |
Hinweise
Die WSAAdvertiseProvider-Funktion wird als Teil der NSPv2-Architektur (Namespace Service Provider Version-2) verwendet, die unter Windows Vista und höher verfügbar ist.
Unter Windows Vista und Windows Server 2008 kann die WSAAdvertiseProvider-Funktion nur für Vorgänge auf NS_EMAIL Namespaceanbietern verwendet werden.
Die WSAAdvertiseProvider-Funktion kündigt eine instance eines NSPv2-Anbieters an, nach dem Clients gesucht werden können. Wenn die instance, die angekündigt werden soll, eine instance eines Anwendungstypanbieters ist (ein Namespaceanbieter, bei dem das dwProvideType-Element der NAPI_PROVIDER_INSTALLATION_BLOB-StrukturProviderType_Application ist), ist der angekündigte Anbieter instance für alle Clientprozesse sichtbar, die unter demselben Benutzer und in derselben Sitzung wie der Aufrufer von ausgeführt werden.WSAAdvertiseProvider.
Im Allgemeinen werden NSPv2-Anbieter in anderen Prozessen als den aufrufenden Anwendungen implementiert. NSPv2-Anbieter werden aufgrund der Clientaktivität nicht aktiviert. Jeder Anbieter, der eine Anwendung hostet, entscheidet, wann ein bestimmter Anbieter verfügbar oder nicht verfügbar ist, indem er die Funktionen WSAAdvertiseProvider und WSAUnadvertiseProvider aufruft. Die Clientaktivität führt nur zu Kontaktversuchen mit dem Anbieter, sofern verfügbar (wenn der Namespaceanbieter angekündigt wird).
Die WSAAdvertiseProvider-Funktion wird von jeder Anwendung aufgerufen, die einen bestimmten Anbieter für alle berechtigten Clients verfügbar machen möchte (derzeit alle Anwendungen, die mit den gleichen Anmeldeinformationen wie die Hostinganwendung und in derselben Benutzersitzung ausgeführt werden).
Ein Prozess kann mehrere Anbieter gleichzeitig implementieren und ankündigen. Windows Sockets verwaltet die Namespaceanbieter, indem Aufrufe an den richtigen weitergeleitet werden. Außerdem werden Details der RPC-Schnittstelle ausgeblendet und prozessübergreifende Aufrufe in prozessinterne Aufrufe übersetzt. Sodass der NSPv2-Anbieter nur eine Tabelle mit Einstiegspunktfunktionen implementieren muss, die der NSP_ROUTINE Struktur ähneln, die von einem NSPv1-Anbieter verwendet wird. Ein NSPv2-Anbieter muss sich nicht um RPC-spezifische Anforderungen (z. B. Daten marshalling und Serialisierung) kümmern.
Der WSAAdvertiseProvider-Aufrufer übergibt einen Zeiger an eine NSPV2_ROUTINE-Struktur im pNSPv2Routine-Parameter mit den vom Anbieter unterstützten NSPv2-Einstiegspunkten.
Die WSAUnadvertiseProvider-Funktion macht einen bestimmten Namespaceanbieter für Clients nicht mehr verfügbar.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ws2spi.h |
Bibliothek | Ws2_32.lib |
DLL | Ws2_32.dll |