Función SetServiceA (nspapi.h)

La función SetService registra o quita del registro un servicio de red dentro de uno o varios espacios de nombres. La función también puede agregar o quitar un tipo de servicio de red dentro de uno o varios espacios de nombres.

Nota La función SetService está obsoleta. Las funciones detalladas en Resolución de nombres independiente del protocolo proporcionan una funcionalidad equivalente en Windows Sockets 2. Para la comodidad de los desarrolladores de Windows Sockets 1.1, el material de referencia es el siguiente.
 

Sintaxis

INT SetServiceA(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOA      lpServiceInfo,
  [in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
  [out]          LPDWORD              lpdwStatusFlags
);

Parámetros

[in] dwNameSpace

El espacio de nombres, o un conjunto de espacios de nombres predeterminados, dentro de los cuales funcionará la función.

Use una de las siguientes constantes para especificar un espacio de nombres.

Valor Significado
NS_DEFAULT
Un conjunto de espacios de nombres predeterminados. La función consulta cada espacio de nombres dentro de este conjunto. El conjunto de espacios de nombres predeterminados normalmente incluye todos los espacios de nombres instalados en el sistema. Sin embargo, los administradores del sistema pueden excluir determinados espacios de nombres del conjunto. NS_DEFAULT es el valor que la mayoría de las aplicaciones deben usar para dwNameSpace.
NS_DNS
Sistema de nombres de dominio usado en Internet para resolver el nombre del host.
NS_NDS
Proveedor de NetWare 4.
NS_NETBT
NetBIOS a través de la capa TCP/IP. Todos los sistemas Windows registran sus nombres de equipo con NetBIOS. Este espacio de nombres se usa para convertir un nombre de equipo en una dirección IP que usa este registro.
NS_SAP
El protocolo de publicidad del servicio NetWare. Esto puede acceder a la enlazadora de NetWare, si procede. NS_SAP es un espacio de nombres dinámico que permite el registro de servicios.
NS_TCPIP_HOSTS
Valor de búsqueda en el <archivo systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Mecanismos de resolución de nombres TCP/IP locales, incluidas comparaciones con el nombre de host local y el valor de búsqueda en la memoria caché del host en las asignaciones de direcciones IP.

[in] dwOperation

Operación que realizará la función. Use uno de los valores siguientes para especificar una operación:

Valor Significado
SERVICE_REGISTER
Registre el servicio de red con el espacio de nombres . Esta operación se puede usar con las marcas de bits SERVICE_FLAG_DEFER y SERVICE_FLAG_HARD.
SERVICE_DEREGISTER
Quite del registro el servicio de red del espacio de nombres . Esta operación se puede usar con las marcas de bits SERVICE_FLAG_DEFER y SERVICE_FLAG_HARD.
SERVICE_FLUSH
Realice cualquier operación a la que se llamó con la marca de bits SERVICE_FLAG_DEFER establecida en una.
SERVICE_ADD_TYPE
Agregue un tipo de servicio al espacio de nombres .

Para esta operación, use el miembro ServiceSpecificInfo de la estructura de SERVICE_INFO a la que apunta lpServiceInfo para pasar una estructura de SERVICE_TYPE_INFO_ABS . También debe establecer el miembro ServiceType de la estructura SERVICE_INFO . Se omiten otros miembros de SERVICE_INFO .

SERVICE_DELETE_TYPE
Quite un tipo de servicio, agregado por una llamada anterior que especifica la operación de SERVICE_ADD_TYPE, del espacio de nombres .

[in] dwFlags

Conjunto de marcas de bits que modifican la operación de la función. Puede establecer una o varias de las marcas de bits siguientes:

Valor Significado
SERVICE_FLAG_DEFER
Esta marca de bits solo es válida si la operación es SERVICE_REGISTER o SERVICE_DEREGISTER.

Si esta marca de bits es una y es válida, el proveedor de espacios de nombres debe aplazar la operación de registro o registro hasta que se solicite una operación de SERVICE_FLUSH.

SERVICE_FLAG_HARD
Esta marca de bits solo es válida si la operación es SERVICE_REGISTER o SERVICE_DEREGISTER.

Si esta marca de bits es una y es válida, el proveedor de espacios de nombres actualiza cualquier información de almacén persistente pertinente cuando se realiza la operación.

Por ejemplo: si la operación implica la anulación del registro en un espacio de nombres que usa un almacén persistente, el proveedor de espacios de nombres quitaría la información de almacén persistente pertinente.

[in] lpServiceInfo

Puntero a una estructura de SERVICE_INFO que contiene información sobre el servicio de red o el tipo de servicio.

[in, optional] lpServiceAsyncInfo

Reservado para uso futuro. Debe establecerse en NULL.

[out] lpdwStatusFlags

Conjunto de marcas de bits que reciben información de estado de la función. Se define la marca de bits siguiente:

Valor Significado
SET_SERVICE_ PARTIAL_SUCCESS
Uno o varios proveedores de espacios de nombres no pudieron realizar correctamente la operación solicitada.

Valor devuelto

Si se produce un error en la función, el valor devuelto es SOCKET_ERROR. Para obtener información de error extendida, llame a GetLastError. GetLastError puede devolver el siguiente valor de error extendido.

Código de error Significado
ERROR_ALREADY_ REGISTRADO
La función intentó registrar un servicio que ya estaba registrado.

Comentarios

Nota

El encabezado nspapi.h define SetService 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 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado nspapi.h
Library Mswsock.lib
Archivo DLL Mswsock.dll

Consulte también

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Funciones winsock

Referencia de Winsock