GetServiceKeyName

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
);
 

Parameters

hSCManager
Handle to a computer's service control manager database, as returned by OpenSCManager.
lpDisplayName
Pointer to a null-terminated service display name string.
lpServiceName
Pointer 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
Pointer 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 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.

QuickInfo

  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.

See Also

Services Overview, Service Functions, GetServiceDisplayName, OpenSCManager