自定义系统讯息

【勇芳软件工作室】汉化HomePreviousNext

您可以创建自己的系统消息,并使用它们来协调应用程序和系统中其他组件之间的活动。如果您已经创建了自己的可安装驱动程序或系统级设备驱动程序,这一点尤其有用。您的自定义系统消息可以向您的驱动程序和使用驱动程序的应用程序携带信息。

您使用BroadcastSystemMessage功能广播自定义系统消息。(系统级设备驱动程序使用相关的系统级功能。)该函数按照以下顺序将消息发送到收件人:系统级设备驱动程序,基于Windows的网络驱动程序,可安装的驱动程序和应用程序。这意味着系统级设备驱动程序(如果选择为收件人)总是获得第一次机会来响应系统消息。在给定的收件人类型中,没有驱动程序被保证在任何其他驱动程序之前收到给定的消息。这意味着用于特定驱动程序的系统消息必须具有全局唯一的消息标识符,以便其他驱动程序无意地处理它。

查询消息是对收件人进行轮询以执行给定操作的有用方式。您可以通过在【dwFlags中】参数中设置BSF_QUERY值来生成您自己的查询消息,当调用BroadcastSystemMessage.时,查询消息的每个收件人必须返回TRUE才能将消息发送到下一个收件人。如果任何收件人返回BROADCAST_QUERY_DENY,广播将立即结束,该函数返回0。

您可以创建可以播放和处理系统消息的可安装驱动程序。可安装的驱动程序是导出DriverProc函数的动态链接库(DLL)。驱动程序通过其DriverProc功能接收系统消息,并可以使用BroadcastSystemMessage广播消息。可安装的驱动程序通常用于支持多媒体设备,如声卡,但也可用于其他设备和目的。

基于Windows的网络驱动程序是动态链接库,为使用Windows网络功能连接和浏览网络资源的应用程序提供基础支持。系统级设备驱动程序是操作系统特定的可执行组件,可直接访问和管理计算机的硬件设备。关于这些组件如何处理系统消息的细节超出了本书的范围。