Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

GetServiceKeyName function

Retrieves the service name of the specified service.

Syntax


BOOL WINAPI GetServiceKeyName(
  _In_      SC_HANDLE hSCManager,
  _In_      LPCTSTR   lpDisplayName,
  _Out_opt_ LPTSTR    lpServiceName,
  _Inout_   LPDWORD   lpcchBuffer
);

Parameters

hSCManager [in]

A handle to the computer's service control manager database, as returned by OpenSCManager.

lpDisplayName [in]

The service display name. This string has a maximum length of 256 characters.

lpServiceName [out, optional]

A pointer to a buffer that receives the service name. If the function fails, this buffer will contain an empty string.

The maximum size of this array is 4K bytes. To determine the required size, specify NULL for this parameter and 0 for the lpcchBuffer parameter. The function will fail and GetLastError will return ERROR_INSUFFICIENT_BUFFER. The lpcchBuffer parameter will receive the required size.

lpcchBuffer [in, out]

A pointer to variable that specifies the size of the buffer pointed to by the lpServiceName parameter, in TCHARs. When the function returns, this parameter contains the size of the service name, in TCHARs, excluding the null-terminating character.

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, lpcchBuffer contains the size of the service name, excluding the NULL terminator.

Return value

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. Both names are specified with the CreateService function and can be modified with the ChangeServiceConfig function. Information specified for a service is stored in a key with the same name as the service name under the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName registry key.

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.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Winsvc.h (include Windows.h)

Library

Advapi32.lib

DLL

Advapi32.dll

Unicode and ANSI names

GetServiceKeyNameW (Unicode) and GetServiceKeyNameA (ANSI)

See also

GetServiceDisplayName
OpenSCManager
Service Functions

 

 

Community Additions

ADD
Show:
© 2015 Microsoft