ntdll.dll的详细介绍
1个回答
展开全部
打开NTDLL.dll,发现CRT的许多基本函数都是在这里实现的。包括qsort,ceil这样的函数,还有strcpy堆的释放,进程管理,似乎都是在ntdll中实现。
用户模式的代码在调用系统内核函数的时候,首先把一个叫做system call number的数放在EAX中,把参数放在其它的寄存器中了。然后调用INT 2E中断。但是大部分应用程序并不需要直接这么做。通常都是在调用kernel32.dll等时由他们来调用INT 2E.
内核模式的代码,做法稍微有点不同。他们通常调用由NTOSKRNL.EXE导出的NTDLL.dll中Zw开头的那一系列函数,比如 ZwWaitForSingleObject, 反之,如果是用户级代码需要调用内核,就会利用INT 2E调用WaitForSingleObject.对于许多函数的批量调用,你会明显发现 Zw族要比Rtl族效率高很多。
ntdll.dll中的大部分函数都是在MSDN中找不到描述的,因为这些函数介于Windows API与内核API之间,微软并未公开全部的内核函数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询