Функция SetServiceBits


Функция SetServiceBits регистрирует тип службы вместе с диспетчером управления службами и службой Сервера. Служба Сервера может затем объявить зарегистрированный тип службы как один, что в настоящее время поддерживается. Функции NetServerGetInfo и NetServerEnum получают поддерживаемые типы служб указанной машины.

Синтаксис

BOOL SetServiceBits(
  SERVICE_STATUS_HANDLE hServiceStatus,
  DWORD dwServiceBits,
  BOOL bSetBitsOn,
  BOOL bUpdateImmediately
);

Параметры

hServiceStatus

[in] Дескриптор структуры с информацией о статусе службы. Служба получает дескриптор, вызывая функцию RegisterServiceCtrlHandlerEx.

dwServiceBits

[in] Установка бита флага, который задает тип службы.

Определенные битовые флаги (0xC00F3F7B) сохранены для использования Microsoft. Функция SetServiceBits завершается ошибкой ERROR_INVALID_DATA, если какой-либо из этих битов флага устанавливается в dwServiceBits. Следующие биты флага зарезервированы для использования 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

 

Определенные битовые флаги (0x00300084) определены Microsoft, но специально не резервируются для системных программ. Ниже - эти битовые флаги.

 

Константа битового флага Значение
SV_TYPE_SV_TYPE_SQLSERVER 0x00000004
SV_TYPE_NOVELL 0x00000080
SV_TYPE_DOMAIN_CTRL 0x00100000
SV_TYPE_DOMAIN_BAKCTRL 0x00200000

 

Определенные битовые флаги (0x3FC0C000) не определены Microsoft и их использование не скоординировано Microsoft. Разработчики приложений, которые используют эти биты, должны знать, что другие приложения могут также использовать их, создавая таким образом конфликтную ситуацию. Ниже - эти битовые флаги.

 

Конфликтный битовый флаг Значение
0x00004000 0x02000000
0x00008000 0x04000000
0x00400000 0x08000000
0x00800000 0x10000000
0x01000000 0x20000000

bSetBitsOn

[in] Если это значение - ИСТИНА (TRUE), биты в dwServiceBit должны быть установлены. Если это значение - ЛОЖЬ (FALSE), биты должны быть сброшены.

bUpdateImmediately

[in] Если это значение - ИСТИНА (TRUE), служба Сервера должна выполнить непосредственное обновление. Если это значение - ЛОЖЬ (FALSE), обновление немедленно не выполняется.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение является ненулевым.

Если функция завершается ошибкой, возвращаемое значение - нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Смотри также

Обзор Службы, Функции, используемые службами, NetServerGetInfo, NetServerEnum, RegisterServiceCtrlHandlerEx, SetServiceStatus

Размещение и совместимость SetServiceBits  

К Windows XP Да 
л Windows 2000 Professional Да
и Windows NT Workstation Да версии 3.5 и позже
е Windows Me Нет
н Windows 98 Нет
т Windows 95 Нет
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да версии 3.5 и позже
в    
е    
р    
Используемая библиотека Advapi32.lib
Используемая DLL advapi32.dll
 Заголовочный файл  
- объявлено в Lmserver.h
 - включено в Windows.h
 Unicode Нет
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz