GetServiceKeyNameA 함수(winsvc.h)
지정된 서비스의 서비스 이름을 검색합니다.
통사론
BOOL GetServiceKeyNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpDisplayName,
[out, optional] LPSTR lpServiceName,
[in, out] LPDWORD lpcchBuffer
);
매개 변수
[in] hSCManager
OpenSCManager반환된 컴퓨터의 서비스 제어 관리자 데이터베이스에 대한 핸들입니다.
[in] lpDisplayName
서비스 표시 이름입니다. 이 문자열의 최대 길이는 256자입니다.
[out, optional] lpServiceName
서비스 이름을 받는 버퍼에 대한 포인터입니다. 함수가 실패하면 이 버퍼에 빈 문자열이 포함됩니다.
이 배열의 최대 크기는 4K바이트입니다. 필요한 크기를 확인하려면 이 매개 변수에 대해 NULL을 지정하고 lpcchBuffer 매개 변수에 대해 0을 지정합니다. 함수가 실패하고 GetLastError
[in, out] lpcchBuffer
TCHARlpServiceName 매개 변수가 가리키는 버퍼의 크기를 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 이 매개 변수는 null 종료 문자를 제외한 TCHAR서비스 이름의 크기를 포함합니다.
lpServiceName 가리키는 버퍼가 너무 작아서 서비스 이름을 포함할 수 없는 경우 함수는 데이터를 저장하지 않습니다. 함수가 반환되면 lpcchBuffer NULL 종결자를 제외한 서비스 이름의 크기를 포함합니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
서비스에는 서비스 이름과 표시 이름이라는 두 가지 이름이 있습니다. 서비스 이름은 레지스트리에 있는 서비스 키의 이름입니다. 표시 이름은 Services 제어판 애플리케이션에 표시되는 사용자에게 친숙한 이름이며 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