Problemi s funkcijom CreateWindowEx za 32-bitne aplikacije u sustavu Windows 10

U nekim slučajevima, nakon nadogradnje na noviju verziju, Windows 10 uzrokuje padove ili druge probleme kada pozove funkciju CreateWindowEx iz msctf.dll kada se prozori kreiraju u nekim 32-bitnim aplikacijama. U ovom ćemo postu razumjeti što je  funkcija CreateWindowEx – istražite moguće uzroke ove pogreške funkcije, a zatim ponudite preporučeno rješenje za ublažavanje problema.

Razumijevanje funkcije CreateWindowEx

Funkcija CreateWindowEx

Windows aplikacije, uključujući .NET aplikacije koje koriste Windows Forms ili Windows Presentation Foundation ( WPF ), stvaraju svoje prozore pozivanjem funkcija CreateWindowExA ili CreateWindowExW .

Obje funkcije interno pozivaju zajedničku funkciju USER32 koja će izvršiti provjeru valjanosti nekih parametara, kao što su stilovi prozora i ručke specificirani u pozivu, rukovati stvaranjem MDI podređenog prozora ako je naveden stil proširenog prozora WS_EX_MDICHILD i obrađuje trenutni kontekst aktivacije za pozivanje nit. Ako je sve u redu na USER32-strani(USER32-side) poziva CreateWindowEx , on tada poziva implementaciju (CreateWindowEx)CreateWindowExa(CreateWindowEx) u načinu rada jezgre ( WIN32K ) .

CreateWindowEx će izvršiti sljedeće zadatke kada pokušava stvoriti novi objekt prozora:

  • Odredite hoće li kreiranje ručke za novi objekt prozora premašiti  ograničenje kvote User handle za proces poziva.
  • Dodjeljuje memoriju za novi objekt prozora iz hrpe radne površine.
  • Inicijalizira memoriju za novi objekt prozora.
  • Stvara ručku za novi objekt prozora u tablici User handle.(User)

Uzroci kvarova CreateWindowEx

Neki uvjeti koji mogu pokrenuti problem funkcije CreateWindowEx nabrojani su kako slijedi:

  • Navedena klasa prozora ne postoji.
  • Korištenje nevažećih stilova prozora ili proširenih stilova prozora.
  • Korištenje nevažećih korisničkih(User) ručki, kao što su ručke prozora i ručke izbornika.
  • Pokušaj stvaranja podređenog prozora bez navođenja nadređenog prozora.
  • Pokušaj stvaranja podređenog prozora ili prozora u vlasništvu i navedeni roditelj/vlasnik pripada drugoj radnoj površini od pozivajuće niti.
  • Izrada podređenog prozora ili prozora u vlasništvu premašit će ograničenje ugniježđenih prozora.
  • Kreiranje novog objekta prozora premašit će kvotu za obradu poziva za proces.
  • U hrpi radne površine nema dovoljno raspoložive hrpe za dodjelu memorije za novi objekt prozora.
  • Nema dostupnih unosa u tablici User handle.

Riješite probleme s funkcijom CreateWindowEx(Fix CreateWindowEx) za 32-bitne aplikacije u sustavu Windows 10(Windows 10)

Microsoft je pružio rješenje za probleme s funkcijom CreateWindowEx .

Da biste zaobišli ovaj problem, morat ćete vratiti instalaciju sustava Windows 10 na prethodnu verziju.

Opcija vraćanja unatrag u sustavu Windows 10(Windows 10) dostupna je 10 dana(10 days) (u većini slučajeva) nakon što ste nadogradili instalaciju sustava Windows 10.

Ova operacija čuva vaše osobne datoteke, ali uklanja aplikacije i upravljačke programe koji su instalirani nakon nadogradnje, a također poništava sve promjene koje ste napravili u postavkama.

Ako opcija vraćanja nije dostupna – sigurnosno kopirajte svoje osobne datoteke , tada se možete obratiti svojoj IT podršci ili službi za pomoć ili Microsoftovoj podršci(Microsoft Support) za pomoć u vraćanju uređaja na prethodnu verziju Windows 10(Window 10) .

That’s it!

PS : Microsoft radi na rezoluciji i osigurat će ažuriranje u nadolazećem izdanju sustava Windows 10 .(Windows 10)



About the author

Ja sam stručnjak za korisničku podršku za Windows 10/11/10 s više od 5 godina iskustva. Također sam strastveni igrač posljednjih nekoliko godina i snažno me zanima xbox One. Moj trenutni fokus je pomaganje korisnicima s problemima koje imaju sa svojim Windows 10 ili Windows 11 sustavima, često kroz korištenje naših alata za korisničku podršku, kao što je podrška pozivnog centra i online pomoć.



Related posts