Share via


WSAGetServiceClassInfoA, fonction (winsock2.h)

La fonction WSAGetServiceClassInfo récupère les informations de classe (schéma) relatives à une classe de service spécifiée à partir d’un fournisseur d’espace de noms spécifié.

Syntaxe

INT WSAAPI WSAGetServiceClassInfoA(
  [in]      LPGUID                 lpProviderId,
  [in]      LPGUID                 lpServiceClassId,
  [in, out] LPDWORD                lpdwBufSize,
  [out]     LPWSASERVICECLASSINFOA lpServiceClassInfo
);

Paramètres

[in] lpProviderId

Pointeur vers un GUID qui identifie un fournisseur d’espace de noms spécifique.

[in] lpServiceClassId

Pointeur vers un GUID identifiant la classe de service.

[in, out] lpdwBufSize

En entrée, le nombre d’octets contenus dans la mémoire tampon pointée vers 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 lpServiceClassInfo nécessaire pour récupérer l’enregistrement.

[out] lpServiceClassInfo

Pointeur vers une structure WSASERVICECLASSINFO qui contient les informations de classe de service du fournisseur d’espace de noms indiqué pour la classe de service spécifiée.

Valeur retournée

La valeur de retour est zéro si WSAGetServiceClassInfo a réussi. Sinon, la valeur SOCKET_ERROR est retournée et un numéro d’erreur spécifique peut être récupéré en appelant WSAGetLastError.

Code d'erreur Signification
WSA_NOT_ENOUGH_MEMORY
La mémoire était insuffisante pour effectuer l’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 par le paramètre lpServiceClassInfo est trop petite pour contenir un 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 ont la valeur NULL.
WSAEOPNOTSUPP
L’opération n’est pas prise en charge pour le type d’objet référencé. Cette erreur est retournée par certains fournisseurs d’espaces de noms qui ne prennent pas en charge l’obtention d’informations de classe de service.
WSANO_DATA
Le nom demandé est valide, mais aucune donnée du type requis n'a été trouvée.
WSANOTINITIALISED
Le WS2_32.DLL n’a pas été initialisé. L’application doit d’abord appeler WSAStartup avant d’appeler les fonctions windows Sockets.
WSATYPE_NOT_FOUND
La classe spécifiée est introuvable.

Remarques

La fonction WSAGetServiceClassInfo récupère les informations de classe de service à partir d’un fournisseur d’espaces de noms. Les informations de classe de service récupérées à partir d’un fournisseur d’espace de noms particulier peuvent ne pas être l’ensemble complet d’informations de classe qui ont été spécifiées lors de l’installation de la classe de service. Les fournisseurs d’espaces de noms individuels sont uniquement requis pour conserver les informations de classe de service applicables aux espaces de noms qu’ils prennent en charge. Pour plus d’informations, consultez la section Structures de données de classe de service.

Notes

L’en-tête winsock2.h définit WSAGetServiceClassInfo comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête winsock2.h
Bibliothèque Ws2_32.lib
DLL Ws2_32.dll

Voir aussi

Structures de données de classe de service

WSAInstallServiceClass

WSASERVICECLASSINFOW

WSAStartup

Fonctions Winsock

Informations de référence sur Winsock