PHP 8.4.1 Released!

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

Win32Service サービス型のビットマスク
定数 説明
WIN32_SERVICE_WIN32_OWN_PROCESS 0x00000010 サービスは自分のプロセスで動作します。
WIN32_SERVICE_INTERACTIVE_PROCESS 0x00000100 サービスはデスクトップとのやりとりができます。このオプションは、Windows Vista 以降では使えません。
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE 0x00000110j サービスは自分のプロセスで動作し、デスクトップとのやりとりができます。このオプションは、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_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, and Windows XP/2000 では、この制御コードはサポートされていません。
WIN32_SERVICE_ACCEPT_TRIGGEREVENT 0x00000400 サービスの登録イベントが起きた場合にサービスに通知します。 これによって、システムは WIN32_SERVICE_CONTROL_TRIGGEREVENT 通知をサービスに送信できるようになります。 Windows Server 2008, Windows Vista, Windows Server 2003, and 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 指定したサービス状況構造体が無効です。
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_STOPPEDWIN32_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 エラーはありません。
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 ただちに実行しなければならないような、時間制約の厳しいプロセス。 このプロセスのスレッドは、優先度クラスが NORMAL あるいは IDLE であるすべてのプロセスのスレッドを先取りします。 このクラスを使う例はタスクリストです。 タスクリストは、ユーザーが呼び出したときは OS の負荷にかかわらずすぐに反応しなければなりません。 この優先度クラスを使うときには細心の注意が必要です。 この優先度クラスのアプリケーションは CPU をほぼすべて使い切ってしまうこともあるからです。
WIN32_IDLE_PRIORITY_CLASS 0x00000040 システムがアイドル状態のときにだけスレッドが実行されるプロセス。 より優先度クラスの高いプロセスが実行中の場合は、 そちらのスレッドが優先的に実行されます。 このクラスを使う例はスクリーンセーバーです。 この優先度クラスは、子プロセスにも引き継がれます。
WIN32_NORMAL_PRIORITY_CLASS 0x00000020 特別なスケジューリングが不要なプロセス。
WIN32_REALTIME_PRIORITY_CLASS 0x00000100 可能な限り優先度を高くするプロセス。 このプロセスのスレッドは、他のすべてのプロセスのスレッドを先取りします。 重要なタスクをこなす OS のプロセスであっても例外ではありません。 リアルタイムプロセスを非常に短い間隔で実行させると、 ディスクキャッシュがフラッシュされなくなったり マウスが反応しなくなったりすることがあり得ます。
Win32 リカバリアクション
定数 説明
WIN32_SC_ACTION_NONE 0x00000000 アクションを実行しません。
WIN32_SC_ACTION_RESTART 0x00000001 サービスを再起動します。
WIN32_SC_ACTION_REBOOT 0x00000002 サーバーを再起動します。
WIN32_SC_ACTION_RUN_COMMAND 0x00000003 コマンドを実行します。
Win32 サービスの情報
定数 説明
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 rights
定数 説明
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 Include rights: WIN32_STANDARD_RIGHTS_READ, WIN32_SERVICE_QUERY_CONFIG, WIN32_SERVICE_QUERY_STATUS, WIN32_SERVICE_INTERROGATE, WIN32_SERVICE_ENUMERATE_DEPENDENTS
WIN32_GENERIC_WRITE Include rights: WIN32_STANDARD_RIGHTS_WRITE, WIN32_SERVICE_CHANGE_CONFIG
WIN32_GENERIC_EXECUTE Include rights: WIN32_STANDARD_RIGHTS_EXECUTE, WIN32_SERVICE_START, WIN32_SERVICE_STOP, WIN32_SERVICE_PAUSE_CONTINUE, WIN32_SERVICE_USER_DEFINED_CONTROL
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top