|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Service Startup
To start a service or driver service, the service control program uses the StartService function. The StartService function fails if the database is locked. If this occurs, the service control program should wait a few seconds and call StartService again. It can check the current lock status of the database by calling the QueryServiceLockStatus function.
If the service control program is starting a service, it can use the StartService function to specify an array of arguments to be passed to the service's ServiceMain function. The StartService function returns after a new thread has been created to execute the ServiceMain function. The service control program can retrieve the status of the newly started service in a SERVICE_STATUS structure by calling the QueryServiceStatus function. During initialization, the dwCurrentState member should be SERVICE_START_PENDING. The dwWaitHint member is a time interval, in milliseconds, that indicates how long the service control program should wait before calling QueryServiceStatus again. When the initialization is complete, the service changes dwCurrentState to SERVICE_RUNNING.
If the program is starting a driver service, StartService returns after the device driver has completed its initialization. For more information, see Starting a Service.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Запуск Услуги
Для того, чтобы начинать с услуги или драйверной услуги, управляющая программа услуги использует функцию StartService. Функция StartService терпит неудачу если база данных заперта. Если это происходит, управляющая программа услуги должна ожидать несколько секунд и называть StartService снова. Это может проверить текущий статус блокировки базы данных вызывая функцию QueryServiceLockStatus.
Если управляющая программа услуги начинает с услуги, она может использовать функцию StartService, чтобы определять массив аргументов, которые нужно проходить в функцию услуги ServiceMain. Функция StartService возвращается после того, как новая резьба будет создана, чтобы выполнять функцию ServiceMain. Управляющая программа услуги может извлечь статус вновь начатой услуги в структуру SERVICE_STATUS вызывая функцию QueryServiceStatus. В течение инициализации, элемент dwCurrentState должен быть SERVICE_START_PENDING. Элемент dwWaitHint является интервалом времени, в течение миллисекунд, который указывает сколько управляющая программа услуги должна ожидаться перед вызовом QueryServiceStatus снова. Когда инициализация завершенна, услуга изменяет dwCurrentState на SERVICE_RUNNING.
Если программа начинает с драйверной услуги, StartService возвращается после того, как драйвер устройства завершил свою инициализацию. Более подробно, смотри Начинать с Услуги.
|
|
|
|
| |