Поделиться через


Функция BroadcastSystemMessage (winuser.h)

Отправляет сообщение указанным получателям. Получателями могут быть приложения, устанавливаемые драйверы, сетевые драйверы, драйверы устройств на уровне системы или любое сочетание этих системных компонентов.

Чтобы получить дополнительные сведения, если запрос определен, используйте функцию BroadcastSystemMessageEx .

Синтаксис

long BroadcastSystemMessage(
  [in]                DWORD   flags,
  [in, out, optional] LPDWORD lpInfo,
  [in]                UINT    Msg,
  [in]                WPARAM  wParam,
  [in]                LPARAM  lParam
);

Параметры

[in] flags

Тип: DWORD

Параметр широковещательного вещания. Этот параметр может иметь одно или несколько из следующих значений.

Значение Значение
BSF_ALLOWSFW
0x00000080
Позволяет получателю задать окно переднего плана во время обработки сообщения.
BSF_FLUSHDISK
0x00000004
Очищает диск после того, как каждый получатель обработает сообщение.
BSF_FORCEIFHUNG
0x00000020
Продолжает транслировать сообщение, даже если истекло время ожидания или один из получателей не отвечает.
BSF_IGNORECURRENTTASK
0x00000002
Не отправляет сообщение в окна, принадлежащие текущей задаче. Это предотвращает получение приложением собственного сообщения.
BSF_NOHANG
0x00000008
Принудительное истечение времени ожидания приложения, не отвечающего на запросы. Если у одного из получателей истекает время ожидания, не продолжайте трансляцию сообщения.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
Ожидает ответа на сообщение, если получатель не отвечает. Время ожидания не истекает.
BSF_POSTMESSAGE
0x00000010
Публикует сообщение. Не используйте в сочетании с BSF_QUERY.
BSF_QUERY
0x00000001
Отправляет сообщение одному получателю за раз, отправляя его следующему получателю только в том случае, если текущий получатель возвращает значение TRUE.
BSF_SENDNOTIFYMESSAGE
0x00000100
Отправляет сообщение с помощью функции SendNotifyMessage . Не используйте в сочетании с BSF_QUERY.

[in, out, optional] lpInfo

Тип: LPDWORD

Указатель на переменную, которая содержит и получает сведения о получателях сообщения.

При возврате функции эта переменная получает сочетание этих значений, определяющее, какие получатели действительно получили сообщение.

Если этот параметр имеет значение NULL, функция передается всем компонентам.

Этот параметр может иметь одно или несколько из следующих значений.

Значение Значение
BSM_ALLCOMPONENTS
0x00000000
Широковещательная рассылка для всех компонентов системы.
BSM_ALLDESKTOPS
0x00000010
Широковещательная трансляция на всех рабочих столах. Требуется привилегия SE_TCB_NAME .
BSM_APPLICATIONS
0x00000008
Широковещательная рассылка в приложения.

[in] Msg

Тип: UINT

Отправляемое сообщение.

Списки системных сообщений см. в разделе Системные сообщения.

[in] wParam

Тип: WPARAM

Дополнительные сведения, относящиеся к сообщению.

[in] lParam

Тип: LPARAM

Дополнительные сведения, относящиеся к сообщению.

Возвращаемое значение

Тип: long

Если функция выполняется успешно, возвращаемое значение является положительным.

Если функция не может транслировать сообщение, возвращается значение –1.

Если параметр dwFlags имеет значение BSF_QUERY и хотя бы один получатель вернул BROADCAST_QUERY_DENY соответствующее сообщение, возвращаемое значение равно нулю. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Если BSF_QUERY не указан, функция отправляет указанное сообщение всем запрошенным получателям, игнорируя значения, возвращенные этими получателями.

Система выполняет маршалинг только для системных сообщений (в диапазоне от 0 до (WM_USER–1)). Чтобы отправить другие сообщения (т. е>. WM_USER) в другой процесс, необходимо выполнить настраиваемую маршалинг.

Примеры

Пример см . в разделе Прекращение процесса.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

BroadcastSystemMessageEx

Основные понятия

Сообщения и очереди сообщений

Справочные материалы

SendNotifyMessage