QueryServiceStatus 関数 (winsvc.h)

指定したサービスの現在の状態を取得します。

この関数は QueryServiceStatusEx 関数に置き換わりました。 QueryServiceStatusEx はQueryServiceStatus が返すのと同じ情報を返し、プロセス識別子とサービスの追加情報を追加します。

構文

BOOL QueryServiceStatus(
  [in]  SC_HANDLE        hService,
  [out] LPSERVICE_STATUS lpServiceStatus
);

パラメーター

[in] hService

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

[out] lpServiceStatus

状態情報を受け取る SERVICE_STATUS 構造体へのポインター。

戻り値

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

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
ハンドルにSERVICE_QUERY_STATUSアクセス権がありません。
ERROR_INVALID_HANDLE
ハンドルが正しくありません。

解説

QueryServiceStatus 関数は、サービス コントロール マネージャーに報告された最新のサービス状態情報を返します。 サービスの状態が変更されたばかりの場合は、サービス コントロール マネージャーがまだ更新されていない可能性があります。

要件

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

関連項目

ControlService

CreateService

OpenService

QueryServiceStatusEx

SERVICE_STATUS

サービス関数

サービスのスタートアップ

SetServiceStatus