ZW与NT函数区别

区别:
Ntdll.dll中:完全一样
Ntoskrnl.exe中:
Zw*nt*,即nt函数更底层
Zw*函数会把PreviousMode设置为KernelMode  然后再调用Nt*函数,因此在Nt*函数中就不会进行参数检查。而如果直接调用Nt*函数的话 , 必须自己将PreviousMode设置为KernelMode,否则PreviousMode很可能仍然是UserMode, 这样的话 Nt*函数就会认为对它的调用来自用户态,从而做一些检查,这时就会产生问题了.
因此要自己调用Nt*的话必须先将PreviousMode设为KernelMode

你可能感兴趣的:(驱动学习,杂谈,Zw,NT)