为什么 Windows driver 的词条名称应该是 "DriverEntry"? (或者 WinMain/DllMain 也是)

Why should Windows driver's entry name be "DriverEntry"? (Or WinMain/DllMain too)

为什么Windows driver的条目名称应该是“DriverEntry”?不能 Windows 使用 PE header 找到 driver 的入口点,或者说,只是调用 main() 函数来初始化 driver?

还有

如果是WinMain,也是。

我觉得main()或者MainCRTSetup()应该是main()或者MainCRTSetup()除非我们改变编译器的设置,让编译器知道那是我们程序的入口.

不过那是针对编译器的,不是吗?为什么Windows要求driver的入口函数名是DriverEntry

Microsoft 的人员决定 .sys 文件的入口点将是 DriverEntry,这就是添加到 PE header 的值。

我认为他们使其与 windows EXE 或 DLL 不兼容,以确保无法使用 exe 代替 .SYS