На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

QUERY_SERVICE_CONFIG



The QUERY_SERVICE_CONFIG structure is used by the QueryServiceConfig function to return configuration information about an installed service.

typedef struct _QUERY_SERVICE_CONFIG { // qsc
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPTSTR lpBinaryPathName;
LPTSTR lpLoadOrderGroup;
DWORD dwTagId;
LPTSTR lpDependencies;
LPTSTR lpServiceStartName;
LPTSTR lpDisplayName;
} QUERY_SERVICE_CONFIG, LPQUERY_SERVICE_CONFIG;


Members

dwServiceType

The value returned includes one of the following service type flags to indicate the type of service. In addition, for a SERVICE_WIN32 service, the SERVICE_INTERACTIVE_PROCESS flag might be set, indicating that the service process can interact with the desktop.

Value Meaning
SERVICE_WIN32_OWN_PROCESS A service type flag that indicates a Win32 service that runs in its own process.
SERVICE_WIN32_SHARE_PROCESS A service type flag that indicates a Win32 service that shares a process with other services.
SERVICE_KERNEL_DRIVER A service type flag that indicates a Windows NT device driver.
SERVICE_FILE_SYSTEM_DRIVER A service type flag that indicates a Windows NT file system driver.
SERVICE_INTERACTIVE_PROCESS A flag that indicates a Win32 service process that can interact with the desktop.


dwStartType

Specifies when to start the service. One of the following values is specified:

Value Meaning
SERVICE_BOOT_START Specifies a device driver started by the operating system loader. This value is valid only if the service type is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER.
SERVICE_SYSTEM_START Specifies a device driver started by the IoInitSystem function. This value is valid only if the service type is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER.
SERVICE_AUTO_START Specifies a device driver or Win32 service started by the service control manager automatically during system startup.
SERVICE_DEMAND_START Specifies a device driver or Win32 service started by the service control manager when a process calls the StartService function.
SERVICE_DISABLED Specifies a device driver or Win32 service that can no longer be started.


dwErrorControl

Specifies the severity of the error if this service fails to start during startup, and determines the action taken by the startup program if failure occurs. One of the following values can be specified:

Value Meaning
SERVICE_ERROR_IGNORE
The startup (boot) program logs the error but continues the startup operation.
SERVICE_ERROR_NORMAL
The startup program logs the error and displays a message box pop-up but continues the startup operation.
SERVICE_ERROR_SEVERE
The startup program logs the error. If the last-known good configuration is being started, the startup operation continues. Otherwise, the system is restarted with the last-known-good configuration.
SERVICE_ERROR_CRITICAL
The startup program logs the error, if possible. If the last-known good configuration is being started, the startup operation fails. Otherwise, the system is restarted with the last-known good configuration.


lpBinaryPathName

Points to a null-terminated string that contains the fully qualified path to the service binary file.

lpLoadOrderGroup

Points to a null-terminated string that names the load ordering group of which this service is a member. If the pointer is NULL or if it points to an empty string, the service does not belong to a group. The registry has a list of load ordering groups located at:

HKEY_LOCAL_MACHINE\System
\CurrentControlSet\Control\ServiceGroupOrder.
The startup program uses this list to load groups of services in a specified order with respect to the other groups in the list. You can place a service in a group so that another service can depend on the group.
The order in which a service starts is determined by the following criteria:

1. The order of groups in the registry's load-ordering group list. Services in groups in the load-ordering group list are started first, followed by services in groups not in the load-ordering group list and then services that do not belong to a group.
2. The service's dependencies listed in the lpszDependencies parameter and the dependencies of other services dependent on the service.



dwTagId

Specifies a unique tag value for this service in the group specified by the lpLoadOrderGroup parameter. A value of zero indicates that the service has not been assigned a tag. You can use a tag for ordering service startup within a load order group by specifying a tag order vector in the registry located at:

HKEY_LOCAL_MACHINE\System\CurrentControlSet
\Control\GroupOrderList
Tags are only evaluated for SERVICE_KERNEL_DRIVER and SERVICE_FILE_SYSTEM_DRIVER type services that have SERVICE_BOOT_START or SERVICE_SYSTEM_START start types.

lpDependencies

Points to an array of null-separated names of services or load ordering groups that must start before this service. The array is doubly null-terminated. If the pointer is NULL or if it points to an empty string, the service has no dependencies. If a group name is specified, it must be prefixed by the SC_GROUP_IDENTIFIER (defined in the WINSVC.H file) character to differentiate it from a service name, because services and service groups share the same name space. Dependency on a service means that this service can only run if the service it depends on is running. Dependency on a group means that this service can run if at least one member of the group is running after an attempt to start all members of the group.

lpServiceStartName

Points to a null-terminated string. If the service type is SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS, this name is the account name in the form of "DomainName\Username", which the service process will be logged on as when it runs. If the account belongs to the built-in domain, ".\Username" can be specified. If NULL is specified, the service will be logged on as the LocalSystem account.

If the service type is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER, this name is the Windows NT driver object name (that is, \FileSystem\Rdr or \Driver\Xns) which the input and output (I/O) system uses to load the device driver. If NULL is specified, the driver is run with a default object name created by the I/O system based on the service name.

lpDisplayName

Points to a null-terminated string that is to be used by user interface programs to identify the service. This string has a maximum length of 256 characters. The name is case-preserved in the service control manager. Display name comparisons are always case-insensitive.



Remarks

The configuration information for a service is initially specified when the service is created by a call to the CreateService function. The information can be modified by calling the ChangeServiceConfig function.

See Also

ChangeServiceConfig, CreateService, QueryServiceConfig, StartService


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

QUERY_SERVICE_CONFIG



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

typedef struct _QUERY_SERVICE_CONFIG { // qsc DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPTSTR lpBinaryPathName;
LPTSTR lpLoadOrderGroup;
DWORD dwTagId;
LPTSTR lpDependencies;
LPTSTR lpServiceStartName;
LPTSTR lpDisplayName;
} QUERY_SERVICE_CONFIG, LPQUERY_SERVICE_CONFIG;


Участники

dwServiceType

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

Значение Величины
SERVICE_WIN32_OWN_PROCESS флаг типа услуги, что указывает услугу Win32, которая работает в своем собственном процессе.
SERVICE_WIN32_SHARE_PROCESS флаг типа услуги, что указывает услугу Win32, которая распространяет процесс с другими услугами.
SERVICE_KERNEL_DRIVER флаг типа услуги, что указывает драйвер устройства Windows NT.
SERVICE_FILE_SYSTEM_DRIVER флаг типа услуги, что указывает файловый системный драйвер Windows NT.
SERVICE_INTERACTIVE_PROCESS флаг, который указывает процесс услуги Win32, который может взаимодействовать с настольной системой.


dwStartType

Определяется когда, чтобы запускать услугу. Одна из следующих величин определены:

Значение Величины
SERVICE_BOOT_START Определяет драйвер устройства запущенный загрузчиком операционной системы. Эта величина - в силе только если тип услуги - SERVICE_KERNEL_DRIVER или SERVICE_FILE_SYSTEM_DRIVER.
SERVICE_SYSTEM_START Определяет драйвер устройства запущенный функцией IoInitSystem. Эта величина - в силе только если тип услуги - SERVICE_KERNEL_DRIVER или SERVICE_FILE_SYSTEM_DRIVER.
SERVICE_AUTO_START Определяет драйвер устройства или услуги Win32 запущенные управляющим менеджером услуги автоматически в течение системного запуска.
SERVICE_DEMAND_START Определяет драйвер устройства или услуги Win32 запущенные управляющим менеджером услуги когда процесс называет функцию StartService.
SERVICE_DISABLED Определяет драйвер устройства или услуга Win32, что не может больше запущен.


dwErrorControl

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

Оцените Значение SERVICE_ERROR_IGNORE
Программа запуска (загрузки) регистрирует ошибку но продолжает операцию запуска.
SERVICE_ERROR_NORMAL
Программа запуска регистрирует ошибку и отображает блока сообщения управляющего но продолжает операцию запуска.
SERVICE_ERROR_SEVERE
Программа запуска регистрирует ошибку. Если последний раз-узнавшее, что хорошая конфигурация запускается, операция запуска остается. В противном случае, система перезапущена последний раз-узнавшее-хорошую конфигурацию.
SERVICE_ERROR_CRITICAL
Программа запуска регистрирует ошибку, если возможно. Если последний раз-узнавшее, что хорошая конфигурация запускается, операция запуска терпит неудачу. В противном случае, система перезапущена последний раз-узнавшее хорошую конфигурацию.


lpBinaryPathName

Точки на недействительный расторгнутую строку, которые содержат полностью пригодный путь в двоичный файл услуги.

lpLoadOrderGroup

Точки на недействительный расторгнутую строку, которые называют загрузку, заказывающую группу из которой эта услуга является элементом. Если указатель НЕДЕЙСТВИТЕЛЕН или если он указывает на пустую строку, услуга не принадлежит группе. Регистрация имеет список загрузки, заказывающей, чтобы группы располагали в:

HKEY_LOCAL_MACHINE\System \CurrentControlSet\Control\ServiceGroupOrder.
Программа запуска использует этот список, чтобы загружать группы услуг в определенный порядок что касается других групп в списке. Вы можете установить услугу в группе чтобы другая услуга может зависеть от группы.
Порядок в котором услуга начинает, определен следующими критериями:

1. Порядок групп в загрузке-упорядочении группового списка регистрации. Услуги в группах в загрузке-упорядочении группового списка запущены сначала, сопровожденное услугами в группы не в загрузке-упорядочении группового списка затем обслуживает, что не принадлежать группе.
2. Зависимость услуги указывалась в параметре lpszDependencies и зависимость других услуг зависимом от услуги.



dwTagId

Определяет уникальную величину этикетки для этой услуги в группе определенной параметром lpLoadOrderGroup. Величина нуля указывает, что услуга не назначена этикетка. Вы можете использовать этикетку для упорядочения запуска услуги в пределах группы порядка загрузки определяя вектор порядка этикетки в регистрации расположенной в:

HKEY_LOCAL_MACHINE\System\CurrentControlSet \Control\GroupOrderList
Этикетки только оценены для SERVICE_KERNEL_DRIVER и услуги типа SERVICE_FILE_SYSTEM_DRIVER, что иметь SERVICE_BOOT_START или стартовые типы SERVICE_SYSTEM_START.

lpDependencies

Точки на массив недействительный разделенных имен услуг или загрузки, заказывающие группы, что должно запуститься перед этой услугой. Массив вдвойне недействительный расторгнутый. Если указатель НЕДЕЙСТВИТЕЛЕН или если он указывает на пустую строку, услуга не имеет зависимость. Если групповое имя определено, оно должно быть приписано SC_GROUP_IDENTIFIER символа (определенное в файле WINSVC.H), чтобы различаться это из имени услуги, поскольку услуги и акция групп услуги то же пространство имени. Зависимость в услуге означает, что эта услуга может только запустить если услуга, это зависит от работает. Зависимость в группе означает, что эта услуга может запустить если по крайней мере один элемент группы работает после попытки, чтобы запускать всех участников группы.

lpServiceStartName

Точки на недействительный расторгнутую строку. Если тип услуги - SERVICE_WIN32_OWN_PROCESS или SERVICE_WIN32_SHARE_PROCESS, это зовут учетное имя в форме "DomainName\Username", который процесс услуги зарегистрируется на как когда он работает. Если счет принадлежит встроенной области, " Имя пользователя.\" может быть определено. Если НЕДЕЙСТВИТЕЛЬНЫЙ определен, услуга зарегистрируется на как счет LocalSystem.

Если тип услуги - SERVICE_KERNEL_DRIVER или SERVICE_FILE_SYSTEM_DRIVER, это зовут драйверное объектное имя Windows NT (то есть, \FileSystem\Rdr или \Driver\Xns), которое ввод и выход (В/В) система используется, чтобы загружать драйвер устройства. Если НЕДЕЙСТВИТЕЛЬНЫЙ определен, драйвер является прогоном с по умолчанию объектным именем созданным системой В/В основанным в имени услуги.

lpDisplayName

Точки на недействительный расторгнутую строку, которые должны быть использованы интерфейсом пользавателя программ, чтобы идентифицировать услугу. Эта строка имеет максимальную длину 256 символов. Имя сохранено случай в управляющем менеджере услуги. Дисплейные сравнения имени всегда случай-нечувствительные.



Замечания

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

Смотри Также

ChangeServiceConfig, CreateService, QueryServiceConfig, StartService


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz