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 |
---|---|
No hay suficiente memoria disponible para realizar esta operación. | |
La rutina de llamada no tiene privilegios suficientes para acceder a la información. | |
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. | |
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**. | |
La operación no es compatible. Este error se devuelve si el proveedor de espacios de nombres no implementa esta función. | |
El nombre solicitado es válido, pero no se ha encontrado ningún dato del tipo solicitado. | |
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 |