ฉันกลัวว่ามีคนไม่กี่คนที่รู้สาเหตุของข้อผิดพลาดในการเปิดตัว 0xC0000018 EXE ที่ลึกลับเพราะ Microsoft ทำให้มันคลุมเครือแม้กระทั่งใน Windows 10 เมื่อฉันอ่านแอปพลิเคชั่นการเขียนโปรแกรมของ Jeffrey Richter สำหรับ MS Windows 4th-ed
หากต้องโหลด DLL ที่ที่อยู่คงที่ (ในพื้นที่ที่อยู่เสมือนในกระบวนการ) แต่ไม่สามารถปฏิบัติตามข้อกำหนดได้ Windows จะแจ้งข้อผิดพลาด 0xC0000018 แต่ไม่มีเงื่อนงำที่ชัดเจนที่จะบอกว่า DLL ใดที่ทำให้เกิดปัญหา การค้นหาโดย Google อย่างง่าย ๆ ของ "0xC0000018" จะทำให้คุณมีจำนวนโพสต์ของผู้ใช้ที่สับสน
ในการทำซ้ำคุณสามารถจัดเตรียมโซลูชัน (คำว่า Visual Studio) ด้วย EXE หนึ่งตัวและ DLL สองตัวและตั้งค่า DLL ทั้งสองให้มีตัวเชื่อมโยง/FIXED /BASE:"0x44440000"
และมี EXE โดยนัยโหลด DLLs สองตัวจากนั้นคุณจะเห็นข้อผิดพลาด 0xC0000018
และใช่การล้างข้อมูลAPPINIT_DLLS
ในรีจิสทรีคือการเดิมพันครั้งแรกของคุณเพื่อกำจัดผู้กระทำผิดที่เป็นไปได้ DLLs เหล่านั้นจะถูกโหลดลงในทุกกระบวนการที่คุณเปิดตัวดังนั้นอาจทำลายชีวิตของคุณ
วิธีการระบุ DLL ผู้ร้ายจริงหรือไม่ บางทีอาจจะมีวิธีการที่ใช้ในการตรวจสอบ dumpbin.exe ทุก DLL ในAPPINIT_DLLS
หรือเป็นไปได้ที่กำลังอัตโนมัติโหลดอื่น ๆ (ความช่วยเหลือเกี่ยวกับAutoRuns ) dumpbin -headers
ตรวจสอบพวกเขาหนึ่งโดยหนึ่งด้วย ถ้าไม่มี.reloc
ส่วนมันเป็นDLL ที่ตั้งถาวร