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

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winsvc.h (Windows.h を含む)
Library 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

サービス構成

サービス関数