The GetServiceKeyName function obtains the service name that is associated with a particular service's display 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
);
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.
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.
There are two names for a service: the service name and the display name. The service name is the name of the service's key in the registry. The display name is a user-friendly name that appears in the Services control panel application, and is used with the NET START command. To map the service name to the display name, use the GetServiceDisplayName function. To map the display name to the service name, use the GetServiceKeyName function.
Windows NT: Requires version 3.5 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in winsvc.h.
Import Library: Use advapi32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Services Overview, Service Functions, GetServiceDisplayName, OpenSCManager