<Return[G]><Top>

GetServiceDisplayName

Declare Function Api_GetServiceDisplayName& Lib "advapi32" Alias "GetServiceDisplayNameA" (ByVal hSCManager&, ByVal lpServiceName$, ByVal lpDisplayName$, lpcchBuffer&)

Declare Function GetServiceDisplayName Lib "advapi32" Alias "GetServiceDisplayNameA" (ByVal hSCManager As Long, ByVal lpServiceName As String, ByVal lpDisplayName As String, lpcchBuffer As Long) As Long

特定のサービスに関連付けられている表示名を取得する。

パラメータ
hSCManager
    [入力] OpenSCManager 関数が返した、サービス制御マネージャのデータベースのハンドルを指定する。
lpServiceName
    [入力] サービス名を表す NULL で終わる文字列へのポインタを指定する。この名前は、サービスに対応するレジストリキー名と同じで

    ある。
lpDisplayName
    [出力] サービスの表示名を受け取るバッファへのポインタを指定する。この関数が失敗すると、このバッファには空文字列が格納され

    る。
lpcchBuffer
    [入出力] lpDisplayName パラメータが指すバッファのサイズを文字数で指定する変数へのポインタを指定する。出力時にこの変数は、

    サービスに対応する表示名のサイズを、終端記号 NULL を除いた文字数で受け取る。
    lpDisplayName が指すバッファが小さすぎて表示名全体を格納できない場合、この関数は表示名をバッファに書き込まない。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    各サービスには、サービス名と表示名の 2 つの名前が割り当てられている。サービス名とは、レジストリ内のサービスに対応するキー名のこ

    とである。表示名とは、コントロールパネルの[サービス]アプリケーションで表示される、ユーザーにとってわかりやすい名前のことであり、

    この名前は NET START コマンドでも使われる。サービス名を表示名に変換するには、GetServiceDisplayName 関数を使う。表示名を

    サービス名に変換するには、GetServiceKeyName 関数を使う。