GetServiceKeyNameA 関数 (winsvc.h)
指定したサービスのサービス名を取得します。
構文
BOOL GetServiceKeyNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpDisplayName,
[out, optional] LPSTR lpServiceName,
[in, out] LPDWORD lpcchBuffer
);
パラメーター
[in] hSCManager
OpenSCManagerによって返される、コンピューターのサービス コントロール マネージャー データベースへのハンドル。
[in] lpDisplayName
サービスの表示名。 この文字列の最大長は 256 文字です。
[out, optional] lpServiceName
サービス名を受け取るバッファーへのポインター。 関数が失敗した場合、このバッファーには空の文字列が含まれます。
この配列の最大サイズは 4K バイトです。 必要なサイズを決定するには、このパラメーターに NULL、lpcchBuffer パラメーターに 0 を指定します。 関数は失敗し、GetLastError
[in, out] lpcchBuffer
lpServiceName
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
備考
サービスには、サービス名と表示名の 2 つの名前があります。 サービス名は、レジストリ内のサービスのキーの名前です。 表示名は、Services コントロール パネル アプリケーションに表示されるわかりやすい名前であり、NET START コマンドで使用されます。 どちらの名前も、CreateService 関数で指定され、ChangeServiceConfig 関数で変更できます。 サービスに指定された情報は、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName レジストリ キーのサービス名と同じ名前のキーに格納されます。
サービス名を表示名にマップするには、GetServiceDisplayName 関数を使用します。 表示名をサービス名にマップするには、GetServiceKeyName 関数を使用します。
手記
winsvc.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetServiceKeyName を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winsvc.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
GetServiceDisplayName を