이는 때때로 32 비트 응용 프로그램과 64 비트 드라이버 간의 상호 작용과 관련하여 x64 Windows의 설계 제한으로 인한 것입니다. 인쇄 대화 상자 외에도이 문제가 발생하는 또 다른 일반적인 시나리오는 32 비트 Internet Explorer 및 스마트 카드 대화 상자를 사용할 때입니다.
Microsoft는 다음과 같은 원인에 대한 배경 정보를 제공합니다.
64 비트 버전의 Windows 7에서 XPS Document Writer 프린터로 인쇄 할 때 다른 이름으로 저장 대화 상자가 32 비트 응용 프로그램 뒤에 나타납니다.
http://support.microsoft.com/kb/2567869
프린터 드라이버는 인쇄중인 프로세스에로드되는 DLL (동적 연결 라이브러리)로 구현됩니다. 프린터 드라이버는 64 비트 버전의 Windows에서 64 비트 DLL로 구현됩니다. 프린터 드라이버는 32 비트 버전의 Windows에서 32 비트 DLL로 구현됩니다.
32 비트 프로세스는 64 비트 DLL을로드 할 수 없습니다. 따라서 64 비트 버전의 Windows는 32 비트 프로세스에서 Splwow64.exe 프로세스를 통한 인쇄를 지원합니다. Splwow64.exe는 64 비트 프린터 드라이버를로드하고 32 비트 프로세스 대신 인쇄를 처리 할 수있는 64 비트 프로세스입니다.
응용 프로그램이 XPS Document Writer 프린터로 인쇄하기 위해 StartDoc 함수를 호출하면 XPS Document Writer 프린터 드라이버는 다른 이름으로 저장 대화 상자를 표시하여 사용자가 XPS 파일의 이름과 위치를 지정할 수 있습니다. 대화 상자의 소유자 창은 일반적으로 StartDoc 함수를 호출하는 스레드의 활성 창이며 대화 상자는 활성 창 위에 나타납니다.
32 비트 응용 프로그램이 64 비트 버전의 Windows에서 StartDoc 함수를 호출하면 Splwow64.exe 프로세스가 32 비트 응용 프로그램 대신 XPS Document Writer 프린터 드라이버를 호출합니다. 이 시나리오에서는 Splwow64.exe 프로세스의 스레드에 활성 창이 없기 때문에 다른 이름으로 저장 대화 상자가 소유되지 않습니다. 또한 Splwow64.exe 프로세스에 전경 창을 설정할 권한이 없기 때문에 인쇄중인 응용 프로그램 뒤에 대화 상자가 나타날 수 있습니다.
대화 상자가 닫힐 때까지 StartDoc 호출이 반환되지 않으므로 응용 프로그램이 응답하지 않을 수 있습니다.
Splwow64.exe 프로세스에 의해 생성 된 경우 다른 이름으로 저장 대화 상자에는 Windows 탐색기 작업 표시 줄에 고유 한 단추가 있습니다. 대화 상자가 소유되지 않았기 때문입니다. Splwow64.exe 프로세스가 전경 창을 설정할 수없는 경우 작업 표시 줄 단추도 깜박입니다.