Partager via


structure NSPV2_ROUTINE (ws2spi.h)

La structure NSPV2_ROUTINE contient des informations sur les fonctions implémentées par un fournisseur de services d’espace de noms version-2 (NSPv2).

Note La structure du fichier d’en-tête Ws2spi.h contient des prototypes complets pour tous les pointeurs de fonction NSPV2.

 

Syntaxe

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;

Membres

cbSize

Type : DWORD

Taille de la structure en octets.

dwMajorVersion

Type : DWORD

Version principale de la spécification du fournisseur de services prise en charge par ce fournisseur.

dwMinorVersion

Type : DWORD

Version mineure de la spécification du fournisseur de services prise en charge par ce fournisseur.

NSPv2Startup

Type : ** LPNSPV2STARTUP**

Pointeur vers la fonction NSPv2Startup pour ce fournisseur NSPv2.

NSPv2Cleanup

Type : LPNSPV2CLEANUP

Pointeur vers la fonction NSPv2Cleanup pour ce fournisseur NSPv2.

NSPv2LookupServiceBegin

Type : LPNSPV2LOOKUPSERVICEBEGIN

Pointeur vers la fonction NSPv2LookupServiceBegin pour ce fournisseur NSPv2.

NSPv2LookupServiceNextEx

Type : LPNSPV2LOOKUPSERVICENEXTEX

Pointeur vers la fonction NSPv2LookupServiceNextEx pour ce fournisseur NSPv2.

NSPv2LookupServiceEnd

Type : LPNSPV2LOOKUPSERVICEEND

Pointeur vers la fonction NSPv2LookupServiceEnd pour ce fournisseur NSPv2.

NSPv2SetServiceEx

Type : LPNSPV2SETSERVICEEX

Pointeur vers la fonction NSPv2SetServiceEx pour ce fournisseur NSPv2.

NSPv2ClientSessionRundown

Type : LPNSPV2CLIENTSESSIONRUNDOWN

Pointeur vers la fonction NSPv2ClientSessionRundown pour ce fournisseur NSPv2.

Remarques

La structure NSPV2_ROUTINE est utilisée dans le cadre de l’architecture du fournisseur de services d’espace de noms version 2 (NSPv2) disponible sur Windows Vista et versions ultérieures.

Sur Windows Vista et Windows Server 2008, la structure NSPV2_ROUTINE ne peut être utilisée que pour les opérations sur NS_EMAIL fournisseurs d’espaces de noms.

La fonction WSAAdvertiseProvider publie un instance d’un fournisseur NSPv2 que les clients peuvent rechercher. L’appelant WSAAdvertiseProvider transmet un pointeur vers une structure NSPV2_ROUTINE dans le paramètre pNSPv2Routine avec les points d’entrée NSPv2 pris en charge par le fournisseur.

Un fournisseur NSPv2 est nécessaire pour implémenter les fonctions suivantes :

NSPv2LookupServiceBegin

- NSPv2LookupServiceNextEx

- NSPv2LookupServiceEnd

Toutes les autres fonctions sont facultatives et dépendent des exigences du fournisseur NSPv2.

Si une fonction n’est pas implémentée, les appels à cette fonction doivent être interceptés par une fonction stub qui retourne WSAEOPNOTSUPP. Le pointeur de la fonction NSPv2 vers la fonction non implémentée dans la structure NSPV2_ROUTINE doit pointer vers la fonction stub.

En général, les fournisseurs NSPv2 sont implémentés dans des processus autres que les applications appelantes. Les fournisseurs NSPv2 ne sont pas activés à la suite de l’activité du client. Chaque application d’hébergement de fournisseur décide quand rendre un fournisseur spécifique disponible ou indisponible en appelant les fonctions WSAAdvertiseProvider et WSAUnadvertiseProvider . L’activité du client entraîne uniquement des tentatives de contact avec le fournisseur, lorsqu’elle est disponible (lorsque le fournisseur d’espace de noms est publié).

Un processus peut implémenter et publier plusieurs fournisseurs en même temps. Les sockets Windows gèrent les fournisseurs d’espaces de noms en répartissant les appels vers le bon. Elle masque également les détails de l’interface RPC et traduit les appels interprocesseurs en appels in-process. De sorte que le fournisseur NSPv2 doit uniquement implémenter une table de fonctions de point d’entrée similaire à la structure NSP_ROUTINE utilisée par un fournisseur NSPv1. Un fournisseur NSPv2 n’a pas à se soucier des exigences spécifiques au RPC (par exemple, le marshaling et la sérialisation des données).

La fonction WSAUnadvertiseProvider rend un fournisseur d’espace de noms spécifique non disponible pour les clients.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête ws2spi.h

Voir aussi

NSP_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAAdvertiseProvider

WSAProviderCompleteAsyncCall

WSAQUERYSET2

WSAUnadvertiseProvider