다음을 통해 공유


32비트 및 64비트 WIA 상호 운용성

확장 프로세서용 Windows 64비트 버전을 실행하는 시스템에서는 모든 WIA 구성 요소가 64비트이므로 이러한 64비트 드라이버와 기존 32비트 애플리케이션 간의 상호 운용성을 허용하도록 WIA 인프라가 변경되었습니다.

Windows 운영 체제의 64비트 버전에서는 64비트 WIA 미니드라이버가 WIA 서비스의 64비트 프로세스에 로드됩니다. 그러나 WIA 미니 드라이버 UI 확장은 애플리케이션의 프로세스 공간에 로드됩니다. x64 기반 컴퓨터에서 실행되는 Microsoft Win32 애플리케이션의 수정되지 않은 32비트 프로세스는 64비트 UI 확장을 로드할 수 없습니다.

32비트에서 64비트 문제를 완화하기 위해 Microsoft는wiawow64.exe64비트 확장 호스트를 제공합니다 . 이 호스트는 32비트 애플리케이션과 64비트 WIA UI 확장 간의 투명한 상호 운용성을 보장합니다. wiawow64.exe 확장 호스트는 확장 프로세서용 Windows Server 2003 64비트 버전, 확장 프로세서용 Windows XP 64비트 버전, Windows Vista 및 이후 운영 체제 버전에서 사용할 수 있습니다.

WIA 서비스는 애플리케이션이 64비트인지 32비트인지에 따라 UI 확장이 물리적으로 로드되는 위치를 결정합니다.

  • 64비트 애플리케이션. 64비트 WIA 미니드라이버 UI 확장은 애플리케이션의 프로세스 공간에 직접 로드됩니다. 이는 Windows 운영 체제의 32비트 버전에서 32비트 애플리케이션을 실행할 때 발생하는 것과 유사합니다.

  • 32비트 애플리케이션. WIA는 UI 확장이 로드될 wiawow64.exe 확장 호스트를 시작합니다. 32비트 애플리케이션에서 인터페이스 메서드를 호출할 때마다 별도의 wiawow64.exeinstance 만들어지고 시작됩니다. wiawow64.exe 호스트는 애플리케이션과 동일한 컨텍스트에서 실행되며 기존 COM 인터페이스를 통해 애플리케이션과 통신합니다.

wiawow64.exe WIA 애플리케이션 작성기와 WIA 드라이버 개발자 모두에게 완전히 투명하지만 드라이버 개발자는 32비트 애플리케이션이 아닌 wiawow64.exe 프로세스를 디버그하여 64비트 UI 확장을 디버그해야 합니다.