структура QUERY_SERVICE_CONFIGA (winsvc.h)
Содержит сведения о конфигурации для установленной службы. Он используется функцией QueryServiceConfig
Синтаксис
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
Члены
dwServiceType
Тип службы. Этот элемент может быть одним из следующих значений.
Если значение SERVICE_WIN32_OWN_PROCESS или SERVICE_WIN32_SHARE_PROCESS, а служба выполняется в контексте учетной записи localSystem LocalSystem, можно также указать следующий тип.
Ценность | Значение |
---|---|
|
Служба может взаимодействовать с рабочим столом. |
dwStartType
Когда нужно запустить службу. Этот элемент может быть одним из следующих значений.
Ценность | Значение |
---|---|
|
Служба запускается автоматически диспетчером управления службами во время запуска системы. |
|
Драйвер устройства, запущенный загрузчиком системы. Это значение допустимо только для служб драйверов. |
|
Служба, запущенная диспетчером управления службами, когда процесс вызывает функцию StartService. |
|
Служба, которая не может быть запущена. Пытается запустить службу, в результате чего код ошибки ERROR_SERVICE_DISABLED. |
|
Драйвер устройства, запущенный функцией IoInitSystem |
dwErrorControl
Серьезность ошибки и действие, выполняемое, если эта служба не запускается. Этот элемент может быть одним из следующих значений.
lpBinaryPathName
Полный путь к двоичному файлу службы.
Путь также может включать аргументы для службы автозапуска. Эти аргументы передаются в точку входа службы (обычно основную функцию).
lpLoadOrderGroup
Имя группы упорядочения загрузки, к которой принадлежит эта служба. Если член имеет значение NULL или пустую строку, служба не принадлежит группе упорядочивания нагрузки.
Программа запуска использует группы упорядочения нагрузки для загрузки групп служб в указанном порядке относительно других групп. Список групп упорядочивания нагрузки содержится в следующем значении реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Уникальное значение тега для этой службы в группе, указанной параметром
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Теги оцениваются только для служб SERVICE_KERNEL_DRIVER и SERVICE_FILE_SYSTEM_DRIVER типов, имеющих SERVICE_BOOT_START или SERVICE_SYSTEM_START начальных типов.
lpDependencies
Указатель на массив имен служб или групп упорядочивания загрузки, которые должны начинаться перед этой службой. Массив завершается в двойном значении NULL. Если указатель null или если он указывает на пустую строку, служба не имеет зависимостей. Если указано имя группы, он должен быть префиксирован символом SC_GROUP_IDENTIFIER (определенный в WinSvc.h), чтобы отличить его от имени службы, так как службы и группы служб используют то же пространство имен. Зависимость от службы означает, что эта служба может выполняться только в том случае, если она зависит от запущенной службы. Зависимость от группы означает, что эта служба может выполняться, если после попытки запустить все члены группы по крайней мере один член группы.
lpServiceStartName
Если тип службы SERVICE_WIN32_OWN_PROCESS или SERVICE_WIN32_SHARE_PROCESS, этот член — это имя учетной записи, в которую будет входить процесс службы, как при запуске. Это имя может иметь форму Домен\Имя пользователя. Если учетная запись принадлежит встроенному домену, имя может иметь форму .\userName. Имя также может быть "LocalSystem", если процесс выполняется под учетной записью LocalSystem.
Если тип службы SERVICE_KERNEL_DRIVER или SERVICE_FILE_SYSTEM_DRIVER, этот элемент является именем объекта драйвера (т. е. \FileSystem\Rdr или \Driver\Xns), который используется системой ввода-вывода (I/O) для загрузки драйвера устройства. Если этот элемент имеет значение NULL, драйвер должен выполняться с именем объекта по умолчанию, созданным системой ввода-вывода, на основе имени службы.
lpDisplayName
Отображаемое имя, используемое программами управления службами для идентификации службы. Эта строка имеет максимальную длину 256 символов. Имя сохраняется в диспетчере управления службами. Сравнение отображаемых имен всегда не учитывает регистр.
Этот параметр может указать локализованную строку с помощью следующего формата:
@[Path]DLLName,-StrID
Строка с идентификатором StrID загружается из DLLName; Путь необязателен. Дополнительные сведения см. в разделе RegLoadMUIString.
Windows Server 2003 и Windows XP: локализованные строки не поддерживаются до Windows Vista.
Замечания
Сведения о конфигурации службы изначально указываются при создании службы вызовом функции CreateService. Сведения можно изменить, вызвав функцию ChangeServiceConfig.
Примеры
Пример см. в разделе запросыконфигурации службы.
Заметка
Заголовок winsvc.h определяет QUERY_SERVICE_CONFIG как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
заголовка | winsvc.h (включая Windows.h) |