Share via


GetServiceKeyNameW 함수(winsvc.h)

지정된 서비스의 서비스 이름을 검색합니다.

구문

BOOL GetServiceKeyNameW(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCWSTR   lpDisplayName,
  [out, optional] LPWSTR    lpServiceName,
  [in, out]       LPDWORD   lpcchBuffer
);

매개 변수

[in] hSCManager

OpenSCManager에서 반환한 컴퓨터의 서비스 제어 관리자 데이터베이스에 대한 핸들입니다.

[in] lpDisplayName

서비스 표시 이름입니다. 이 문자열의 최대 길이는 256자입니다.

[out, optional] lpServiceName

서비스 이름을 수신하는 버퍼에 대한 포인터입니다. 함수가 실패하면 이 버퍼에 빈 문자열이 포함됩니다.

이 배열의 최대 크기는 4K바이트입니다. 필요한 크기를 확인하려면 이 매개 변수에 NULL을, lpcchBuffer 매개 변수에 0을 지정합니다. 함수가 실패하고 GetLastErrorERROR_INSUFFICIENT_BUFFER 반환합니다. lpcchBuffer 매개 변수는 필요한 크기를 받습니다.

[in, out] lpcchBuffer

TCHAR에서 lpServiceName 매개 변수가 가리키는 버퍼의 크기를 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 이 매개 변수에는 null 종료 문자를 제외한 서비스 이름의 크기가 TCHAR에 포함됩니다.

lpServiceName이 가리키는 버퍼가 너무 작아서 서비스 이름을 포함할 수 없는 경우 함수는 데이터를 저장하지 않습니다. 함수가 반환되면 lpcchBuffer 에는 NULL 종결자를 제외한 서비스 이름의 크기가 포함됩니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

서비스에는 서비스 이름과 표시 이름이라는 두 가지 이름이 있습니다. 서비스 이름은 레지스트리에 있는 서비스 키의 이름입니다. 표시 이름은 서비스 제어판 애플리케이션에 표시되고 NET START 명령과 함께 사용되는 사용자에게 친숙한 이름입니다. 두 이름 모두 CreateService 함수로 지정되며 ChangeServiceConfig 함수를 사용하여 수정할 수 있습니다. 서비스에 지정된 정보는 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName 레지스트리 키 아래의 서비스 이름과 동일한 이름의 키에 저장됩니다.

서비스 이름을 표시 이름에 매핑하려면 GetServiceDisplayName 함수를 사용합니다. 표시 이름을 서비스 이름에 매핑하려면 GetServiceKeyName 함수를 사용합니다.

참고

winsvc.h 헤더는 GETServiceKeyName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winsvc.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

GetServiceDisplayName

OpenSCManager

서비스 함수