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).
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 :
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 |