Partager 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’espaces 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’espaces de noms spécifique.

[in] lpServiceClassId

Pointeur vers un GUID identifiant la classe de service.

[in, out] lpdwBufSize

Lors de l’entrée, le nombre d’octets contenus dans 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 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 de retour

La valeur de retour est égale à zéro si le 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 n’a pas suffisamment de privilèges 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 lelpProviderId , lpServiceClassId, lpdwBufSizeou paramètres lpServiceClassInfo sont 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 sur la classe de service.
WSANO_DATA
Le nom demandé est valide, mais aucune donnée du type demandé 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 des 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 d’un fournisseur d’espaces de noms. Les informations de classe de service récupérées à partir d’un fournisseur d’espaces de noms particulier peuvent ne pas être l’ensemble complet d’informations de classe 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.

Note

L’en-tête winsock2.h définit WSAGetServiceClassInfo comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
plateforme cible Windows
d’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

de référence Winsock