Native API

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Котик полосатый (обсуждение | вклад) в 09:52, 26 октября 2012 ( Новая страница: «'''Native API''' (с заглавной N) - в основном недокументированный интерфейс программир…»). Она может серьёзно отличаться от текущей версии.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Native API (с заглавной N) - в основном недокументированный интерфейс программирования приложений (API), предназначенный для внутреннего использования в операционных системах семейства Windows NT, выпущенных Microsoft[1]. В основном он используется во время загрузки системы, когда другие компоненты Windows недоступны, а также функциями системных библиотек (например, kernel32.dll), которые реализуют функциональность Windows API. Точкой входа программ, использующих Native API является функция DriverEntry(), так же как и в драйверах устройств Windows. В то же время, в отличие от драйверов, программы, использующие Native API, выполняются в третьем кольце защиты, так же как и обычные приложения Windows. Большая часть вызовов Native API реализована в ntoskrnl.exe, а доступ к ним предоставляется к программам режима пользователя ntdll.dll. Некоторые вызовы Native API реализованы напрямую в режиме пользователя внутри ntdll.dll.

Несмотря на то, что большая часть операционной системы Windows NT использует документированный и хорошо определённый Windows API, некоторые компоненты, такие как подсистема клиент/сервер времени выполнения (CSRSS), используют Native API, так как они запускаются на ранних стадиях процесса загрузки Windows NT, когда функции Windows API ещё не доступны.

Некоторое вредоносное программное обеспечение использует Native API, чтобы скрыть своё присутствие от антивирусного ПО[2].

Примечания

  1. Mark Russinovich. Inside the Native API. Sysinternals (1998–2004). Дата обращения: 28 февраля 2008.
  2. Jason Coombs. Win32 API Obscurity for I/O Blocking and Intrusion Prevention. Dr. Dobb's Journal (21 июня 2005). Дата обращения: 4 января 2007.