Функция QueryServiceConfigA (winsvc.h)
Извлекает параметры конфигурации указанной службы. Дополнительные параметры конфигурации доступны с помощью функции QueryServiceConfig2.
Синтаксис
BOOL QueryServiceConfigA(
[in] SC_HANDLE hService,
[out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
Параметры
[in] hService
Дескриптор службы. Этот дескриптор
[out, optional] lpServiceConfig
Указатель на буфер, который получает сведения о конфигурации службы. Формат данных — это структура QUERY_SERVICE_CONFIG.
Максимальный размер этого массива составляет 8 КБ. Чтобы определить требуемый размер, укажите значение NULL для этого параметра и 0 для параметра cbBufSize. Функция завершится ошибкой и GetLastError вернет ERROR_INSUFFICIENT_BUFFER. Параметр pcbBytesNeed получит необходимый размер.
[in] cbBufSize
Размер буфера, на который указывает параметр lpServiceConfig в байтах.
[out] pcbBytesNeeded
Указатель на переменную, которая получает количество байтов, необходимых для хранения всех сведений о конфигурации, если функция завершается сбоем с ERROR_INSUFFICIENT_BUFFER.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Следующие коды ошибок можно задать диспетчером управления службой. Другие пользователи могут задаваться функциями реестра, которые вызываются диспетчером управления службами.
Возвращаемый код | Описание |
---|---|
|
Дескриптор не имеет права доступа SERVICE_QUERY_CONFIG. |
|
Существует больше сведений о конфигурации службы, чем будет соответствовать буферу lpServiceConfig. Количество байтов, необходимых для получения всех сведений, возвращается в параметре pcbBytesNeeded. Ничего не записывается в lpServiceConfig. |
|
Указанный дескриптор недопустим. |
Замечания
Функция QueryServiceConfig возвращает сведения о конфигурации службы, хранящиеся в реестре для определенной службы. Эти сведения о конфигурации сначала задаются программой управления службами с помощью функции CreateService. Эти сведения могут быть обновлены программой конфигурации службы с помощью функции ChangeServiceConfig.
Если служба была запущена при последнем изменении сведений о конфигурации, данные, возвращаемые QueryServiceConfig, не будут отражать текущую конфигурацию службы. Вместо этого она будет отражать конфигурацию службы при следующем запуске. Ключ displayName
Примеры
Пример см. в разделе запросыконфигурации службы.
Заметка
Заголовок winsvc.h определяет QueryServiceConfig как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winsvc.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |
См. также
QueryServiceDynamicInformation
конфигурации службы