预定义常量

以下常量由此扩展定义,并且只有在将扩展编译到 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 通知服务系统正在关闭,以便服务可以执行清理任务。如果服务接受此控制代码,则必须在其执行清理任务后停止。SCM 发送此控制代码后,将不会向服务发送其他控制代码。
WIN32_SERVICE_CONTROL_STOP 0x00000001 通知服务应停止。
Win32Service 服务控制消息接受位掩码
常量 描述
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020 当计算机的硬件配置文件发生更改时,会通知服务。这使系统能够向服务发送WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE通知。
WIN32_SERVICE_ACCEPT_NETBINDCHANGE 0x00000010 该服务是网络组件,可以在不停止和重新启动的情况下接受其绑定的更改。此控制代码允许服务接收WIN32_SERVICE_CONTROL_NETBINDADDWIN32_SERVICE_CONTROL_NETBINDREMOVEWIN32_SERVICE_CONTROL_NETBINDENABLEWIN32_SERVICE_CONTROL_NETBINDDISABLE通知。
WIN32_SERVICE_ACCEPT_PARAMCHANGE 0x00000008 服务可以在不停止和重新启动的情况下重新读取其启动参数。此控制代码允许服务接收WIN32_SERVICE_CONTROL_PARAMCHANGE通知。
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002 服务可以暂停和继续。此控制代码允许服务接收WIN32_SERVICE_CONTROL_PAUSEWIN32_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 开始不再使用。

Win32 错误代码
常量 描述
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_STOPPEDWIN32_SERVICE_START_PENDINGWIN32_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 基本优先级类别
常量 描述
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 恢复操作
常量 描述
WIN32_SC_ACTION_NONE 0x00000000 无操作。
WIN32_SC_ACTION_RESTART 0x00000001 重新启动 service。
WIN32_SC_ACTION_REBOOT 0x00000002 重新启动服务器。
WIN32_SC_ACTION_RUN_COMMAND 0x00000003 运行命令。
Win32 Service 信息
常量 描述
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"
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top