PHPのお勉強!

PHP TOP

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが 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 サービス制御マネージャーデータベースへのハンドルが無効です。