대체 레지스트리 보기에 액세스

기본적으로 WOW64에서 실행되는 32비트 애플리케이션은 32비트 레지스트리 보기에 액세스하고 64비트 애플리케이션은 64비트 레지스트리 보기에 액세스합니다. 다음 플래그를 사용하면 32비트 애플리케이션이 64비트 레지스트리 보기의 리디렉션된 키와 64비트 애플리케이션에 액세스하여 32비트 레지스트리 보기에서 리디렉션된 키에 액세스할 수 있습니다. 이러한 플래그는 공유 레지스트리 키에 영향을 주지 않습니다. 자세한 내용은 WOW64의 영향을 받는 레지스트리 키를 참조하세요.

플래그 이름 Description
KEY_WOW64_64KEY 0x0100 32비트 또는 64비트 애플리케이션에서 64비트 키에 액세스합니다.
KEY_WOW64_32KEY 0x0200 32비트 또는 64비트 애플리케이션에서 32비트 키에 액세스합니다.
ARM의 Windows 10: 32비트 ARM 프로세스에 대한 32비트 ARM 레지스트리 보기와 32비트 x86 및 64비트 ARM64 프로세스에 대한 32비트 x86 레지스트리 보기를 나타냅니다.

이러한 플래그는 다음 레지스트리 함수의 samDesired 매개 변수에 지정할 수 있습니다.

KEY_WOW64_32KEY 또는 KEY_WOW64_64KEY 지정할 수 있습니다. 두 플래그를 모두 지정하면 함수가 ERROR_INVALID_PARAMETER 실패합니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 두 플래그를 모두 지정하면 함수 동작이 정의되지 않습니다.

RegDeleteKey 함수는 대체 레지스트리 보기에 액세스하는 데 사용할 수 없습니다.

다음은 애플리케이션에서 레지스트리에 액세스할 때 모범 사례입니다.

  • 애플리케이션이 플래그 중 하나를 사용하여 대체 레지스트리 보기에 액세스한 후 자식 레지스트리 키에 대한 모든 후속 작업(만들기, 삭제 또는 열기)은 명시적으로 동일한 플래그를 사용해야 합니다. 그렇지 않으면 예기치 않은 동작이 있을 수 있습니다.
  • 두 보기의 모든 키를 정확하게 열거하려면 두 패스로 열거형을 수행합니다. 첫 번째 패스는 플래그 중 하나를 사용하여 연 핸들을 사용해야 하며, 다른 패스는 다른 플래그와 함께 열린 핸들을 사용해야 합니다.

참고

Wow6432NodeWowAA32Node 키는 예약되어 있습니다. 호환성을 위해 애플리케이션은 이러한 키를 직접 사용하면 안 됩니다.

WMI를 통해 대체 레지스트리 보기에 액세스하는 방법에 대한 자세한 내용은 64비트 플랫폼에서 WMI 데이터 요청을 참조하세요.

레지스트리 리디렉터

레지스트리 리플렉션