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


Функция QueryServiceConfig2A (winsvc.h)

Извлекает необязательные параметры конфигурации указанной службы.

Синтаксис

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

Параметры

[in] hService

Дескриптор службы. Этот дескриптор возвращается функцией OpenService или CreateService и должен иметь право доступа SERVICE_QUERY_CONFIG. Дополнительные сведения см. в службы безопасности и доступа.

[in] dwInfoLevel

Запрашиваемая информация о конфигурации. Этот параметр может быть одним из следующих значений.

Ценность Значение
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Параметр lpInfo — это указатель на структуру SERVICE_DELAYED_AUTO_START_INFO.

Windows Server 2003 и Windows XP: это значение не поддерживается.

SERVICE_CONFIG_DESCRIPTION
1
Параметр lpBuffer является указателем на структуру SERVICE_DESCRIPTION.
SERVICE_CONFIG_FAILURE_ACTIONS
2
Параметр lpBuffer является указателем на структуру SERVICE_FAILURE_ACTIONS.
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
Параметр lpInfo является указателем на структуру SERVICE_FAILURE_ACTIONS_FLAG.

Windows Server 2003 и Windows XP: это значение не поддерживается.

SERVICE_CONFIG_PREFERRED_NODE
9
Параметр lpInfo является указателем на структуру SERVICE_PREFERRED_NODE_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Параметр lpInfo — это указатель на структуру SERVICE_PRESHUTDOWN_INFO.

Windows Server 2003 и Windows XP: это значение не поддерживается.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
Параметр lpInfo — это указатель на структуру SERVICE_REQUIRED_PRIVILEGES_INFO.

Windows Server 2003 и Windows XP: это значение не поддерживается.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Параметр lpInfo является указателем на структуру SERVICE_SID_INFO.

Windows Server 2003 и Windows XP: это значение не поддерживается.

SERVICE_CONFIG_TRIGGER_INFO
8
Параметр lpInfo является указателем на структуру SERVICE_TRIGGER_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Параметр lpInfo — это указатель на структуру SERVICE_LAUNCH_PROTECTED_INFO.
Примечание Это значение поддерживается начиная с Windows 8.1.
 

[out, optional] lpBuffer

Указатель на буфер, который получает сведения о конфигурации службы. Формат этих данных зависит от значения параметра dwInfoLevel.

Максимальный размер этого массива составляет 8 КБ. Чтобы определить требуемый размер, укажите NULL для этого параметра и 0 для параметра cbBufSize. Функция завершается ошибкой и GetLastError возвращает ERROR_INSUFFICIENT_BUFFER. Параметр pcbBytesNeeded получает необходимый размер.

[in] cbBufSize

Размер структуры, на которую указывает параметр lpBuffer, в байтах.

[out] pcbBytesNeeded

Указатель на переменную, которая получает количество байтов, необходимых для хранения сведений о конфигурации, если функция завершается ошибкой с ERROR_INSUFFICIENT_BUFFER.

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

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

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

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

Возвращаемый код Описание
ERROR_ACCESS_DENIED
Дескриптор не имеет права доступа SERVICE_QUERY_CONFIG.
ERROR_INSUFFICIENT_BUFFER
Существует больше сведений о конфигурации службы, чем будет соответствовать буферу lpBuffer. Количество байтов, необходимых для получения всех сведений, возвращается в параметре pcbBytesNeeded. Ничего не записывается в lpBuffer.
ERROR_INVALID_HANDLE
Указанный дескриптор недопустим.

Замечания

Функция QueryServiceConfig 2 возвращает необязательные сведения о конфигурации, хранящиеся в базе данных диспетчера управления службами для указанной службы. Эти сведения конфигурации можно изменить с помощью функции ChangeServiceConfig2.

Вы можете изменять и запрашивать дополнительные сведения о конфигурации с помощью функций ChangeServiceConfig и QueryServiceConfig соответственно.

Примеры

Пример см. в разделе запросыконфигурации службы.

Заметка

Заголовок winsvc.h определяет QueryServiceConfig2 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winsvc.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

ChangeServiceConfig

ChangeServiceConfig2

CreateService

OpenService

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

конфигурации службы

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