কিছু কেসে, নতুন ভার্সনে আপগ্রেড করার পর, Windows 10 কিছু 32-বিট অ্যাপ্লিকেশনে উইন্ডো তৈরি করার সময় msctf.dll- থেকে CreateWindowEx ফাংশন কল করলে ক্র্যাশ বা অন্যান্য ইস্যু সৃষ্টি করে। এই পোস্টে আমরা বুঝব CreateWindowEx ফাংশনটি কী – এই ফাংশন এররের সম্ভাব্য কারণগুলো এক্সপ্লোর করব এবং তারপর সমস্যাটি মিটিগেট করার জন্য পরামর্শিত সমাধান দেব।
CreateWindowEx ফাংশন বুঝুন

Windows অ্যাপ্লিকেশনগুলো, .NET অ্যাপ্লিকেশনরা যা Windows Forms বা Windows Presentation Foundation (WPF) ব্যবহার করে, CreateWindowExA বা CreateWindowExW ফাংশন কল করে তাদের উইন্ডো তৈরি করে।
দুই ফাংশনই অভ্যন্তরীণভাবে একটি সাধারণ USER32 ফাংশন কল করে যা কিছু প্যারামিটার ভ্যালিডেশন করবে, যেমন কলে স্পেসিফাইড উইন্ডো স্টাইলস এবং হ্যান্ডলস, WS_EX_MDICHILD এক্সটেন্ডেড উইন্ডো স্টাইল স্পেসিফাইড থাকলে MDI চাইল্ড উইন্ডো তৈরি হ্যান্ডেল করবে, এবং কলিং থ্রেডের বর্তমান এক্টিভেশন কনটেক্সট প্রসেস করবে। যদি USER32-side-এ CreateWindowEx কল সব ঠিক থাকে, তবে এটি কernel-mode (WIN32K) CreateWindowEx ইমপ্লিমেন্টেশনে কল করে।
CreateWindowEx একটি নতুন উইন্ডো অবজেক্ট তৈরি করার চেষ্টা করার সময় নিচের টাস্কগুলো সম্পাদন করবে:
- নির্ধারণ করুন যে নতুন উইন্ডো অবজেক্টের জন্য হ্যান্ডেল তৈরি করলে কলিং প্রসেসের User handle quota লিমিট এক্সিড হবে কিনা।
- ডেস্কটপের হিপ থেকে নতুন উইন্ডো অবজেক্টের জন্য মেমরি অ্যালোকেট করুন।
- নতুন উইন্ডো অবজেক্টের জন্য মেমরি ইনিশিয়ালাইজ করুন।
- User handle table-এ নতুন উইন্ডো অবজেক্টের জন্য একটি হ্যান্ডেল তৈরি করুন।
CreateWindowEx ফেইলুরের কারণগুলো
CreateWindowEx ফাংশন ইস্যু ট্রিগার করতে পারে এমন কিছু কন্ডিশন নিচে লিস্ট করা হলো:
- স্পেসিফাইড উইন্ডো ক্লাস অস্তিত্বে নেই।
- অবৈধ উইন্ডো স্টাইল বা এক্সটেন্ডেড উইন্ডো স্টাইল ব্যবহার।
- অবৈধ User handles ব্যবহার, যেমন উইন্ডো হ্যান্ডেল এবং মেনু হ্যান্ডেল।
- প্যারেন্ট উইন্ডো স্পেসিফাই না করে চাইল্ড উইন্ডো তৈরি করার চেষ্টা।
- চাইল্ড বা ওন্ড উইন্ডো তৈরি করার চেষ্টা এবং স্পেসিফাইড প্যারেন্ট/ওনার কলিং থ্রেডের চেয়ে ভিন্ন ডেস্কটপের।
- চাইল্ড বা ওন্ড উইন্ডো তৈরি করলে নেস্টেড উইন্ডো লিমিট এক্সিড হবে।
- নতুন উইন্ডো অবজেক্ট তৈরি করলে কলিং প্রসেসের হ্যান্ডেল কোটা এক্সিড হবে।
- ডেস্কটপের হিপে নতুন উইন্ডো অবজেক্টের জন্য মেমরি অ্যালোকেট করার জন্য পর্যাপ্ত হিপ নেই।
- User handle table-এ কোনো উপলব্ধ এন্ট্রি নেই।
Windows 10-এ 32-বিট অ্যাপের জন্য CreateWindowEx ফাংশন ইস্যু ফিক্স করুন
মাইক্রোসফট CreateWindowEx ফাংশন ইস্যুর জন্য একটি ওয়ার্কআরাউন্ড দিয়েছে।
এই ইস্যু ওয়ার্কআরাউন্ড করতে, আপনাকে আপনার Windows 10 ইনস্টলেশন পূর্বের ভার্সনে রোলব্যাক করতে হবে।
Windows 10-এ রোলব্যাক অপশন 10 দিন (বেশিরভাগ কেসে) আপনার Windows 10 ইনস্টলেশন আপগ্রেড করার পর পর্যন্ত উপলব্ধ থাকে।
এই অপারেশন আপনার পারসোনাল ফাইলগুলো রাখে, কিন্তু আপগ্রেডের পর ইনস্টল করা অ্যাপ্লিকেশন এবং ড্রাইভারগুলো সরিয়ে দেয়, এবং আপনার সেটিংসে করা যেকোনো পরিবর্তন রিভার্স করে।
যদি রোলব্যাক অপশন উপলব্ধ না থাকে – আপনার পারসোনাল ফাইল ব্যাকআপ নিন, তারপর আপনার IT সাপোর্ট বা হেল্পডেস্ক বা Microsoft Support-এ যোগাযোগ করুন আপনার ডিভাইসকে পূর্বের Window 10 ভার্সনে রিস্টোর করতে সাহায্য পেতে।
এটোই ছিল!
PS: মাইক্রোসফট একটি রেজোলিউশনে কাজ করছে এবং Windows 10-এর আগামী রিলিজে আপডেট দেবে।
