次の方法で共有


QueryServiceConfigW 関数 (winsvc.h)

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

構文

BOOL QueryServiceConfigW(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGW 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

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

関連項目

ChangeServiceConfig の

CreateService の

OpenService

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation の

QueryServiceObjectSecurity

サービス構成

サービス関数の