次の方法で共有


QueryServiceConfig2A 関数 (winsvc.h)

指定したサービスのオプションの構成パラメーターを取得します。

構文

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

パラメーター

[in] hService

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

[in] dwInfoLevel

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

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

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

SERVICE_CONFIG_DESCRIPTION
1
lpBuffer パラメーターは、SERVICE_DESCRIPTION 構造体へのポインターです。
SERVICE_CONFIG_FAILURE_ACTIONS
2
lpBuffer パラメーターは、SERVICE_FAILURE_ACTIONS 構造体へのポインターです。
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 構造体へのポインターです。

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

SERVICE_CONFIG_TRIGGER_INFO
8
lpInfo パラメーターは、SERVICE_TRIGGER_INFO 構造体へのポインターです。

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

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

[out, optional] lpBuffer

サービス構成情報を受け取るバッファーへのポインター。 このデータの形式は、dwInfoLevel パラメーターの値によって異なります。

この配列の最大サイズは 8K バイトです。 必要なサイズを決定するには、このパラメーター NULLcbBufSize パラメーターに 0 を指定します。 この関数は失敗し、GetLastError ERROR_INSUFFICIENT_BUFFERを返します。 pcbBytesNeeded パラメーターは、必要なサイズを受け取ります。

[in] cbBufSize

lpBuffer パラメーターによって指される構造体のサイズ (バイト単位)。

[out] pcbBytesNeeded

関数が ERROR_INSUFFICIENT_BUFFERで失敗した場合に、構成情報を格納するために必要なバイト数を受け取る変数へのポインター。

戻り値

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

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

サービス コントロール マネージャーでは、次のエラー コードを設定できます。 その他は、サービス コントロール マネージャーによって呼び出されるレジストリ関数によって設定できます。

リターン コード 形容
ERROR_ACCESS_DENIED
ハンドルに SERVICE_QUERY_CONFIG アクセス権がありません。
ERROR_INSUFFICIENT_BUFFER
lpBuffer バッファーに収まるよりも多くのサービス構成情報があります。 すべての情報を取得するために必要なバイト数は、pcbBytesNeeded パラメーターで返されます。 lpBuffer書き込まれることはありません。
ERROR_INVALID_HANDLE
指定されたハンドルが無効です。

備考

QueryServiceConfig2 関数は、指定されたサービスのサービス コントロール マネージャー データベースに格納されているオプションの構成情報を返します。 この構成情報は、ChangeServiceConfig2 関数を使用して変更できます。

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

例については、「サービスの構成のクエリを実行する」を参照してください。

手記

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

必要条件

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

関連項目

ChangeServiceConfig の

ChangeServiceConfig2

CreateService の

OpenService

QueryServiceConfig

QueryServiceDynamicInformation の

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

サービス構成

サービス関数の