次の方法で共有


ChangeServiceConfig2A 関数 (winsvc.h)

サービスのオプションの構成パラメーターを変更します。

構文

BOOL ChangeServiceConfig2A(
  [in]           SC_HANDLE hService,
  [in]           DWORD     dwInfoLevel,
  [in, optional] LPVOID    lpInfo
);

パラメーター

[in] hService

サービスへのハンドル。 このハンドルは、OpenService または CreateService 関数 返され、SERVICE_CHANGE_CONFIG アクセス権が必要です。 詳細については、「サービスのセキュリティとアクセス権の」を参照してください。

サービス コントローラーが SC_ACTION_RESTART アクションを処理する場合は、hService SERVICE_START アクセス権が必要です。

[in] dwInfoLevel

変更する構成情報。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
lpInfo パラメーターは、SERVICE_DELAYED_AUTO_START_INFO 構造体へのポインターです。

Windows Server 2003 および Windows XP: この値はサポートされていません。

SERVICE_CONFIG_DESCRIPTION
1
lpInfo パラメーターは、SERVICE_DESCRIPTION 構造体へのポインターです。
SERVICE_CONFIG_FAILURE_ACTIONS
2
lpInfo パラメーターは、SERVICE_FAILURE_ACTIONS 構造体へのポインターです。

サービス コントローラーが SC_ACTION_REBOOT アクションを処理する場合、呼び出し元はSE_SHUTDOWN_NAME 特権を持っている必要があります。 詳細については、「特別な特権を使用した実行 」を参照してください。

SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
lpInfo パラメーターは、SERVICE_FAILURE_ACTIONS_FLAG 構造体へのポインターです。

Windows Server 2003 および Windows XP: この値はサポートされていません。

SERVICE_CONFIG_PREFERRED_NODE
9
lpInfo パラメーターは、SERVICE_PREFERRED_NODE_INFO 構造体へのポインターです。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
lpInfo パラメーターは、SERVICE_PRESHUTDOWN_INFO 構造体へのポインターです。

Windows Server 2003 および Windows XP: この値はサポートされていません。

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
lpInfo パラメーターは、SERVICE_REQUIRED_PRIVILEGES_INFO 構造体へのポインターです。

Windows Server 2003 および Windows XP: この値はサポートされていません。

SERVICE_CONFIG_SERVICE_SID_INFO
5
lpInfo パラメーターは、SERVICE_SID_INFO 構造体へのポインターです。
SERVICE_CONFIG_TRIGGER_INFO
8
lpInfo パラメーターは、SERVICE_TRIGGER_INFO 構造体へのポインターです。 この値は、ChangeServiceConfig2の ANSI バージョンではサポートされていません。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は、Windows Server 2008 R2 までサポートされていません。

SERVICE_CONFIG_LAUNCH_PROTECTED
12
lpInfo パラメーターは、SERVICE_LAUNCH_PROTECTED_INFO 構造体のポインターです。
この値は Windows 8.1 以降でサポートされています。
 

[in, optional] lpInfo

構成情報に設定する新しい値へのポインター。 このデータの形式は、dwInfoLevel パラメーターの値によって異なります。 この値が NULL場合、情報は変更されません。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

ChangeServiceConfig2 関数は、サービス コントロール マネージャー データベース内の指定されたサービスのオプションの構成情報を変更します。 現在の省略可能な構成情報は、QueryServiceConfig2 関数を使用して取得できます。

サービス コントロール マネージャーのプロセスを共有するサービスの SERVICE_CONFIG_FAILURE_ACTIONS 値を設定することはできません。 これには、実行可能イメージが "Services.exe" であるすべてのサービスが含まれます。

ChangeServiceConfig 関数と QueryServiceConfig 関数 使用して、追加の構成情報の変更とクエリを実行できます。

サービスがエラーで終了した後に再起動するように構成されている場合、サービス 制御マネージャーは、指定された時間遅延後に発生する再起動アクションをキューに入れます。 キューに登録された再起動アクションを取り消すことはできません。 キューに登録された再起動アクションが発生する前にサービスを手動で再起動してから停止した場合、時間の遅延が経過すると、サービスは予期せず再起動します。 サービスが再起動されないようにするには、サービスを明示的に無効にする必要があります。

SERVICE_CONFIG_LAUNCH_PROTECTED 値を使用して、保護されたサービスを起動できます。 保護されたサービスを起動するには、サービスに特別な証明書を使用して署名する必要があります。

SERVICE_CONFIG_LAUNCH_PROTECTED例:

SERVICE_LAUNCH_PROTECTED_INFO Info;
SC_HANDLE hService;

Info.dwLaunchProtected = SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT;

hService = CreateService (...);

if (ChangeServiceConfig2(hService, 
                        SERVICE_CONFIG_LAUNCH_PROTECTED,
                        &Info) == FALSE)
{
    Result = GetLastError();
}

例については、「サービスの構成の変更」を参照してください。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winsvc.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

ChangeServiceConfig の

CreateService の

OpenService

QueryServiceConfig

QueryServiceConfig2

QueryServiceDynamicInformation の

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

サービス構成

サービス関数の