SERVICE_CONTROL_STATUS_REASON_PARAMSA構造体 (winsvc.h)
サービス 制御パラメーターが含まれます。
構文
typedef struct _SERVICE_CONTROL_STATUS_REASON_PARAMSA {
DWORD dwReason;
LPSTR pszComment;
SERVICE_STATUS_PROCESS ServiceStatus;
} SERVICE_CONTROL_STATUS_REASON_PARAMSA, *PSERVICE_CONTROL_STATUS_REASON_PARAMSA;
メンバー
dwReason
サービスの状態をSERVICE_CONTROL_STOPに変更する理由。 現在のコントロール コードがSERVICE_CONTROL_STOPされていない場合、このメンバーは無視されます。
このメンバーは、1 つの一般的なコード、1 つの主要な理由コード、および 1 つのマイナー理由コードの組み合わせに設定する必要があります。
一般的な理由コードを次に示します。
値 |
意味 |
- SERVICE_STOP_REASON_FLAG_CUSTOM
- 0x20000000
|
理由コードはユーザーによって定義されます。 このフラグが存在しない場合、理由コードはシステムによって定義されます。 このフラグがシステム理由コードと共に指定されている場合、関数呼び出しは失敗します。
ユーザーは、範囲SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM (0x00400000) からSERVICE_STOP_REASON_MAJOR_MAX_CUSTOM (0x00ff0000) までのカスタムの主な理由コードと、SERVICE_STOP_REASON_MINOR_MIN_CUSTOM (0x00000100) から SERVICE_STOP_REASON_MINOR_MAX_CUSTOM (0x0000FFFF) の範囲のマイナー理由コードを作成できます。
|
- SERVICE_STOP_REASON_FLAG_PLANNED
- 0x40000000
|
サービス停止が計画されました。
|
- SERVICE_STOP_REASON_FLAG_UNPLANNED
- 0x10000000
|
サービス停止は計画されていませんでした。
|
主な理由コードを次に示します。
値 |
意味 |
- SERVICE_STOP_REASON_MAJOR_APPLICATION
- 0x00050000
|
アプリケーションの問題。
|
- SERVICE_STOP_REASON_MAJOR_HARDWARE
- 0x00020000
|
ハードウェアの問題。
|
- SERVICE_STOP_REASON_MAJOR_NONE
- 0x00060000
|
大きな理由はありません。
|
- SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM
- 0x00030000
|
オペレーティング システムの問題。
|
- SERVICE_STOP_REASON_MAJOR_OTHER
- 0x00010000
|
その他の問題。
|
- SERVICE_STOP_REASON_MAJOR_SOFTWARE
- 0x00040000
|
ソフトウェアの問題。
|
小さな理由コードを次に示します。
値 |
意味 |
- SERVICE_STOP_REASON_MINOR_DISK
- 0x00000008
|
[ディスク] を選択する必要があります。
|
- SERVICE_STOP_REASON_MINOR_ENVIRONMENT
- 0x0000000a
|
環境。
|
- SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER
- 0x0000000b
|
ドライバー。
|
- SERVICE_STOP_REASON_MINOR_HUNG
- 0x00000006
|
応答。
|
- SERVICE_STOP_REASON_MINOR_INSTALLATION
- 0x00000003
|
インストールします。
|
- SERVICE_STOP_REASON_MINOR_MAINTENANCE
- 0x00000002
|
メンテナンス。
|
- SERVICE_STOP_REASON_MINOR_MMC
- 0x00000016
|
MMC の問題。
|
- SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY
- 0x00000011
|
ネットワーク接続。
|
- SERVICE_STOP_REASON_MINOR_NETWORKCARD
- 0x00000009
|
ネットワーク カード。
|
- SERVICE_STOP_REASON_MINOR_NONE
- 0x00060000
|
軽微な理由はありません。
|
- SERVICE_STOP_REASON_MINOR_OTHER
- 0x00000001
|
その他の問題。
|
- SERVICE_STOP_REASON_MINOR_OTHERDRIVER
- 0x0000000c
|
その他のドライバー イベント。
|
- SERVICE_STOP_REASON_MINOR_RECONFIG
- 0x00000005
|
再構成。
|
- SERVICE_STOP_REASON_MINOR_SECURITY
- 0x00000010
|
セキュリティの問題。
|
- SERVICE_STOP_REASON_MINOR_SECURITYFIX
- 0x0000000f
|
セキュリティ更新プログラム。
|
- SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL
- 0x00000015
|
セキュリティ更新プログラムのアンインストール。
|
- SERVICE_STOP_REASON_MINOR_SERVICEPACK
- 0x0000000d
|
Service Pack。
|
- SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL
- 0x00000013
|
Service Pack のアンインストール。
|
- SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE
- 0x0000000e
|
ソフトウェア更新プログラム。
|
- SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL
- 0x0000000e
|
ソフトウェア更新プログラムのアンインストール。
|
- SERVICE_STOP_REASON_MINOR_UNSTABLE
- 0x00000007
|
不安定。
|
- SERVICE_STOP_REASON_MINOR_UPGRADE
- 0x00000004
|
[アップグレード]:
|
- SERVICE_STOP_REASON_MINOR_WMI
- 0x00000012
|
WMI の問題。
|
pszComment
サービス停止に関する追加情報を提供する省略可能な文字列。 この文字列は、停止理由コードと共にイベント ログに格納されます。 このメンバーは NULL であるか、終端の null 文字を含む 128 文字未満の有効な文字列である必要があります。
ServiceStatus
最新のサービス状態情報を受け取る SERVICE_STATUS_PROCESS 構造体へのポインター。 返される情報には、サービスがサービス コントロール マネージャーに報告した最新の状態が反映されます。
サービス コントロール マネージャーは、 ControlServiceEx が NO_ERROR、ERROR_INVALID_SERVICE_CONTROL、ERROR_SERVICE_CANNOT_ACCEPT_CTRL、またはERROR_SERVICE_NOT_ACTIVEのいずれかのエラー コードを返す場合にのみ、構造体を入力します。 それ以外の場合、構造体は入力されません。
注意
winsvc.h ヘッダーは、SERVICE_CONTROL_STATUS_REASON_PARAMSをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 |
値 |
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
winsvc.h (Windows.h を含む) |
こちらもご覧ください
ControlServiceEx
SERVICE_STATUS_PROCESS