Función WSAGetServiceClassInfoW (winsock2.h)

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

Sintaxis

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

Parámetros

[in] lpProviderId

Puntero a un GUID que identifica un proveedor de espacios 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 mediante una llamada 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 mayor.
WSAEINVAL
El identificador de clase de servicio especificado o el identificador del proveedor del espacio de nombres 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. Este error lo devuelven algunos proveedores de espacios de nombres que no admiten la obtención de información de clase de servicio.
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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
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