Partager via


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
WSA_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante pour effectuer cette opération.
WSAEACCES
La routine d’appel ne dispose pas des privilèges suffisants pour accéder aux informations.
WSAEFAULT
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.
WSAEINVAL
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**.
WSAEOPNOTSUPP
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.
WSANO_DATA
Le nom demandé est valide, mais aucune donnée du type requis n'a été trouvée.
WSATYPE_NOT_FOUND
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

Voir aussi

NSPInstallServiceClass

NSPLookupServiceBegin

NSPRemoveServiceClass

NSPSetService

WSAGetServiceClassInfo

WSAGetServiceClassNameByClassId

WSASERVICECLASSINFOW

WSASetLastError