EnumDependentServicesA 関数 (winsvc.h)
指定されたサービスに依存する各サービスの名前と状態を取得します。つまり、依存サービスを実行するには、指定されたサービスが実行されている必要があります。
構文
BOOL EnumDependentServicesA(
[in] SC_HANDLE hService,
[in] DWORD dwServiceState,
[out, optional] LPENUM_SERVICE_STATUSA lpServices,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded,
[out] LPDWORD lpServicesReturned
);
パラメーター
[in] hService
サービスへのハンドル。 このハンドルは、
[in] dwServiceState
列挙するサービスの状態。 このパラメーターには、次のいずれかの値を指定できます。
[out, optional] lpServices
データベース内の各依存サービスの名前とサービスの状態情報を受け取る ENUM_SERVICE_STATUS 構造体の配列へのポインター。 バッファーは、構造体とメンバーが指す文字列を保持するのに十分な大きさである必要があります。
この配列内のサービスの順序は、サービスの開始順序の逆です。 つまり、配列内の最初のサービスは最後に開始されるサービスであり、配列内の最後のサービスは最初に開始されるサービスです。
この配列の最大サイズは 64,000 バイトです。 必要なサイズを決定するには、このパラメーター NULL、cbBufSize パラメーターに 0 を指定します。 この関数は失敗し、GetLastError
[in] cbBufSize
lpServices パラメーターが指すバッファーのサイズ (バイト単位)。
[out] pcbBytesNeeded
サービス エントリの配列を格納するために必要なバイト数を受け取る変数へのポインター。 この変数は、lpServices が指すバッファーが小さすぎて、関数エラーと ERROR_MORE_DATA エラーによって示される場合にのみ、この値を受け取ります。それ以外の場合、pcbBytesNeeded の内容は未定義です。
[out] lpServicesReturned
返されるサービス エントリの数を受け取る変数へのポインター。
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
次のエラー コードは、サービス コントロール マネージャーによって設定される場合があります。 その他のエラー コードは、サービス コントロール マネージャーによって呼び出されるレジストリ関数によって設定される場合があります。
リターン コード | 形容 |
---|---|
|
ハンドルには、SERVICE_ENUMERATE_DEPENDENTS アクセス権がありません。 |
|
指定されたハンドルが無効です。 |
|
指定されたパラメーターが無効です。 |
|
lpServices が指すバッファーが十分な大きさではありません。 この関数は、lpServicesReturned |
備考
返されるサービス エントリは、開始注文の逆順に並べ替えられます。グループ注文が考慮されます。 依存サービスを停止する必要がある場合は、lpServices バッファーに書き込まれたエントリの順序を使用して、依存サービスを適切な順序で停止できます。
例
例については、「サービスの停止」を参照してください。
手記
winsvc.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EnumDependentServices を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winsvc.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
CreateService の
EnumServicesStatusEx の