다음을 통해 공유


RegDeleteKeyExA 함수(winreg.h)

레지스트리의 지정된 플랫폼별 보기에서 하위 키와 해당 값을 삭제합니다. 키 이름은 대/소문자를 구분하지 않습니다.

하위 키를 트랜잭션 작업으로 삭제하려면 RegDeleteKeyTransacted 함수를 호출합니다 .

구문

LSTATUS RegDeleteKeyExA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey,
  [in] REGSAM samDesired,
       DWORD  Reserved
);

매개 변수

[in] hKey

열린 레지스트리 키에 대한 핸들입니다. 이 키의 액세스 권한은 삭제 작업에 영향을 미치지 않습니다. 액세스 권한에 대한 자세한 내용은 레지스트리 키 보안 및 액세스 권한을 참조하세요.

이 핸들은 RegCreateKeyEx 또는 RegOpenKeyEx 함수에서 반환되거나 다음 미리 정의된 키 중 하나일 수 있습니다.

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

삭제할 키의 이름입니다. 이 키는 hKey 매개 변수 값으로 지정된 키의 하위 키여야 합니다.

함수는 DELETE 액세스 권한이 있는 하위 키를 엽니다.

키 이름은 대/소문자를 구분하지 않습니다.

이 매개 변수의 값은 NULL일 수 없습니다.

[in] samDesired

액세스 마스크는 레지스트리의 플랫폼별 보기를 지정합니다.

의미
KEY_WOW64_32KEY
0x0200
32비트 레지스트리 보기에서 키를 삭제합니다.
KEY_WOW64_64KEY
0x0100
64비트 레지스트리 보기에서 키를 삭제합니다.

Reserved

이 매개 변수는 예약되어 있으며 0이어야 합니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.

설명

삭제된 키는 마지막 핸들을 닫을 때까지 제거되지 않습니다.

WOW64에서 32비트 애플리케이션은 64비트 애플리케이션이 보는 레지스트리 트리와 별개인 레지스트리 트리를 봅니다. 이 함수를 사용하면 애플리케이션이 대체 레지스트리 보기에서 항목을 삭제할 수 있습니다.

삭제할 하위 키에는 하위 키가 없어야 합니다. 키와 모든 하위 키를 삭제하려면 하위 키를 열거하고 개별적으로 삭제해야 합니다. 키를 재귀적으로 삭제하려면 RegDeleteTree 또는 SHDeleteKey 함수를 사용합니다.

함수가 성공하면 RegDeleteKeyEx 는 레지스트리에서 지정된 키를 제거합니다. 모든 값을 포함하여 전체 키가 제거됩니다.

참고

레거시 버전의 Windows에서 이 API는 kernel32.dll 의해도 노출됩니다.

참고

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

요구 사항

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

추가 정보

RegCreateKeyEx

RegDeleteKeyTransacted

RegOpenKeyEx

레지스트리 함수

레지스트리 리디렉터