Поделиться через


Функция SetServiceBits (lmserver.h)

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

Синтаксис

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

Параметры

[in] hServiceStatus

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

[in] dwServiceBits

Тип службы.

Некоторые битовые флаги (0xC00F3F7B) зарезервированы для использования корпорацией Майкрософт. Функция SetServiceBits завершается сбоем с ошибкой ERROR_INVALID_DATA, если какой-либо из этих битовых флагов установлен в dwServiceBits. Следующие битовые флаги зарезервированы для использования корпорацией Майкрософт.

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) определены корпорацией Майкрософт, но специально не зарезервированы для системного программного обеспечения. Ниже приведены эти битовые флаги.

SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)

SV_TYPE_NOVELL (0x00000080)

SV_TYPE_DOMAIN_CTRL (0x00100000)

SV_TYPE_DOMAIN_BAKCTRL (0x00200000)

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

0x00004000

0x00008000

0x00400000

0x00800000

0x01000000

0x02000000

0x04000000

0x08000000

0x10000000

0x20000000

[in] bSetBitsOn

Если это значение равно TRUE, необходимо задать биты в dwServiceBit . Если это значение равно FALSE, биты должны быть очищены.

[in] bUpdateImmediately

Если это значение равно TRUE, служба сервера выполняет немедленное обновление. Если это значение равно FALSE, обновление выполняется не сразу.

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header lmserver.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

NetServerEnum

NetServerGetInfo

RegisterServiceCtrlHandlerEx

Функции службы

SetServiceStatus