Различные идентификаторы системных вызовов, отвечающие за вызов различных функций в разных версиях ОС - PullRequest
0 голосов
/ 06 апреля 2019

Одинаковое значение идентификаторов системных вызовов в разных версиях ОС отвечает за вызов различных функций ядра.Поэтому, когда мы используем исполняемый файл, который использовался в эпоху Windows XP на Windows 7, почему все приложение работает правильно?

1 Ответ

1 голос
/ 06 апреля 2019

Windows предоставляет большой набор библиотек DLL, некоторые из которых действуют как тонкие (а иногда и не очень) оболочки для системных вызовов.

Когда идентификаторы системных вызовов меняются в разных версиях Windows, то же самое происходит и с этими библиотеками DLL.

Но вы импортируете, например, CloseHandle() из kernel32.dll по его имени, и поэтому вы не видите изменения и все работает (то есть, если мы не учитываем ошибки и исправления ошибок, которые изменяютповедение, от которого может зависеть ваша программа).

...