Windows 10의 32비트 앱에 대한 CreateWindowEx 기능 문제

경우에 따라 최신 버전으로 업그레이드한 후 Windows 10 이 일부 32비트 응용 프로그램에서 Windows를 생성할 때 msctf.dll 에서 (msctf.dll)CreateWindowEx 함수를 호출할 때 충돌 또는 기타 문제가 발생 합니다. 이 게시물에서는  CreateWindowEx 함수가 무엇인지 이해하고 이 함수 오류의 가능한 원인을 탐색한 다음 문제를 완화하기 위한 권장 솔루션을 제공합니다.

CreateWindowEx 함수 이해

CreateWindowEx 함수

Windows Forms 또는 WPF ( Windows Presentation Foundation(Windows Presentation Foundation) ) 를 사용하는 .NET 응용 프로그램을 비롯한 Windows 응용 프로그램은 CreateWindowExA 또는 CreateWindowExW 함수 를 호출하여 창을 만듭니다 .

두 함수 모두 호출에 지정된 창 스타일 및 핸들과 같은 일부 매개변수 유효성 검사를 수행 하는 공통 USER32 함수를 내부적으로 호출하고, (USER32)WS_EX_MDICHILD 확장 창 스타일이 지정된 경우 (WS_EX_MDICHILD)MDI 자식 창 생성을 처리 하고 호출에 대한 현재 활성화 컨텍스트를 처리합니다. 실. CreateWindowEx 호출의 USER32 쪽에서 모든 것이 정상이면 CreateWindowEx 의 커널 모드( WIN32K )(USER32-side) 구현 (CreateWindowEx)호출(WIN32K) 합니다 .

CreateWindowEx 는 새 창 개체를 만들려고 할 때 다음 작업을 수행합니다.

  • 새 창 개체에 대한 핸들을 만드는 것이  호출 프로세스에 대한 사용자(User) 핸들 할당량 제한을 초과하는지 확인합니다.
  • 데스크탑의 힙에서 새 창 개체에 대한 메모리를 할당합니다.
  • 새 창 개체에 대한 메모리를 초기화합니다.
  • 사용자(User) 핸들 테이블 에 새 창 개체에 대한 핸들을 만듭니다 .

CreateWindowEx 실패의 원인

CreateWindowEx 함수 문제 를 유발할 수 있는 몇 가지 조건은 다음과 같습니다.

  • 지정된 창 클래스가 존재하지 않습니다.
  • 잘못된 창 스타일 또는 확장된 창 스타일을 사용합니다.
  • 창 핸들 및 메뉴 핸들과 같은 잘못된 사용자 핸들을 사용합니다.(User)
  • 부모 창을 지정하지 않고 자식 창을 만들려고 합니다.
  • 자식 창 또는 소유 창을 만들려고 시도하고 지정된 부모/소유자가 호출 스레드와 다른 데스크톱에 속해 있습니다.
  • 자식 또는 소유 창을 만들면 중첩 창 제한을 초과합니다.
  • 새 창 개체를 만들면 호출 프로세스의 핸들 할당량이 초과됩니다.
  • 데스크탑의 힙에 사용 가능한 힙이 부족하여 새 창 개체에 메모리를 할당할 수 없습니다.
  • 사용자(User) 핸들 테이블 에 사용 가능한 항목이 없습니다 .

(Fix CreateWindowEx)Windows 10 에서 32비트 앱에 대한 CreateWindowEx 기능 문제 수정

MicrosoftCreateWindowEx 함수 문제에 대한 해결 방법을 제공했습니다.

이 문제를 해결하려면 Windows 10 설치를 이전 버전 으로 롤백해야 합니다 .

Windows 10 의 롤백 옵션은 Windows 10 설치를 업그레이드한 후 10일(10 days) (대부분의 경우) 동안 사용할 수 있습니다 .

이 작업은 개인 파일을 유지하지만 업그레이드 후에 설치된 응용 프로그램과 드라이버를 제거하고 설정에 대한 변경 사항도 되돌립니다.

롤백 옵션을 사용할 수 없는 경우 개인 파일 백업 , IT 지원, 헬프 데스크 또는 Microsoft 지원 에 문의하여 장치를 이전 (Microsoft Support)Window 10 버전 으로 복원하는 데 도움을 받을 수 있습니다 .

That’s it!

추신(PS) : Microsoft는 해결 방법을 연구 중이며 Windows 10 차기 릴리스에서 업데이트를 제공할 예정입니다.



About the author

저는 브라우저와 스마트폰 앱에 대한 경험이 있는 숙련된 Windows 10 및 11/10 전문가입니다. 저는 15년 이상 소프트웨어 엔지니어로 일했으며 Microsoft, Google, Apple, Ubisoft 등을 비롯한 여러 유명 회사에서 일했습니다. 또한 대학 수준에서 Windows 10/11 개발을 가르쳤습니다.



Related posts