Функция QueryServiceConfig2


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

Синтаксис

BOOL QueryServiceConfig2(
  SC_HANDLE hService,
  DWORD dwInfoLevel,
  LPBYTE lpBuffer,
  DWORD cbBufSize,
  LPDWORD pcbBytesNeeded
);

Параметры

hService

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

dwInfoLevel

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

Значение Предназначение
SERVICE_CONFIG_DESCRIPTION Параметр lpBuffer - указатель на структуру SERVICE_DESCRIPTION.
SERVICE_CONFIG_FAILURE_ACTIONS Параметр lpBuffer - указатель на структуру SERVICE_FAILURE_ACTIONS.

lpBuffer

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

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

cbBufSize

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

pcbBytesNeeded

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

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

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

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

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

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

Замечания

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

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

Демонстрационный код

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

Смотри также

Обзор Службы, Функции, используемые службамиChangeServiceConfig, ChangeServiceConfig2, CreateService, OpenService, QueryServiceConfig, SERVICE_DESCRIPTION, SERVICE_FAILURE_ACTIONS

Размещение и совместимость QueryServiceConfig2 

К Windows XP Да 
л Windows 2000 Professional Да
и Windows NT Нет
е Windows Me Нет
н Windows 98 Нет
т Windows 95 Нет
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Нет
в    
е    
р    
Используемая библиотека Advapi32.lib
Используемая DLL advapi32.dll
 Заголовочный файл  
- объявлено в Winsvc.h
 - включено в Windows.h
 Unicode Реализуется как QueryServiceConfig2W(Unicode) и QueryServiceConfig2A (ANSI).
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz