不同的系统调用ID负责在不同版本的OS上调用不同的功能

时间:2019-04-06 03:57:48

标签: windows system-calls

在不同版本的OS上,相同的系统调用ID值负责调用不同的内核函数。那么,当我们使用Windows 7上Windows XP时代使用的可执行文件时,为什么整个应用程序都能正常工作?

1 个答案:

答案 0 :(得分:1)

Windows提供了大量的DLL,其中一些DLL充当系统调用周围的精简(有时不是那么精简)包装。

当不同Windows版本之间的系统调用ID更改时,这些DLL也会更改。

但是您导入例如CloseHandle()中的kernel32.dll的名称,因此您看不到更改,并且一切正常(也就是说,如果我们不考虑可能会更改程序行为的错误和错误修复,不幸地依赖)。