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.

Hinweis Die Ws2spi.h-Headerdateistruktur enthält vollständige Prototypen für alle NSPV2-Funktionszeiger.

 

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:

NSPv2LookupServiceBegin

- NSPv2LookupServiceNextEx

- NSPv2LookupServiceEnd

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

Weitere Informationen

NSP_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAAdvertiseProvider

WSAProviderCompleteAsyncCall

WSAQUERYSET2

WSAUnadvertiseProvider