Función de devolución de llamada LPNSPGETSERVICECLASSINFO (ws2spi.h)

La función NSPGetServiceClassInfo recupera toda la información de clase (esquema) pertinente que pertenece al proveedor de espacios de nombres. Esta llamada recupera cualquier información específica del espacio de nombres que sea común a todas las instancias del servicio, incluida la información de conexión para SAP o la información de puerto para SAP o TCP.

Sintaxis

LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;

INT Lpnspgetserviceclassinfo(
  [in]      LPGUID lpProviderId,
  [in, out] LPDWORD lpdwBufSize,
  [in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}

Parámetros

[in] lpProviderId

Puntero al GUID del proveedor de espacio de nombres específico desde el que se va a recuperar el esquema de la clase de servicio.

[in, out] lpdwBufSize

En la entrada, el tamaño, en bytes, del 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 el parámetro lpServiceClassInfo necesario para recuperar el registro.

[in, out] lpServiceClassInfo

Devuelve un puntero a la estructura WSASERVICECLASSINFOW que contiene la clase de servicio para la información de asignación específica del espacio de nombres. El parámetro lpServiceClassId debe rellenarse para indicar qué registro WSASERVICECLASSINFOW se debe devolver.

Valor devuelto

Si no se produce ningún error, la función NSPGetServiceClassInfo devuelve NO_ERROR (cero). De lo contrario, se devuelve SOCKET_ERROR (–1) y el proveedor de espacios de nombres debe establecer el código de error adecuado mediante WSASetLastError.

Código de error Significado
WSA_NOT_ENOUGH_MEMORY
No hay suficiente memoria disponible para realizar esta 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 lpServiceClass era demasiado pequeño para contener una estructura 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 es compatible. Este error se devuelve si el proveedor de espacios de nombres no implementa esta función.
WSANO_DATA
El nombre solicitado es válido, pero no se ha encontrado ningún dato del tipo solicitado.
WSATYPE_NOT_FOUND
No se encontró la clase especificada.

Observaciones

El W2_32.dll usa esta función para implementar la función WSAGetServiceNameByClassId , así como para recuperar la información específica del espacio de nombres que se pasa a las funciones NSPLookupServiceBegin y NSPSetService .

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h

Consulte también

NSPInstallServiceClass

NSPLookupServiceBegin

NSPRemoveServiceClass

NSPSetService

WSAGetServiceClassInfo

WSAGetServiceClassNameByClassId

WSASERVICECLASSINFOW

WSASetLastError