phpday 2025 - Call For Papers

Предопределённые константы

Модуль определяет перечисленные константы и открывает доступ к константам только тогда, когда модуль либо собрали в PHP, либо динамически загрузили во время исполнения кода.

Битовые маски типа службы Win32Service
Константа Значение Описание
WIN32_SERVICE_WIN32_OWN_PROCESS 0x00000010 Служба работает в своём собственном процессе.
WIN32_SERVICE_INTERACTIVE_PROCESS 0x00000100 Служба может взаимодействовать с рабочим столом. Эта опция недоступна в Windows Vista и более поздних.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE 0x00000110 Служба работает в своём собственном процессе и может взаимодействовать с рабочим столом. Эта опция недоступна в Windows Vista и более поздних.
Константы статуса службы Win32Service
Константа Значение Описание
WIN32_SERVICE_CONTINUE_PENDING 0x00000005 Служба в ожидании выхода из состояния паузы.
WIN32_SERVICE_PAUSE_PENDING 0x00000006 Служба ожидает перехода в состояние паузы.
WIN32_SERVICE_PAUSED 0x00000007 Служба в состоянии паузы.
WIN32_SERVICE_RUNNING 0x00000004 Службу запустили.
WIN32_SERVICE_START_PENDING 0x00000002 Служба стартует.
WIN32_SERVICE_STOP_PENDING 0x00000003 Служба останавливается.
WIN32_SERVICE_STOPPED 0x00000001 Службу не запустили.
Константы обработки сообщений службы Win32Service
Константа Значение Описание
WIN32_SERVICE_CONTROL_CONTINUE 0x00000003 Оповещает службу, что надо выйти из состояния паузы.
WIN32_SERVICE_CONTROL_DEVICEEVENT 0x0000000B
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
WIN32_SERVICE_CONTROL_INTERROGATE 0x00000004 Оповещает службу, что надо послать информацию по её текущему статусу в менеджер служб.
WIN32_SERVICE_CONTROL_NETBINDADD 0x00000007 Уведомляет сетевую службу о наличии нового компонента для привязки.
WIN32_SERVICE_CONTROL_NETBINDDISABLE 0x0000000A Уведомляет сетевую службу о том, что одна из её привязок отключена.
WIN32_SERVICE_CONTROL_NETBINDENABLE 0x00000009 Уведомляет сетевую службу о том, что отключённая привязка включена.
WIN32_SERVICE_CONTROL_NETBINDREMOVE 0x00000008 Уведомляет сетевую службу о том, что компонент для привязки был удалён.
WIN32_SERVICE_CONTROL_PARAMCHANGE 0x00000006 Уведомляет службу о том, что её стартовые параметры изменились.
WIN32_SERVICE_CONTROL_PAUSE 0x00000002 Оповещает службу, что требуется перейти в режим паузы.
WIN32_SERVICE_CONTROL_POWEREVENT 0x0000000D
WIN32_SERVICE_CONTROL_PRESHUTDOWN 0x0000000F Оповещает службу, что система останавливается. Служба, которая обрабатывает такое сообщение, блокирует остановку системы до момента остановки службы или до превышения времени ожидания. Это значение не поддерживается ОС Windows Server 2003 и Windows XP/2000.
WIN32_SERVICE_CONTROL_SESSIONCHANGE 0x0000000E
WIN32_SERVICE_CONTROL_SHUTDOWN 0x00000005 Оповещает службу, что система останавливается, а службе требуется выполнить корректную остановку. Служба, которая принимает такое сообщение, должна корректно завершить свои процессы. Менеджер служб отправляет такое сообщение, а затем прекращает отправлять сообщения службе.
WIN32_SERVICE_CONTROL_STOP 0x00000001 Оповещает службу, что требуется остановиться.
Принимаемые битовые маски обработки сообщений службы Win32Service
Константа Значение Описание
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020 Сервис уведомлен о том, что аппаратную конфигурацию компьютера изменили. Это разрешает системе отправить службе уведомление WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE.
WIN32_SERVICE_ACCEPT_NETBINDCHANGE 0x00000010 Служба — сетевой компонент, который принимает изменения в своей привязке без необходимости остановки и перезапуска. Этот управляющий флаг разрешает службе принимать следующие уведомления: WIN32_SERVICE_CONTROL_NETBINDADD, WIN32_SERVICE_CONTROL_NETBINDREMOVE, WIN32_SERVICE_CONTROL_NETBINDENABLE и WIN32_SERVICE_CONTROL_NETBINDDISABLE.
WIN32_SERVICE_ACCEPT_PARAMCHANGE 0x00000008 Служба умеет перечитывать стартовые параметры без обязательных остановки и перезапуска. Этот управляющий флаг разрешает службе принимать следующие уведомления: WIN32_SERVICE_CONTROL_PARAMCHANGE.
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002 Службу разрешается приостанавливать и возобновлять. Этот код разрешает службе принимать сообщения WIN32_SERVICE_CONTROL_PAUSE и WIN32_SERVICE_CONTROL_CONTINUE.
WIN32_SERVICE_ACCEPT_POWEREVENT 0x00000040 Службу оповещают при изменении статуса электроснабжения. Разрешает системе отправлять службе уведомление WIN32_SERVICE_CONTROL_POWEREVENT.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN 0x00000100 Служба умеет выполнять задачи при остановке системы. Этот код разрешает службе принимать сообщения WIN32_SERVICE_CONTROL_PRESHUTDOWN. Это значение не поддерживается ОС Windows Server 2003 и Windows XP/2000.
WIN32_SERVICE_ACCEPT_SESSIONCHANGE 0x00000080 Сервис оповещается при изменении статуса сессии на компьютере. Разрешает системе отправлять службе уведомление WIN32_SERVICE_CONTROL_SESSIONCHANGE. Не поддерживается в ОС Windows 2000.
WIN32_SERVICE_ACCEPT_SHUTDOWN 0x00000004 Службу требуется оповестить об остановке системы. Этот код разрешает службе принимать сообщения WIN32_SERVICE_CONTROL_SHUTDOWN.
WIN32_SERVICE_ACCEPT_STOP 0x00000001 Службу разрешается остановить. Этот код разрешает службе принимать сообщения WIN32_SERVICE_CONTROL_STOP.
WIN32_SERVICE_ACCEPT_TIMECHANGE 0x00000200 Служба оповещается, когда изменилось системное время. Разрешает системе посылать службе оповещение WIN32_SERVICE_CONTROL_TIMECHANGE. В Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP/2000 этот управляющий код не используется.
WIN32_SERVICE_ACCEPT_TRIGGEREVENT 0x00000400 Служба уведомляется, когда происходит событие, для которого её зарегистрировали. Разрешает системе отправлять службе оповещение WIN32_SERVICE_CONTROL_TRIGGEREVENT. В Windows Server 2008, Windows Vista, Windows Server 2003, и Windows XP/2000 этот управляющий код не используется.
Константы типа запуска службы Win32Service
Константа Значение Описание
WIN32_SERVICE_BOOT_START 0x00000000 Драйвер устройства запускается системным загрузчиком. Это значение корректно только для служб драйверов.
WIN32_SERVICE_SYSTEM_START 0x00000001 Драйвер устройства запускается функцией IoInitSystem. Это значение корректно только для служб драйверов.
WIN32_SERVICE_AUTO_START 0x00000002 Служба запускается автоматически при запуске системы.
WIN32_SERVICE_DEMAND_START 0x00000003 Сервис стартует автоматически, если какой-либо процесс вызвал функцию StartService.
WIN32_SERVICE_DISABLED 0x00000004 Службу нельзя запустить. Попытка запуска службы вызовет ошибку WIN32_ERROR_SERVICE_DISABLED.
Константы управления ошибками службы Win32Service
Константа Значение Описание
WIN32_SERVICE_ERROR_IGNORE 0x00000000 Запускающаяся программа игнорирует ошибки и продолжает запускаться.
WIN32_SERVICE_ERROR_NORMAL 0x00000001 Запускающаяся программа записывает ошибку в журнал ошибок, но продолжает запускаться.
WIN32_SERVICE_ERROR_SEVERE 0x00000002 Записывать ошибки старта программы в журнал событий. Процесс запуска продолжится, если запускается последняя известная хорошая конфигурация. В противном случае система перезапустится с последней известной хорошей конфигурацией.
WIN32_SERVICE_ERROR_CRITICAL 0x00000003 Записывать ошибки старта программы в лог событий, если возможно. Процесс запуска прекратится, если запускается последняя известная хорошая конфигурация. В противном случае система перезапустится с последней известной хорошей конфигурацией.
Константы флагов сервиса Win32Service
Константа Значение Описание
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS 0x00000001 Служба выполняется в системном процессе, который постоянно активен.

Замечание:

С Win32Service 1.0.0 эти константы больше не используются.

Коды ошибок службы Win32Service
Константа Значение Описание
WIN32_ERROR_ACCESS_DENIED 0x00000005 У обработчика базы данных SCM нет прав доступа, которые соответствуют операции.
WIN32_ERROR_CIRCULAR_DEPENDENCY 0x00000423 Указали циклическую зависимость служб.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST 0x00000429 База данных, которую указали, не существует.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING 0x0000041B Службу нельзя остановить, поскольку от неё зависит другая запущенная служба.
WIN32_ERROR_DUPLICATE_SERVICE_NAME 0x00000436 Отображаемое имя уже существует в базе данных диспетчера служб либо в качестве имени службы, либо как другое отображаемое имя.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 0x00000427 Эта ошибка возвращается, если программа запускается как консольное приложение, а не как служба. Если программа выполняется как консольное приложение в целях отладки, структурируйте её так, чтобы код, специфичный для служб, не вызывался.
WIN32_ERROR_INSUFFICIENT_BUFFER 0x0000007A Буфер слишком мал для структуры состояния службы. В структуру не будет ничего записано.
WIN32_ERROR_INVALID_DATA 0x0000000D Указали некорректную структуру состояния службы.
WIN32_ERROR_INVALID_HANDLE 0x00000006 Обработчик для заданной базы данных диспетчера управления службами недействителен.
WIN32_ERROR_INVALID_LEVEL 0x0000007C Параметр InfoLevel содержит неподдерживаемое значение.
WIN32_ERROR_INVALID_NAME 0x0000007B Заданное имя службы некорректно.
WIN32_ERROR_INVALID_PARAMETER 0x00000057 Заданный параметр некорректен.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT 0x00000421 Имя аккаунта пользователя, которое указали в параметре user, отсутствует. Смотрите описание функции win32_create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL 0x0000041C Запрошенный контрольный код недействителен или неприемлем для службы.
WIN32_ERROR_PATH_NOT_FOUND 0x00000003 Исполняемый файл службы не найден.
WIN32_ERROR_SERVICE_ALREADY_RUNNING 0x00000420 Экземпляр службы уже запустили.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL 0x00000425 Запрошенный управляющий код нельзя послать службе, поскольку статус службы WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING или WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED 0x0000041F База данных заблокирована.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED 0x00000433 Служба зависит от службы, которой нет или которую отметили для удаления.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL 0x0000042C Служба зависит от другой службы, которая не может запуститься.
WIN32_ERROR_SERVICE_DISABLED 0x00000422 Служба запрещена.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST 0x00000424 Заданную службу не установили.
WIN32_ERROR_SERVICE_EXISTS 0x00000431 Заданная служба уже есть в базе данных.
WIN32_ERROR_SERVICE_LOGON_FAILED 0x0000042D Служба не запускается из-за проблем авторизации. Такая ошибка возникает, если службу настроили на запуск под учётной записью, у которой нет прав запускаться как службе (Log on as a service).
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE 0x00000430 Заданную службу уже пометили для удаления.
WIN32_ERROR_SERVICE_NO_THREAD 0x0000041E Для службы нельзя создать поток.
WIN32_ERROR_SERVICE_NOT_ACTIVE 0x00000426 Службу не запустили.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT 0x0000041D Процесс службы запустили, но он не вызывал функцию StartServiceCtrlDispatcher, или поток, который вызвал функцию StartServiceCtrlDispatcher, заблокировала функция-обработчик управления.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS 0x0000045B Система останавливается; эту функцию нельзя вызвать.
WIN32_ERROR_SERVICE_SPECIFIC_ERROR 0x0000042A Служба вернула свой код ошибки.
WIN32_NO_ERROR 0x00000000 Ошибки не возникали.
Базовые классы приоритетов службы Win32Service
Константа Значение Описание
WIN32_ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 Приоритет процесса выше WIN32_NORMAL_PRIORITY_CLASS, но ниже WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS 0x00004000 Приоритет процесса выше WIN32_IDLE_PRIORITY_CLASS, но ниже WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS 0x00000080 Процесс выполняет критичную по времени задачу и его требуется запустить немедленно. Потоки этого процесса опережают потоки обычных и ожидающих процессов. Например, «Диспетчер задач», который должен откликаться настолько быстро, насколько возможно. Будьте крайне осторожны с этим приоритетом, поскольку приложения, которые с ним работают, исчерпают почти все процессорные ресурсы.
WIN32_IDLE_PRIORITY_CLASS 0x00000040 Процессы, чьи потоки работают только когда система находится в ожидании. Потоки этих процессов уступают потокам всех остальных процессов, запущенных с более высоким приоритетом. Например, «Хранитель экрана». Этот уровень приоритета наследуется каждым потомком процесса.
WIN32_NORMAL_PRIORITY_CLASS 0x00000020 Процесс без каких-либо особых потребностей в приоритизации
WIN32_REALTIME_PRIORITY_CLASS 0x00000100 Самый высокий приоритет. Потоки таких процессов опережают потоки остальных процессов, включая процессы операционной системы, которые выполняют важные задачи. Например, процесс реального времени, который выполняется с высокой частотой, иногда приводит к тому, что ОС перестанет очищать дисковые кеши или мышь перестанет реагировать на перемещение.
Действия при восстановлении службы Win32Service
Константа Значение Описание
WIN32_SC_ACTION_NONE 0x00000000 Никаких действий.
WIN32_SC_ACTION_RESTART 0x00000001 Перезапуск сервиса.
WIN32_SC_ACTION_REBOOT 0x00000002 Перезапуск сервера.
WIN32_SC_ACTION_RUN_COMMAND 0x00000003 Выполнение команды.
Информационные константы службы Win32Service
Константа Значение Описание
WIN32_INFO_SERVICE "service"
WIN32_INFO_DISPLAY "display"
WIN32_INFO_USER "user"
WIN32_INFO_PASSWORD "password"
WIN32_INFO_PATH "path"
WIN32_INFO_PARAMS "params"
WIN32_INFO_DESCRIPTION "description"
WIN32_INFO_START_TYPE "start_type"
WIN32_INFO_LOAD_ORDER "load_order"
WIN32_INFO_SVC_TYPE "svc_type"
WIN32_INFO_ERROR_CONTROL "error_control"
WIN32_INFO_DELAYED_START "delayed_start"
WIN32_INFO_BASE_PRIORITY "base_priority"
WIN32_INFO_DEPENDENCIES "dependencies"
WIN32_INFO_RECOVERY_DELAY "recovery_delay"
WIN32_INFO_RECOVERY_ACTION_1 "recovery_action_1"
WIN32_INFO_RECOVERY_ACTION_2 "recovery_action_2"
WIN32_INFO_RECOVERY_ACTION_3 "recovery_action_3"
WIN32_INFO_RECOVERY_RESET_PERIOD "recovery_reset_period"
INFO_RECOVERY_ENABLED "recovery_enabled"
WIN32_INFO_RECOVERY_REBOOT_MSG "recovery_reboot_msg"
WIN32_INFO_RECOVERY_COMMAND "recovery_command"
Константы прав доступа службы Win32Service
Константа Значение Описание
WIN32_SERVICE_ALL_ACCESS 0x000F003F
WIN32_SERVICE_CHANGE_CONFIG 0x00000002
WIN32_SERVICE_ENUMERATE_DEPENDENTS 0x00000008
WIN32_SERVICE_INTERROGATE 0x00000080
WIN32_SERVICE_PAUSE_CONTINUE 0x00000040
WIN32_SERVICE_QUERY_CONFIG 0x00000001
WIN32_SERVICE_QUERY_STATUS 0x00000004
WIN32_SERVICE_START 0x00000010
WIN32_SERVICE_STOP 0x00000020
WIN32_SERVICE_USER_DEFINED_CONTROL 0x00000100
WIN32_ACCESS_SYSTEM_SECURITY 0x00001000
WIN32_DELETE 0x00010000
WIN32_READ_CONTROL 0x00020000
WIN32_WRITE_DAC 0x00040000
WIN32_WRITE_OWNER 0x00080000
WIN32_GENERIC_READ Включает права: WIN32_STANDARD_RIGHTS_READ, WIN32_SERVICE_QUERY_CONFIG, WIN32_SERVICE_QUERY_STATUS, WIN32_SERVICE_INTERROGATE, WIN32_SERVICE_ENUMERATE_DEPENDENTS
WIN32_GENERIC_WRITE Включает права: WIN32_STANDARD_RIGHTS_WRITE, WIN32_SERVICE_CHANGE_CONFIG
WIN32_GENERIC_EXECUTE Включает права: WIN32_STANDARD_RIGHTS_EXECUTE, WIN32_SERVICE_START, WIN32_SERVICE_STOP, WIN32_SERVICE_PAUSE_CONTINUE, WIN32_SERVICE_USER_DEFINED_CONTROL
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top