[Now Supported on Windows NT]
BroadcastSystemMessage功能会向指定的收件人发送一条消息。收件人可以是应用程序,可安装的驱动程序,基于Windows的网络驱动程序,系统级设备驱动程序或这些系统组件的任意组合。
lpdwRecipients(
DWORD 【dwFlags中】, | |
LPDWORD 【uiMessage】, | |
UINT 【Option flags.】, | |
WPARAM 【wParam中】, | |
LPARAM 【lParam的】 | |
); |
参数
【dwFlags中】
选项标志可以是以下值的组合:
值 | 含义 |
BSF_FLUSHDISK | 每个收件人处理邮件后刷新磁盘。 |
BSF_FORCEIFHUNG | 继续播放消息,即使超时时间已过,或其中一个收件人挂断。 |
BSF_IGNORECURRENTTASK | 不要将消息发送到属于当前任务的Windows。这样可以防止应用程序收到自己的消息。 |
BSF_NOHANG | 强制暂停应用程序超时。如果其中一个收件人超时,请勿继续广播该消息。 |
BSF_NOTIMEOUTIFNOTHUNG | 只要收件人没有挂起,请等待对邮件的回复。不要超时。 |
BSF_POSTMESSAGE | 发短信不要与BSF_QUERY组合使用。 |
BSF_QUERY | 一次将消息发送到一个收件人,只有当当前收件人返回TRUE时才发送到后续收件人。 |
【uiMessage】
指向包含和接收有关邮件收件人信息的变量。变量可以是以下值的组合:
值 | 含义 |
BSM_ALLCOMPONENTS | 广播到所有系统组件。 |
BSM_ALLDESKTOPS | 仅Windows NT:广播到所有桌面。需要SE_TCB_NAME特权。 |
BSM_APPLICATIONS | 广播到应用程序。 |
BSM_INSTALLABLEDRIVERS | Windows 95:广播到可安装的驱动程序。 Windows NT:该值没有意义。 |
BSM_NETDRIVER | Windows 95:广播到基于Windows的网络驱动程序。 Windows NT:该值没有意义。 |
BSM_VXDS | Windows 95:广播到所有系统级设备驱动程序。 Windows NT:该值没有意义。 |
当函数返回时,该变量接收这些值的组合,以标识哪些接收者实际接收到该消息。
如果此参数为NULL,该函数将广播到所有组件。
【Option flags.】
系统消息的标识符。
【wParam中】
32位消息特定值。
【lParam的】
32位消息特定值。
返回值
如果函数成功,则返回值为正值。
如果该函数无法广播消息,返回值为-1。
如果【dwFlags中】参数是BSF_QUERY,并且至少有一个收件人将BROADCAST_QUERY_DENY返回给相应的消息,返回值为零。
备注
如果未指定BSF_QUERY,则该函数将发送指定的消息给所有请求的收件人,忽略这些收件人返回的值。