Función WSAGetServiceClassInfoA (winsock2.h)

La función WSAGetServiceClassInfo recupera la información de clase (esquema) que pertenece a una clase de servicio especificada de un proveedor de espacios de nombres especificado.

Sintaxis

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

Parámetros

[in] lpProviderId

Puntero a un GUID que identifica un proveedor de espacio de nombres específico.

[in] lpServiceClassId

Puntero a un GUID que identifica la clase de servicio.

[in, out] lpdwBufSize

En la entrada, el número de bytes contenidos en el búfer al que apunta el parámetro lpServiceClassInfo .

En la salida, si se produce un error en la función y el error es WSAEFAULT, este parámetro especifica el tamaño mínimo, en bytes, del búfer al que apunta lpServiceClassInfo necesario para recuperar el registro.

[out] lpServiceClassInfo

Puntero a una estructura WSASERVICECLASSINFO que contiene la información de clase de servicio del proveedor de espacio de nombres indicado para la clase de servicio especificada.

Valor devuelto

El valor devuelto es cero si WSAGetServiceClassInfo se realizó correctamente. De lo contrario, se devuelve el valor SOCKET_ERROR y se puede recuperar un número de error específico llamando a WSAGetLastError.

Código de error Significado
WSA_NOT_ENOUGH_MEMORY
No había memoria suficiente para realizar la operación.
WSAEACCES
La rutina de llamada no tiene privilegios suficientes para acceder a la información.
WSAEFAULT
El búfer al que apunta el parámetro lpServiceClassInfo es demasiado pequeño para contener un WSASERVICECLASSINFOW. La aplicación debe pasar un búfer más grande.
WSAEINVAL
El identificador de clase de servicio o el identificador del proveedor del espacio de nombres especificados no son válidos. Este error se devuelve si los parámetros lpProviderId, lpServiceClassId, lpdwBufSize o lpServiceClassInfo son NULL.
WSAEOPNOTSUPP
La operación no se admite para el tipo de objeto al que se hace referencia. Algunos proveedores de espacios de nombres que no admiten la obtención de información de clase de servicio devuelven este error.
WSANO_DATA
El nombre solicitado es válido, pero no se ha encontrado ningún dato del tipo solicitado.
WSANOTINITIALISED
No se ha inicializado el WS2_32.DLL. La aplicación debe llamar primero a WSAStartup antes de llamar a cualquier función de Windows Sockets.
WSATYPE_NOT_FOUND
No se encontró la clase especificada.

Comentarios

La función WSAGetServiceClassInfo recupera información de clase de servicio de un proveedor de espacios de nombres. Es posible que la información de clase de servicio recuperada de un proveedor de espacios de nombres determinado no sea el conjunto completo de información de clase que se especificó cuando se instaló la clase de servicio. Los proveedores de espacios de nombres individuales solo son necesarios para conservar la información de clase de servicio que se aplica a los espacios de nombres que admiten. Consulte la sección Estructuras de datos de clase de servicio para obtener más información.

Nota

El encabezado winsock2.h define WSAGetServiceClassInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winsock2.h
Library Ws2_32.lib
Archivo DLL Ws2_32.dll

Consulte también

Estructuras de datos de clase de servicio

WSAInstallServiceClass

WSASERVICECLASSINFOW

WSAStartup

Funciones winsock

Referencia de Winsock