QueryServiceConfigA 関数 (winsvc.h)

指定したサービスの構成パラメーターを取得します。 オプションの構成パラメーターは、 QueryServiceConfig2 関数を使用して使用できます。

構文

BOOL QueryServiceConfigA(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
  [in]            DWORD                   cbBufSize,
  [out]           LPDWORD                 pcbBytesNeeded
);

パラメーター

[in] hService

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

[out, optional] lpServiceConfig

サービス構成情報を受け取るバッファーへのポインター。 データの形式は 、QUERY_SERVICE_CONFIG 構造です。

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

[in] cbBufSize

lpServiceConfig パラメーターが指すバッファーのサイズ (バイト単位)。

[out] pcbBytesNeeded

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

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

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

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

注釈

QueryServiceConfig 関数は、特定のサービスのレジストリに保持されているサービス構成情報を返します。 この構成情報は、まず CreateService 関数を使用してサービス制御プログラムによって設定されます。 この情報は、 ChangeServiceConfig 関数を使用してサービス構成プログラムによって更新された可能性があります。

構成情報が最後に変更されたときにサービスが実行されていた場合、 QueryServiceConfig によって返される情報には、サービスの現在の構成は反映されません。 代わりに、次回の実行時にサービスの構成が反映されます。 DisplayName キーはこれに対する例外です。 DisplayName キーが変更されると、サービスが実行されているかどうかに関係なく、すぐに有効になります。

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

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winsvc.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

ChangeServiceConfig

CreateService

OpenService

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation

QueryServiceObjectSecurity

サービス構成

サービス関数