네이티브 API
From Wikipedia, the free encyclopedia
네이티브 API(Native API)는 윈도우 NT와 사용자 모드의 응용 프로그램에서 사용되는 API이다. 다른 윈도우 구성 요소들이 사용되기 힘들 때 사용되며, 주로 시스템 부팅 시나 kernel32.dll 같은 윈도우 API를 구현하는 용도로 쓰인다. ntdll.dll의 엔트리 포인트는 LdrInitializeThunk이다. 대부분의 네이티브 API의 호출은 ntoskrnl.exe에서 구현되며, ntdll.dll에 의해서 사용자 모드로 노출된다. 어떤 경우에는 사용자 모드에서 ntdll.dll 내부의 네이티브 API가 직접 호출되기도 한다.
네이티브 API 호출은 SSDT를 통해서 커널에 의해 관리된다.
대부분의 마이크로소프트 윈도우가 잘 정의된 윈도우 API에 의해 구현된 반면, 클라이언트/서버 런타임 하위 시스템같은 소수의 구성 요소들은 네이티브 API로 구현된다. 왜냐하면 이것이 윈도우 NT 시작 프로세스 전에 호출되는데, 이 때는 WIndows API가 아직 사용 가능하지 않기 때문이다.