1

我想知道 IOCTL 是如何工作的。我知道基本情况:

DeviceIoControl() -> kernel32.dll -> ntdll.dll -> 从用户模式到内核模式的时刻 -> I/O Manager -> IRP

问题是 IOCTL 如何从用户模式到内核模式?是中断门、调用门还是别的什么?

如果您知道任何解释 IOCTL 详细信息的文章/书籍(不仅仅是 Windows 内部),请发布链接。

4

1 回答 1

0

如果您查看 in 的实现,DeviceIoControlKernel32.dll会看到它NtDeviceIoControlFilentdll.dll. 这反过来会执行syscall从用户模式到内核模式的转换。

于 2012-11-14T16:57:34.550 回答