Функция 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.
Смотри также
Обзор Службы,
Функции,
используемые службами,
Размещение и совместимость 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 | Нет | |
Замечания по платформе | Не имеется |