在 Win32 应用程序中,可能只有一个常用的中断,int 2Eh
. 它用作系统调用入口点。这类似于int 21h
在 DOS 中。应用程序不使用其余的中断。
但是,应用程序可以通过结构化异常处理 ( SEH
)/矢量异常处理 ( ) 处理一些 CPU 异常(和调试中断VEH
)。如果可能的话,Windows 会捕获源自应用程序的 CPU 异常并将它们反射回应用程序(Windows 在模仿 CPU 异常模型方面并不完美)。
Windows 在内部使用设备中断,不会让应用程序干扰它们。x86 CPU 在内核运行的最高特权模式下处理中断。
如今,许多设备中断与固定中断向量无关,并且是可配置的,您需要使用诸如 PCI 之类的各种东西来查询或更改设置。
如果要直接使用设备和中断,则需要为 Windows 编写内核模式驱动程序。有 Device Driver Kit ( DDK
) 和类似的书籍Windows Internals
可以帮助您入门。
尽管如此,如果您正在寻找设备 XYZ 及其中断编程的详细信息,您不会在 MSDN 或 DDK 上找到所有内容或很多内容,因为您需要特定于硬件的信息,这些信息超出了 Microsoft 的控制范围。内核提供了执行 I/O 和处理中断所需的功能,但最终取决于设备驱动程序以一种或另一种方式使用它们。