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
照会する構成情報。 このパラメーターには、次の値のいずれかを指定できます。
値 | 説明 |
---|---|
|
lpInfo パラメーターは、SERVICE_DELAYED_AUTO_START_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。 |
|
lpBuffer パラメーターは、SERVICE_DESCRIPTION構造体へのポインターです。 |
|
lpBuffer パラメーターは、SERVICE_FAILURE_ACTIONS構造体へのポインターです。 |
|
lpInfo パラメーターは、SERVICE_FAILURE_ACTIONS_FLAG構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。 |
|
lpInfo パラメーターは、SERVICE_PREFERRED_NODE_INFO構造体へのポインターです。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。 |
|
lpInfo パラメーターは、SERVICE_PRESHUTDOWN_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。 |
|
lpInfo パラメーターは、SERVICE_REQUIRED_PRIVILEGES_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。 |
|
lpInfo パラメーターは、SERVICE_SID_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。 |
|
lpInfo パラメーターは、SERVICE_TRIGGER_INFO構造体へのポインターです。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。 |
|
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 を呼び出します。
サービス コントロール マネージャーでは、次のエラー コードを設定できます。 その他は、サービス コントロール マネージャーによって呼び出されるレジストリ関数によって設定できます。
リターン コード | 説明 |
---|---|
|
ハンドルには 、SERVICE_QUERY_CONFIG アクセス権がありません。 |
|
lpBuffer バッファーに収まるよりも多くのサービス構成情報があります。 すべての情報を取得するために必要なバイト数は 、pcbBytesNeeded パラメーターで返されます。 lpBuffer に書き込まれるものはありません。 |
|
指定されたハンドルが無効です。 |
解説
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 |
関連項目
QueryServiceDynamicInformation
SERVICE_DELAYED_AUTO_START_INFO