|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
SERVICE_STATUS
The SERVICE_STATUS structure contains information about a service. The ControlService, EnumDependentServices, EnumServicesStatus, and QueryServiceStatus functions use this structure to return information about a service. A service uses this structure in the SetServiceStatus function to report its current status to the service control manager.
typedef struct _SERVICE_STATUS { // ss DWORD dwServiceType; DWORD dwCurrentState; DWORD dwControlsAccepted; DWORD dwWin32ExitCode; DWORD dwServiceSpecificExitCode; DWORD dwCheckPoint; DWORD dwWaitHint; } SERVICE_STATUS, *LPSERVICE_STATUS;
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.
dwCurrentState
Indicates the current state of the service. One of the following values is specified:
Value Meaning SERVICE_STOPPED The service is not running. SERVICE_START_PENDING The service is starting. SERVICE_STOP_PENDING The service is stopping. SERVICE_RUNNING The service is running. SERVICE_CONTINUE_PENDING The service continue is pending. SERVICE_PAUSE_PENDING The service pause is pending. SERVICE_PAUSED The service is paused.
dwControlsAccepted
Specifies the control codes that the service will accept and process. A user interface process can control a service by specifying a control command in the ControlService function. By default, all services accept the SERVICE_CONTROL_INTERROGATE value. Any or all of the following flags can be specified to enable the other control codes.
Value Meaning SERVICE_ACCEPT_STOP The service can be stopped. This enables the SERVICE_CONTROL_STOP value. SERVICE_ACCEPT_PAUSE_CONTINUE The service can be paused and continued. This enables the SERVICE_CONTROL_PAUSE and SERVICE_CONTROL_CONTINUE values. SERVICE_ACCEPT_SHUTDOWN The service is notified when system shutdown occurs. This enables the system to send a SERVICE_CONTROL_SHUTDOWN value to the service. The ControlService function cannot send this control code.
dwWin32ExitCode
Specifies a Win32 error code that the service uses to report an error that occurs when it is starting or stopping. To return an error code specific to the service, the service must set this value to ERROR_SERVICE_SPECIFIC_ERROR to indicate that the dwServiceSpecificExitCode member contains the error code. The service should set this value to NO_ERROR when it is running and on normal termination.
dwServiceSpecificExitCode
Specifies a service specific error code that the service returns when an error occurs while the service is starting or stopping. This value is ignored unless the dwWin32ExitCode member is set to ERROR_SERVICE_SPECIFIC_ERROR.
dwCheckPoint
Specifies a value that the service increments periodically to report its progress during a lengthy start, stop, or continue operation. For example, the service should increment this value as it completes each step of its initialization when it is starting up. The user interface program that invoked the operation on the service uses this value to track the progress of the service during a lengthy operation. This value is not valid and should be zero when the service does not have a start, stop, or continue operation pending.
dwWaitHint
Specifies an estimate of the amount of time, in milliseconds, that the service expects a pending start, stop, or continue operation to take before the service makes its next call to the SetServiceStatus function with either an incremented dwCheckPoint value or a change in dwCurrentState. If the amount of time specified by dwWaitHint passes, and dwCheckPoint has not been incremented, or dwCurrentState has not changed, the service control manager or service control program can assume that an error has occurred.
See Also
ControlService, EnumDependentServices, EnumServicesStatus, QueryServiceStatus, SetServiceStatus
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
SERVICE_STATUS
Структура SERVICE_STATUS содержит информацию об услуге. ControlService, EnumDependentServices, EnumServicesStatus, И использование функций QueryServiceStatus этой структуры, чтобы возвращать информацию об услуге. Услуга использует эту структуру в функции SetServiceStatus, чтобы сообщать свой текущий статус управляющему менеджеру услуги.
typedef struct _SERVICE_STATUS { // ss DWORD dwServiceType; DWORD dwCurrentState; DWORD dwControlsAccepted; DWORD dwWin32ExitCode; DWORD dwServiceSpecificExitCode; DWORD dwCheckPoint; DWORD dwWaitHint; } SERVICE_STATUS, *LPSERVICE_STATUS;
Участники
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, который может взаимодействовать с настольной системой.
dwCurrentState
Указывает текущее состояние услуги. Одна из следующих величин определены:
Значение Величины SERVICE_STOPPED услуга не работает. SERVICE_START_PENDING услуга запускается. SERVICE_STOP_PENDING услуга прекращается. SERVICE_RUNNING услуга работает. SERVICE_CONTINUE_PENDING услуга продолжает рассматривается. SERVICE_PAUSE_PENDING пауза услуги рассматривается. SERVICE_PAUSED услуга остановиться.
dwControlsAccepted
Определяет управляющий кодировать, что услуга примет и обрабатывается. Интерфейс пользавателя процесса может управлять услугой определяя управляющую команду в функции ControlService. По умолчанию, все услуги принимают величину SERVICE_CONTROL_INTERROGATE. Любое или все следующее сигнализирует может быть определено, чтобы приспосабливаться другой управляющий кодировать.
Оцените Значение SERVICE_ACCEPT_STOP Услуга может быть прекратиться. Это приспосабливается величину SERVICE_CONTROL_STOP. SERVICE_ACCEPT_PAUSE_CONTINUE Услуга может быть остановиться и осталась. Это приспосабливается SERVICE_CONTROL_PAUSE и величины SERVICE_CONTROL_CONTINUE. SERVICE_ACCEPT_SHUTDOWN Услуга извещена когда системное выключение происходит. Это позволяет систему, чтобы посылать величину SERVICE_CONTROL_SHUTDOWN в услугу. Функция ControlService не может послать этому управлению код.
dwWin32ExitCode
Определяет код ошибки Win32, что услуга использует, чтобы сообщать ошибку, которая происходит когда это запускает или остановку. Чтобы возвращать код ошибки специфический в услугу, услуга должна установить эту величину на ERROR_SERVICE_SPECIFIC_ERROR, чтобы указывать, что элемент dwServiceSpecificExitCode содержит код ошибки. Услуга должна устанавливать эту величину на NO_ERROR когда она выполняет и на нормальном завершении.
dwServiceSpecificExitCode
Определяет код специфической ошибки услуги, что услуга возвращает когда ошибка происходит тогда как услуга запускает или остановку. Эта величина проигнорирована если элемент dwWin32ExitCode не установлен на ERROR_SERVICE_SPECIFIC_ERROR.
dwCheckPoint
Определяет величину, что услуга увеличивает периодически, чтобы сообщать свой прогресс в течение длительного начала, останавливать, или продолжать операцию. Например, услуга должна увеличивать эту величину как она завершает каждый шаг своей инициализации когда это запускает. Интерфейс пользавателя программы, который вводил операцию в услугу использует эту величину, чтобы прослеживать прогресс услуги в течение длительной операции. Эта величина недействительна и должна быть нулем когда услуга нет имеет начало, стоп или продолжает операцию рассматривать.
dwWaitHint
Определяет оценку времени, в течение миллисекунд, что услуга ожидает незаконченное начало, останавливает, или продолжает, чтобы требоваться прежде, чем услуга сделает своим следующим вызовом на SetServiceStatus функционировать с увеличенной величиной dwCheckPoint или изменение в dwCurrentState. Если время определенное dwWaitHint передает, и dwCheckPoint не увеличен, или dwCurrentState не изменился, управляющий менеджер услуги или управляющая программа услуги могут допустить что ошибка произошла.
Смотри Также
ControlService, EnumDependentServices, EnumServicesStatus, QueryServiceStatus, SetServiceStatus
|
|
|
|
| |