Función GetServiceA (nspapi.h)
La función GetService recupera información sobre un servicio de red en el contexto de un conjunto de espacios de nombres predeterminados o un espacio de nombres especificado. El servicio de red se especifica por su tipo y nombre. La información sobre el servicio se obtiene como un conjunto de NS_SERVICE_INFO estructuras de datos.
Sintaxis
INT GetServiceA(
[in] DWORD dwNameSpace,
[in] LPGUID lpGuid,
[in] LPSTR lpServiceName,
[in] DWORD dwProperties,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpdwBufferSize,
[in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo
);
Parámetros
[in] dwNameSpace
El espacio de nombres, o un conjunto de espacios de nombres predeterminados, que el sistema operativo debe consultar para obtener información sobre el servicio de red especificado.
Use una de las siguientes constantes para especificar un espacio de nombres.
La mayoría de las llamadas a GetService deben usar el valor especial NS_DEFAULT. Esto permite a un cliente obtener sin conocer los espacios de nombres disponibles en un trabajo de Internet. El administrador del sistema determina el acceso al espacio de nombres. Los espacios de nombres pueden venir y pasar sin que el cliente tenga que tener en cuenta los cambios.
[in] lpGuid
Puntero a un identificador único global (GUID) que especifica el tipo del servicio de red. El archivo de encabezado
El archivo de encabezado
[in] lpServiceName
Puntero a una cadena terminada en cero que representa de forma única el nombre del servicio. Por ejemplo, "MY SNA SERVER".
[in] dwProperties
Conjunto de marcas de bits que especifican la información del servicio que recupera la función. Cada una de estas constantes de marca de bits, distintas de PROP_ALL, corresponde a un miembro determinado de la estructura de datos SERVICE_INFO. Si se establece la marca, la función coloca información en el miembro correspondiente de las estructuras de datos almacenadas en *lpBuffer. Se definen las marcas de bits siguientes.
[out] lpBuffer
Puntero a un búfer para recibir una matriz de estructuras de NS_SERVICE_INFO y información de servicio asociada. Cada estructura de NS_SERVICE_INFO contiene información de servicio en el contexto de un espacio de nombres determinado. Tenga en cuenta que si dwNameSpace es NS_DEFAULT, la función almacena más de una estructura en el búfer; de lo contrario, solo se almacena una estructura.
Cada estructura de NS_SERVICE_INFO contiene una estructura SERVICE_INFO. Los miembros de estas estructuras de SERVICE_INFO contendrán datos válidos basados en las marcas de bits establecidas en el parámetro dwProperties. Si la marca de bits correspondiente de un miembro no está establecida en dwProperties, el valor del miembro no está definido.
La función almacena las estructuras NS_SERVICE_INFO en una matriz consecutiva, comenzando al principio del búfer. Los punteros de las estructuras SERVICE_INFO contenidas apuntan a información almacenada en el búfer entre el final de las estructuras de NS_SERVICE_INFO y el final del búfer.
[in, out] lpdwBufferSize
Puntero a una variable que, en la entrada, contiene el tamaño, en bytes, del búfer al que apunta lpBuffer. En la salida, esta variable contiene el número de bytes necesarios para almacenar la información solicitada. Si este valor de salida es mayor que el valor de entrada, se produjo un error en la función debido a un tamaño de búfer insuficiente.
[in, optional] lpServiceAsyncInfo
Reservado para uso futuro. Debe establecerse en NULL.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es el número de estructuras de NS_SERVICE_INFO almacenadas en *lpBuffer. Cero indica que no se almacenaron estructuras.
Si se produce un error en la función, el valor devuelto es SOCKET_ERROR ( – 1). Para obtener información de error extendida, llame a GetLastError, que devuelve uno de los siguientes valores de error extendidos.
Código de error | Significado |
---|---|
|
El búfer al que apunta lpBuffer es demasiado pequeño para recibir toda la información solicitada. Llame a la función con un búfer al menos tan grande como el valor devuelto en *lpdwBufferSize. |
|
No se encontró el servicio especificado o el espacio de nombres especificado no está en uso. El valor devuelto de la función es cero en este caso. |
Observaciones
Nota
El encabezado nspapi.h define GetService 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
nspapi.h |
biblioteca de |
Mswsock.lib |
DLL de |
Mswsock.dll |