Share via


BroadcastSystemMessageW-Funktion (winuser.h)

Sendet eine Nachricht an die angegebenen Empfänger. Die Empfänger können Anwendungen, installierbare Treiber, Netzwerktreiber, Gerätetreiber auf Systemebene oder eine beliebige Kombination dieser Systemkomponenten sein.

Um zusätzliche Informationen zu erhalten, wenn die Anforderung definiert ist, verwenden Sie die BroadcastSystemMessageEx-Funktion .

Syntax

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

Parameter

[in] flags

Art: DWORD

Die Broadcastoption. Bei diesem Parameter kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
BSF_ALLOWSFW
0x00000080
Ermöglicht dem Empfänger das Festlegen des Vordergrundfensters während der Verarbeitung der Nachricht.
BSF_FLUSHDISK
0x00000004
Leert den Datenträger, nachdem jeder Empfänger die Nachricht verarbeitet hat.
BSF_FORCEIFHUNG
0x00000020
Die Nachricht wird weiterhin gesendet, auch wenn der Timeoutzeitraum verstrichen ist oder einer der Empfänger nicht reagiert.
BSF_IGNORECURRENTTASK
0x00000002
Sendet die Nachricht nicht an Fenster, die zur aktuellen Aufgabe gehören. Dadurch wird verhindert, dass eine Anwendung eine eigene Nachricht empfängt.
BSF_NOHANG
0x00000008
Erzwingt ein Timeout für eine nicht reagierende Anwendung. Wenn bei einem der Empfänger ein Zeitüberschreitungsüberschreitung besteht, senden Sie die Nachricht nicht weiter.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
Wartet auf eine Antwort auf die Nachricht, solange der Empfänger nicht reagiert. Kein Timeout.
BSF_POSTMESSAGE
0x00000010
Sendet die Nachricht. Verwenden Sie nicht in Kombination mit BSF_QUERY.
BSF_QUERY
0x00000001
Sendet die Nachricht jeweils an einen Empfänger und sendet nur dann an einen nachfolgenden Empfänger, wenn der aktuelle Empfänger TRUE zurückgibt.
BSF_SENDNOTIFYMESSAGE
0x00000100
Sendet die Nachricht mithilfe der SendNotifyMessage-Funktion . Verwenden Sie nicht in Kombination mit BSF_QUERY.

[in, out, optional] lpInfo

Typ: LPDWORD

Ein Zeiger auf eine Variable, die Informationen zu den Empfängern der Nachricht enthält und empfängt.

Wenn die Funktion zurückgibt, empfängt diese Variable eine Kombination dieser Werte, die angibt, welche Empfänger die Nachricht tatsächlich empfangen haben.

Wenn dieser Parameter NULL ist, wird die Funktion an alle Komponenten gesendet.

Bei diesem Parameter kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
BSM_ALLCOMPONENTS
0x00000000
Übertragung an alle Systemkomponenten.
BSM_ALLDESKTOPS
0x00000010
Übertragung auf alle Desktops. Erfordert das SE_TCB_NAME-Recht .
BSM_APPLICATIONS
0x00000008
Übertragung an Anwendungen.

[in] Msg

Typ: UINT

Die zu sendende Nachricht.

Listen der vom System bereitgestellten Nachrichten finden Sie unter Systemdefinierte Nachrichten.

[in] wParam

Typ: WPARAM

Zusätzliche meldungsspezifische Informationen.

[in] lParam

Typ: LPARAM

Zusätzliche meldungsspezifische Informationen.

Rückgabewert

Typ: long

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein positiver Wert.

Wenn die Funktion die Nachricht nicht senden kann, ist der Rückgabewert –1.

Wenn der dwFlags-ParameterBSF_QUERY ist und mindestens ein Empfänger BROADCAST_QUERY_DENY an die entsprechende Nachricht zurückgegeben wird, ist der Rückgabewert 0. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Bemerkungen

Wenn BSF_QUERY nicht angegeben ist, sendet die Funktion die angegebene Nachricht an alle angeforderten Empfänger, wobei die von diesen Empfängern zurückgegebenen Werte ignoriert werden.

Das System führt nur Marshalling für Systemmeldungen durch (solche im Bereich von 0 bis (WM_USER-1)). Um andere Nachrichten (diese >= WM_USER) an einen anderen Prozess zu senden, müssen Sie benutzerdefiniertes Marshalling durchführen.

Beispiele

Ein Beispiel finden Sie unter Beenden eines Prozesses.

Hinweis

Der winuser.h-Header definiert BroadcastSystemMessage als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

BroadcastSystemMessageEx

Konzept

Nachrichten und Nachrichtenwarteschlangen

Referenz

SendNotifyMessage