структура 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, можно также указать следующий тип.
Значение | Значение |
---|---|
|
Служба может взаимодействовать с рабочим столом.
Дополнительные сведения см. в разделе Интерактивные службы. |
dwStartType
Когда следует запускать службу. Этот элемент может быть одним из следующих значений.
Значение | Значение |
---|---|
|
Служба автоматически запускается диспетчером управления службами во время запуска системы. |
|
Драйвер устройства, запущенный системным загрузчиком. Это значение допустимо только для служб драйверов. |
|
Служба, запущенная диспетчером управления службами, когда процесс вызывает функцию StartService . |
|
Служба, которая не может быть запущена. Попытки запустить службу приводят к ERROR_SERVICE_DISABLED кода ошибки. |
|
Драйвер устройства, запущенный функцией IoInitSystem . Это значение допустимо только для служб драйверов. |
dwErrorControl
Серьезность ошибки и выполняемое действие, если эта служба не запускается. Этот элемент может быть одним из следующих значений.
lpBinaryPathName
Полный путь к двоичному файлу службы.
Путь также может содержать аргументы для службы автоматического запуска. Эти аргументы передаются в точку входа службы (обычно это функция main).
lpLoadOrderGroup
Имя группы упорядочения нагрузки, к которой принадлежит эта служба. Если элемент имеет значение NULL или пустую строку, служба не принадлежит к группе упорядочения загрузки.
Программа запуска использует группы упорядочения загрузки для загрузки групп служб в указанном порядке по отношению к другим группам. Список групп упорядочения нагрузки содержится в следующем значении реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Уникальное значение тега для этой службы в группе, заданной параметром lpLoadOrderGroup . Нулевое значение указывает, что службе не назначен тег. Вы можете использовать тег для запуска службы заказов в группе заказов загрузки, указав вектор порядка тегов в реестре, расположенном по адресу:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Теги оцениваются только для служб SERVICE_KERNEL_DRIVER и SERVICE_FILE_SYSTEM_DRIVER типов, имеющих SERVICE_BOOT_START или SERVICE_SYSTEM_START типы запуска.
lpDependencies
Указатель на массив имен служб, разделенных значением NULL, или групп упорядочения загрузки, которые должны начинаться перед этой службой. Массив вдвойне завершается 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), который система ввода-вывода использует для загрузки драйвера устройства. Если этот член имеет значение 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) |