NSPV2_ROUTINE-Struktur (ws2spi.h)
Die NSPV2_ROUTINE-Struktur enthält Informationen zu den Funktionen, die von einem Namespacedienstanbieter der Version 2 (NSPv2) implementiert werden.
Syntax
typedef struct _NSPV2_ROUTINE {
DWORD cbSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
LPNSPV2STARTUP NSPv2Startup;
LPNSPV2CLEANUP NSPv2Cleanup;
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;
Member
cbSize
Art: DWORD
Die Größe der Struktur in Byte.
dwMajorVersion
Art: DWORD
Die Hauptversion der Dienstanbieterspezifikation, die von diesem Anbieter unterstützt wird.
dwMinorVersion
Art: DWORD
Die Nebenversion der Dienstanbieterspezifikation, die von diesem Anbieter unterstützt wird.
NSPv2Startup
Typ: ** LPNSPV2STARTUP**
Ein Zeiger auf die NSPv2Startup-Funktion für diesen NSPv2-Anbieter.
NSPv2Cleanup
Typ: LPNSPV2CLEANUP
Ein Zeiger auf die NSPv2Cleanup-Funktion für diesen NSPv2-Anbieter.
NSPv2LookupServiceBegin
Typ: LPNSPV2LOOKUPSERVICEBEGIN
Ein Zeiger auf die NSPv2LookupServiceBegin-Funktion für diesen NSPv2-Anbieter.
NSPv2LookupServiceNextEx
Typ: LPNSPV2LOOKUPSERVICENEXTEX
Ein Zeiger auf die NSPv2LookupServiceNextEx-Funktion für diesen NSPv2-Anbieter.
NSPv2LookupServiceEnd
Typ: LPNSPV2LOOKUPSERVICEEND
Ein Zeiger auf die NSPv2LookupServiceEnd-Funktion für diesen NSPv2-Anbieter.
NSPv2SetServiceEx
Typ: LPNSPV2SETSERVICEEX
Ein Zeiger auf die NSPv2SetServiceEx-Funktion für diesen NSPv2-Anbieter.
NSPv2ClientSessionRundown
Typ: LPNSPV2CLIENTSESSIONRUNDOWN
Ein Zeiger auf die NSPv2ClientSessionRundown-Funktion für diesen NSPv2-Anbieter.
Hinweise
Die NSPV2_ROUTINE-Struktur 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 NSPV2_ROUTINE-Struktur 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. Der WSAAdvertiseProvider-Aufrufer übergibt einen Zeiger an eine NSPV2_ROUTINE-Struktur im pNSPv2Routine-Parameter mit den vom Anbieter unterstützten NSPv2-Einstiegspunkten.
Ein NSPv2-Anbieter ist erforderlich, um die folgenden Funktionen zu implementieren:
Alle anderen Funktionen sind optional, abhängig von den Anforderungen des NSPv2-Anbieters.
Wenn eine Funktion nicht implementiert ist, sollten Aufrufe dieser Funktion von einer Stubfunktion abgefangen werden, die WSAEOPNOTSUPP zurückgibt. Der NSPv2-Funktionszeiger auf die nicht implementierte Funktion in der NSPV2_ROUTINE Struktur sollte auf die Stubfunktion verweisen.
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).
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.
Die WSAUnadvertiseProvider-Funktion macht einen bestimmten Namespaceanbieter für Clients nicht mehr verfügbar.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | ws2spi.h |