以下常量由此扩展定义,并且只有在扩展已编译到 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 |
指定的服务状态结构无效。 |
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 |
服务由于登录失败而未启动。如果服务配置为在没有“以服务身份登录”权限的帐户下运行,则会发生此错误。 |
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 |
没有错误。 |
常量 | 值 | 描述 |
---|---|---|
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 |
重新启动服务。 |
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" | |
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" | |
WIN32_INFO_RECOVERY_ENABLED |
"recovery_enabled" | |
WIN32_INFO_RECOVERY_REBOOT_MSG |
"recovery_reboot_msg" | |
WIN32_INFO_RECOVERY_COMMAND |
"recovery_command" |
常量 | 值 | 描述 |
---|---|---|
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 |