以下常量由此扩展定义,并且只有在将扩展编译到 PHP 中或在运行时动态加载后才可用。
常量 | 值 | 描述 |
---|---|---|
WIN32_SERVICE_WIN32_OWN_PROCESS |
0x00000010 | 服务在其自己的进程中运行。 |
WIN32_SERVICE_INTERACTIVE_PROCESS |
0x00000100 | 服务可以与桌面交互。此选项在 Windows Vista 或更高版本上不可用。 |
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE |
0x00000110 | 服务在其自己的进程中运行,并且可以与桌面交互。此选项在 Windows Vista 或更高版本上不可用。 |
常量 | 值 | 描述 |
---|---|---|
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 | 服务未运行。 |
常量 | 值 | 描述 |
---|---|---|
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 | 通知服务系统正在关闭,以便服务可以执行清理任务。如果服务接受此控制代码,则必须在其执行清理任务后停止。SCM 发送此控制代码后,将不会向服务发送其他控制代码。 |
WIN32_SERVICE_CONTROL_STOP |
0x00000001 | 通知服务应停止。 |
常量 | 值 | 描述 |
---|---|---|
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:不支持此控制代码。 |
常量 | 值 | 描述 |
---|---|---|
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 。 |
常量 | 值 | 描述 |
---|---|---|
WIN32_SERVICE_ERROR_IGNORE |
0x00000000 | 启动程序忽略错误并继续启动操作。 |
WIN32_SERVICE_ERROR_NORMAL |
0x00000001 | 启动程序将错误记录在事件日志中,但继续启动操作。 |
WIN32_SERVICE_ERROR_SEVERE |
0x00000002 | 启动程序将错误记录在事件日志中。如果正在启动最后一次已知良好的配置,则启动操作将继续。否则,系统将使用最后一次已知良好的配置重新启动。 |
WIN32_SERVICE_ERROR_CRITICAL |
0x00000003 | 启动程序尽可能地将错误记录在事件日志中。如果正在启动最后一次已知良好的配置,则启动操作将失败。否则,系统将使用最后一次已知良好的配置重新启动。 |
常量 | 值 | 描述 |
---|---|---|
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS |
0x00000001 | 服务在必须始终运行的系统进程中运行。 |
注意:
这些常量从 Win32Service 1.0.0 开始不再使用。
常量 | 值 | 描述 |
---|---|---|
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 | 指定的 service 状态结构无效。 |
WIN32_ERROR_INVALID_HANDLE |
0x00000006 | 指定的 service 控制管理器数据库的句柄无效。 |
WIN32_ERROR_INVALID_LEVEL |
0x0000007C | InfoLevel 参数包含不支持的值。 |
WIN32_ERROR_INVALID_NAME |
0x0000007B | 指定的 service 名称无效。 |
WIN32_ERROR_INVALID_PARAMETER |
0x00000057 | 指定的参数无效。 |
WIN32_ERROR_INVALID_SERVICE_ACCOUNT |
0x00000421 | 在 user 参数中指定的用户名不存在。请参见 win32_create_service()。 |
WIN32_ERROR_INVALID_SERVICE_CONTROL |
0x0000041C | 请求的控制代码无效,或者对于 service 不可接受。 |
WIN32_ERROR_PATH_NOT_FOUND |
0x00000003 | 找不到 service 二进制文件。 |
WIN32_ERROR_SERVICE_ALREADY_RUNNING |
0x00000420 | service 的一个实例已经在运行。 |
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL |
0x00000425 | 由于 service 的状态为 WIN32_SERVICE_STOPPED 、WIN32_SERVICE_START_PENDING 或 WIN32_SERVICE_STOP_PENDING ,因此无法将请求的控制代码发送到 service。 |
WIN32_ERROR_SERVICE_DATABASE_LOCKED |
0x0000041F | 数据库已锁定。 |
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED |
0x00000433 | 该 service 依赖于一个不存在或已被标记为删除的 service。 |
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL |
0x0000042C | 该 service 依赖于另一个无法启动的 service。 |
WIN32_ERROR_SERVICE_DISABLED |
0x00000422 | 该 service 已被禁用。 |
WIN32_ERROR_SERVICE_DOES_NOT_EXIST |
0x00000424 | 指定的 service 不存在于已安装的 service 中。 |
WIN32_ERROR_SERVICE_EXISTS |
0x00000431 | 指定的 service 已存在于此数据库中。 |
WIN32_ERROR_SERVICE_LOGON_FAILED |
0x0000042D | 该 service 由于登录失败而没有启动。如果该 service 配置为在没有“以服务身份登录”权限的帐户下运行,则会发生此错误。 |
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE |
0x00000430 | 指定的 service 已被标记为删除。 |
WIN32_ERROR_SERVICE_NO_THREAD |
0x0000041E | 无法为该 service 创建线程。 |
WIN32_ERROR_SERVICE_NOT_ACTIVE |
0x00000426 | 该 service 尚未启动。 |
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT |
0x0000041D | 该 service 的进程已启动,但它没有调用 StartServiceCtrlDispatcher,或者调用 StartServiceCtrlDispatcher 的线程可能在控制处理程序函数中被阻塞。 |
WIN32_ERROR_SHUTDOWN_IN_PROGRESS |
0x0000045B | 系统正在关闭;无法调用此函数。 |
WIN32_ERROR_SERVICE_SPECIFIC_ERROR |
0x0000042A | 该 service 已返回一个特定于 service 的错误代码。 |
WIN32_NO_ERROR |
0x00000000 | 没有错误。 |
常量 | 值 | 描述 |
---|---|---|
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 | 执行必须立即执行的时间关键任务的进程。该进程的线程抢占正常或空闲优先级类别进程的线程。例如,任务列表必须在用户调用时快速响应,而不管操作系统上的负载如何。在使用高优先级类别时要格外小心,因为高优先级类别应用程序可以使用几乎所有可用的 CPU 时间。 |
WIN32_IDLE_PRIORITY_CLASS |
0x00000040 | 仅在系统空闲时运行其线程的进程。该进程的线程被任何以更高优先级类别运行的进程的线程抢占。例如,屏幕保护程序。空闲优先级类别由子进程继承。 |
WIN32_NORMAL_PRIORITY_CLASS |
0x00000020 | 没有特殊调度需求的进程。 |
WIN32_REALTIME_PRIORITY_CLASS |
0x00000100 | 具有最高优先级的进程。该进程的线程抢占所有其他进程的线程,包括执行重要任务的操作系统进程。例如,执行时间超过非常短的时间间隔的实时进程会导致磁盘缓存不刷新或导致鼠标无响应。 |
常量 | 值 | 描述 |
---|---|---|
WIN32_SC_ACTION_NONE |
0x00000000 | 无操作。 |
WIN32_SC_ACTION_RESTART |
0x00000001 | 重新启动 service。 |
WIN32_SC_ACTION_REBOOT |
0x00000002 | 重新启动服务器。 |
WIN32_SC_ACTION_RUN_COMMAND |
0x00000003 | 运行命令。 |
常量 | 值 | 描述 |
---|---|---|
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" | |
INFO_LOAD_ORDER |
"load_order" | |
INFO_SVC_TYPE |
"svc_type" | |
INFO_ERROR_CONTROL |
"error_control" | |
INFO_DELAYED_START |
"delayed_start" | |
INFO_BASE_PRIORITY |
"base_priority" | |
INFO_DEPENDENCIES |
"dependencies" | |
INFO_RECOVERY_DELAY |
"recovery_delay" | |
INFO_RECOVERY_ACTION_1 |
"recovery_action_1" | |
INFO_RECOVERY_ACTION_2 |
"recovery_action_2" | |
INFO_RECOVERY_ACTION_3 |
"recovery_action_3" | |
INFO_RECOVERY_RESET_PERIOD |
"recovery_reset_period" | |
INFO_RECOVERY_ENABLED |
"recovery_enabled" | |
INFO_RECOVERY_REBOOT_MSG |
"recovery_reboot_msg" | |
INFO_RECOVERY_COMMAND |
"recovery_command" |