Função SetServiceBits (lmserver.h)

Registra um tipo de serviço com o gerenciador de controle de serviço e o serviço Servidor. Em seguida, o serviço Servidor pode anunciar o tipo de serviço registrado como um compatível no momento. As funções NetServerGetInfo e NetServerEnum obtêm os tipos de serviço com suporte de um computador especificado.

Sintaxe

BOOL NET_API_FUNCTION SetServiceBits(
  [in] SERVICE_STATUS_HANDLE hServiceStatus,
  [in] DWORD                 dwServiceBits,
  [in] BOOL                  bSetBitsOn,
  [in] BOOL                  bUpdateImmediately
);

Parâmetros

[in] hServiceStatus

Um identificador para a estrutura de informações status para o serviço. Um serviço obtém o identificador chamando a função RegisterServiceCtrlHandlerEx .

[in] dwServiceBits

O tipo de serviço.

Determinados sinalizadores de bits (0xC00F3F7B) são reservados para uso pela Microsoft. A função SetServiceBits falhará com o erro ERROR_INVALID_DATA se qualquer um desses sinalizadores de bits estiver definido em dwServiceBits. Os sinalizadores de bit a seguir são reservados para uso pela Microsoft.

SV_TYPE_WORKSTATION (0x00000001)

SV_TYPE_SERVER (0x00000002)

SV_TYPE_DOMAIN_CTRL (0x00000008)

SV_TYPE_DOMAIN_BAKCTRL (0x00000010)

SV_TYPE_TIME_SOURCE (0x00000020)

SV_TYPE_AFP (0x00000040)

SV_TYPE_DOMAIN_MEMBER (0x00000100)

SV_TYPE_PRINTQ_SERVER (0x00000200)

SV_TYPE_DIALIN_SERVER (0x00000400)

SV_TYPE_XENIX_SERVER (0x00000800)

SV_TYPE_SERVER_UNIX (0x00000800)

SV_TYPE_NT (0x00001000)

SV_TYPE_WFW (0x00002000)

SV_TYPE_POTENTIAL_BROWSER (0x00010000)

SV_TYPE_BACKUP_BROWSER (0x00020000)

SV_TYPE_MASTER_BROWSER (0x00040000)

SV_TYPE_DOMAIN_MASTER (0x00080000)

SV_TYPE_LOCAL_LIST_ONLY (0x40000000)

SV_TYPE_DOMAIN_ENUM (0x80000000)

Determinados sinalizadores de bits (0x00300084) são definidos pela Microsoft, mas não são especificamente reservados para softwares de sistemas. Veja a seguir esses sinalizadores de bits.

SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)

SV_TYPE_NOVELL (0x00000080)

SV_TYPE_DOMAIN_CTRL (0x00100000)

SV_TYPE_DOMAIN_BAKCTRL (0x00200000)

Determinados sinalizadores de bits (0x3FC0C000) não são definidos pela Microsoft e seu uso não é coordenado pela Microsoft. Os desenvolvedores de aplicativos que usam esses bits devem estar cientes de que outros aplicativos também podem usá-los, criando assim um conflito. Veja a seguir esses sinalizadores de bits.

0x00004000

0x00008000

0x00400000

0x00800000

0x01000000

0x02000000

0x04000000

0x08000000

0x10000000

0x20000000

[in] bSetBitsOn

Se esse valor for TRUE, os bits em dwServiceBit deverão ser definidos. Se esse valor for FALSE, os bits deverão ser limpos.

[in] bUpdateImmediately

Se esse valor for TRUE, o serviço Servidor deverá executar uma atualização imediata. Se esse valor for FALSE, a atualização não será executada imediatamente.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmserver.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

NetServerEnum

NetServerGetInfo

RegisterServiceCtrlHandlerEx

Funções de serviço

SetServiceStatus