为什么 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
为什么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