Функция 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 . Дополнительные сведения см. в разделе Service Security and Access Rights.
[in] dwInfoLevel
Запрашиваемая информация о конфигурации. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Параметр lpInfo является указателем на структуру SERVICE_DELAYED_AUTO_START_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpBuffer является указателем на структуру SERVICE_DESCRIPTION . |
|
Параметр lpBuffer является указателем на структуру SERVICE_FAILURE_ACTIONS . |
|
Параметр lpInfo является указателем на структуру SERVICE_FAILURE_ACTIONS_FLAG .
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpInfo является указателем на структуру SERVICE_PREFERRED_NODE_INFO .
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpInfo является указателем на структуру SERVICE_PRESHUTDOWN_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpInfo является указателем на структуру SERVICE_REQUIRED_PRIVILEGES_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpInfo является указателем на структуру SERVICE_SID_INFO .
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр lpInfo является указателем на структуру SERVICE_TRIGGER_INFO .
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр 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.
Диспетчер управления службами может задать следующие коды ошибок. Другие могут быть заданы функциями реестра, которые вызываются диспетчером управления службами.
Код возврата | Описание |
---|---|
|
Дескриптор не имеет права доступа к SERVICE_QUERY_CONFIG . |
|
Существует больше сведений о конфигурации службы, чем помещается в буфер lpBuffer . Количество байтов, необходимых для получения всех сведений, возвращается в параметре pcbBytesNeeded . В lpBuffer ничего не записывается. |
|
Указанный дескриптор недопустим. |
Комментарии
Функция QueryServiceConfig2 возвращает необязательные сведения о конфигурации, хранящиеся в базе данных диспетчера управления службами для указанной службы. Эти сведения о конфигурации можно изменить с помощью функции ChangeServiceConfig2 .
Вы можете изменять и запрашивать дополнительные сведения о конфигурации с помощью функций ChangeServiceConfig и QueryServiceConfig соответственно.
Примеры
Пример см. в разделе Запрос конфигурации службы.
Примечание
Заголовок winsvc.h определяет QueryServiceConfig2 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winsvc.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
QueryServiceDynamicInformation
SERVICE_DELAYED_AUTO_START_INFO