为了共享在设备驱动程序设计过程中的经验,给出设备驱动程序通知应用程序的5种方法,详细说明每种方法的原理和实现过程,并给出实现的部分核心代码。希望能够给设备驱动程序的设计者提供一些帮助。...首先,一些非法操作有可能改写某些硬件寄存器的内容,导致操作系统崩溃,从而使操作系统变得不安全,性能不稳定;其次,应用程序的可移植性变差。...当条件成熟时,设备驱动程序调用_VWIN32_QueueUserApc()函数,向Win32应用程序发送消息。...当条件满足时,VxD调用SHELL_PostMessage()函数向Win32应用程序发送消息。...本文介绍了5种设备驱动程序通知应用程序的方法,其中前3种方法主要用于VxD中,后2种方法主要用于WDM。这5种方法都经过实际测试。测试结果表明,它们都能够达到设备驱动程序通知应用程序的目的。