Freigeben über


BroadcastSystemMessageA-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 BroadcastSystemMessageA(
  [in]                DWORD   flags,
  [in, out, optional] LPDWORD lpInfo,
  [in]                UINT    Msg,
  [in]                WPARAM  wParam,
  [in]                LPARAM  lParam
);

Parameter

[in] flags

Typ: DWORD-

Die Übertragungsoption. Dieser Parameter kann einen oder mehrere der folgenden Werte sein.

Wert Bedeutung
BSF_ALLOWSFW
0x00000080
Ermöglicht es dem Empfänger, das Vordergrundfenster während der Verarbeitung der Nachricht festzulegen.
BSF_FLUSHDISK
0x00000004
Löscht den Datenträger, nachdem jeder Empfänger die Nachricht verarbeitet hat.
BSF_FORCEIFHUNG
0x00000020
Die Nachricht wird weiterhin übertragen, 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 eine nicht reagierende Anwendung zum Timeout. Wenn einer der Empfänger ausgeht, führen Sie die Übertragung der Nachricht nicht fort.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
Wartet auf eine Antwort auf die Nachricht, solange der Empfänger nicht reagiert. Timeout nicht.
BSF_POSTMESSAGE
0x00000010
Veröffentlicht die Nachricht. Verwenden Sie nicht in Kombination mit BSF_QUERY.
BSF_QUERY
0x00000001
Sendet die Nachricht gleichzeitig an einen Empfänger, der nur dann an einen nachfolgenden Empfänger gesendet wird, wenn der aktuelle Empfänger TRUEzurückgibt.
BSF_SENDNOTIFYMESSAGE
0x00000100
Sendet die Nachricht mithilfe 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ückgegeben wird, empfängt diese Variable eine Kombination dieser Werte, die bestimmen, welche Empfänger die Nachricht tatsächlich erhalten haben.

Wenn dieser Parameter NULL-ist, wird die Funktion an alle Komponenten übertragen.

Dieser Parameter kann einen oder mehrere der folgenden Werte sein.

Wert Bedeutung
BSM_ALLCOMPONENTS
0x00000000
Übertragen an alle Systemkomponenten.
BSM_ALLDESKTOPS
0x00000010
Übertragen auf alle Desktops. Erfordert die SE_TCB_NAME Berechtigung.
BSM_APPLICATIONS
0x00000008
Übertragen auf Anwendungen.

[in] Msg

Typ: UINT-

Die zu sendende Nachricht.

Listen der vom System bereitgestellten Nachrichten finden Sie unter System-Defined Nachrichten.

[in] wParam

Typ: WPARAM-

Zusätzliche nachrichtenspezifische Informationen.

[in] lParam

Typ: LPARAM-

Zusätzliche nachrichtenspezifische Informationen.

Rückgabewert

Typ: lange

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

Wenn die Funktion die Nachricht nicht übertragen kann, lautet der Rückgabewert –1.

Wenn der dwFlags Parameter BSF_QUERY ist und mindestens ein Empfänger BROADCAST_QUERY_DENY an die entsprechende Nachricht zurückgegeben hat, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

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

Das System marshallt nur für Systemmeldungen (die im Bereich 0 bis (WM_USER-1)). Um andere Nachrichten (die >= WM_USER) an einen anderen Prozess zu senden, müssen Sie benutzerdefinierte Marshalling durchführen.

Ein Beispiel finden Sie unter Beenden eines Prozess-.

Anmerkung

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 Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

BroadcastSystemMessageEx-

Konzeptionelle

Nachrichten- und Nachrichtenwarteschlangen

Referenz-

SendNotifyMessage-