Fonction de rappel LPNSPGETSERVICECLASSINFO (ws2spi.h)
La fonction NSPGetServiceClassInfo récupère toutes les informations de classe pertinentes (schéma) relatives au fournisseur d’espaces de noms. Cet appel récupère toutes les informations spécifiques à l’espace de noms communes à toutes les instances du service, y compris les informations de connexion pour SAP ou les informations de port pour SAP ou TCP.
Syntaxe
LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;
INT Lpnspgetserviceclassinfo(
[in] LPGUID lpProviderId,
[in, out] LPDWORD lpdwBufSize,
[in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}
Paramètres
[in] lpProviderId
Pointeur vers le GUID du fournisseur d’espace de noms spécifique à partir duquel le schéma de classe de service doit être récupéré.
[in, out] lpdwBufSize
En entrée, la taille, en octets, de la mémoire tampon pointée par le paramètre lpServiceClassInfo .
En sortie, si la fonction échoue et que l’erreur est WSAEFAULT, ce paramètre spécifie la taille minimale, en octets, de la mémoire tampon pointée vers le paramètre lpServiceClassInfo nécessaire pour récupérer l’enregistrement.
[in, out] lpServiceClassInfo
Retourne un pointeur vers la structure WSASERVICECLASSINFOW qui contient la classe de service vers des informations de mappage spécifiques à l’espace de noms. Le paramètre lpServiceClassId doit être renseigné pour indiquer quel enregistrement WSASERVICECLASSINFOW doit être retourné.
Valeur retournée
Si aucune erreur ne se produit, la fonction NSPGetServiceClassInfo retourne NO_ERROR (zéro). Sinon, SOCKET_ERROR (–1) est retourné et le fournisseur d’espaces de noms doit définir le code d’erreur approprié à l’aide de WSASetLastError.
Code d'erreur | Signification |
---|---|
La mémoire disponible est insuffisante pour effectuer cette opération. | |
La routine d’appel ne dispose pas des privilèges suffisants pour accéder aux informations. | |
La mémoire tampon pointée vers le paramètre lpServiceClass était trop petite pour contenir une structure WSASERVICECLASSINFOW . L’application doit passer une mémoire tampon plus grande. | |
L’identificateur de classe de service ou l’identificateur de fournisseur d’espace de noms spécifié n’est pas valide. Cette erreur est retournée si les paramètres lpProviderId, lpServiceClassId, lpdwBufSize ou lpServiceClassInfo sont **NULL**. | |
L'opération n'est pas prise en charge. Cette erreur est retournée si le fournisseur d’espaces de noms n’implémente pas cette fonction. | |
Le nom demandé est valide, mais aucune donnée du type requis n'a été trouvée. | |
La classe spécifiée est introuvable. |
Remarques
Le W2_32.dll utilise cette fonction pour implémenter la fonction WSAGetServiceClassNameByClassId , ainsi que pour récupérer les informations spécifiques à l’espace de noms transmises aux fonctions NSPLookupServiceBegin et NSPSetService .
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ws2spi.h |