SERVICE_FAILURE_ACTIONSA 構造体 (winsvc.h)

サービス コントローラーがサービスの各障害に対して実行する必要があるアクションを表します。 サービスコントローラーにSERVICE_STOPPEDの状態を報告せずにサービスが終了すると、サービスは失敗したと見なされます。

エラー アクションを実行するその他の状況を構成するには、「 SERVICE_FAILURE_ACTIONS_FLAG」を参照してください。

構文

typedef struct _SERVICE_FAILURE_ACTIONSA {
  DWORD     dwResetPeriod;
  LPSTR     lpRebootMsg;
  LPSTR     lpCommand;
  DWORD     cActions;
  SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;

メンバー

dwResetPeriod

失敗がない場合にエラー数を 0 にリセットする時間 (秒単位)。 この値をリセットしないことを示すには、 INFINITE を指定します。

lpRebootMsg

SC_ACTION_REBOOT サービス コントローラーアクションに応答して再起動する前にサーバー ユーザーにブロードキャストするメッセージ。

この値が NULL の場合、再起動メッセージは変更されません。 値が空の文字列 ("") の場合、再起動メッセージは削除され、メッセージはブロードキャストされません。

このメンバーは、次の形式を使用してローカライズされた文字列を指定できます。

@[path]dllname,-strID

識別子 strID を持つ文字列は dllname から読み込まれます。 パス は省略可能です。 詳細については、「 RegLoadMUIString」を参照してください。

Windows Server 2003 および Windows XP: ローカライズされた文字列は、Windows Vista までサポートされません。

lpCommand

SC_ACTION_RUN_COMMAND サービス コントローラー アクションに応答して実行する CreateProcess 関数のプロセスのコマンド ライン。 このプロセスは、サービスと同じアカウントで実行されます。

この値が NULL の場合、コマンドは変更されません。 値が空の文字列 ("") の場合、コマンドは削除され、サービスが失敗してもプログラムは実行されません。

cActions

lpsaActions 配列内の要素の数。

この値が 0 で、 lpsaActions が NULL でない場合、リセット期間とエラー アクションの配列が削除されます。

lpsaActions

SC_ACTION構造体の配列へのポインター。

この値が NULL の場合、 cActions メンバーと dwResetPeriod メンバーは無視されます。

注釈

サービス 制御マネージャーは、システムの起動後に各サービスが失敗した回数をカウントします。 dwResetPeriod 秒間サービスが失敗していない場合、カウントは 0 にリセットされます。 サービスが N回目に失敗すると、サービス コントローラーは lpsaActions 配列の要素 [N-1] で指定されたアクションを実行します。 NcActions より大きい場合、サービス コントローラーは配列内の最後のアクションを繰り返します。

注意

winsvc.h ヘッダーは、SERVICE_FAILURE_ACTIONSをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winsvc.h (Windows.h を含む)

こちらもご覧ください

ChangeServiceConfig2

CreateProcess

QueryServiceConfig2

SC_ACTION

SERVICE_FAILURE_ACTIONS_FLAG