The GetServiceKeyName function obtains the service name that is associated with a particular service's display name. The service name is the same as the service's registry key name.
BOOL GetServiceKeyName(
SC_HANDLE hSCManager, | // handle to a service control manager database |
LPCTSTR lpDisplayName, | // the service's display name |
LPTSTR lpServiceName, | // buffer to receive the service name |
LPDWORD lpcchBuffer | // size of service name buffer and service name |
); |
Parameters
hSCManager
Handle to a computer's service control manager database. This parameter is a remote procedure call (RPC) server handle as returned by OpenSCManager.
lpDisplayName
Points to a null-terminated service display name string.
lpServiceName
Points to a buffer into which the function stores the service name as a null-terminated string. If the function fails, this buffer will contain an empty string.
lpcchBuffer
Points to a DWORD that contains the size in characters of the buffer pointed to by the lpServiceName parameter. When the function returns, this DWORD contains the size, in characters, of the service name, excluding the NULL terminator.
If the buffer pointed to by lpServiceName is too small to contain the service name, the function stores no data in it. When the function returns, the DWORD pointed to by lpcchBuffer contains the size, in characters, of the service name, excluding the NULL terminator.
Return Values
If the functions succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
There are two names for a service: the service name, which is the actual name of the service's key in the registry's Services section, and a more user-friendly display name that appears in the Services Control Panel application and is used with the NET START command. The GetServiceDisplayName and GetServiceKeyName functions let an application map one of these names to the other. An application passes a service's registry key name to GetServiceDisplayName, and obtains the service's user-friendly display name. An application passes a service's display name to GetServiceKeyName, and obtains the service's registry key name.
See Also