GetServiceDisplayName功能获取与特定服务名称相关联的显示名称。服务名称与服务的注册表项名称相同。
BOOL GetServiceDisplayName(
SC_HANDLE 【hSCManager】, | //处理服务控制管理器数据库 |
LPCTSTR 【lpServiceName】, | //服务名称 |
LPTSTR 【lpDisplayName】, | //缓冲区来接收服务的显示名称 |
LPDWORD 【lpcchBuffer】 | //显示名称缓冲区和显示名称的大小 |
); |
参数
【hSCManager】
处理机器的服务控制管理器数据库。此参数是由OpenSCManager函数返回的RPC服务器句柄。
【lpServiceName】
指向以null结尾的服务名称字符串。该名称与服务的注册表项名称相同。
【lpDisplayName】
指向功能将服务显示名称存储为空终止字符串的缓冲区。如果函数失败,该缓冲区将包含一个空字符串。
【lpcchBuffer】
指向DWORD,其中包含【lpDisplayName】指向的缓冲区大小(以字符为单位)。当函数返回时,此DWORD包含服务显示名称的大小(字符),不包括NULL终止符。
如果【lpDisplayName】指向的缓冲区太小,不能包含显示名称,则该函数不会将数据存储到其中。当函数返回时,【lpcchBuffer】指向的DWORD包含服务显示名称的大小(不包括NULL终止符)。
返回值
如果函数成功,则返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
有两个服务名称:服务名称,它是注册表“服务”部分中服务的密钥的实际名称,以及更加用户友好的显示名称,它们出现在“服务控制面板”应用程序中,并与{989796073 }命令。GetServiceDisplayName和GetServiceKeyName函数让应用程序将其中一个名称映射到另一个。应用程序将服务的注册表项名称传递给GetServiceDisplayName,并获取该服务的用户友好的显示名称。应用程序将服务的显示名称传递给GetServiceKeyName,并获取该服务的注册表项名称。
也可以看看