Freigeben über


ChangeWindowMessageFilter-Funktion (winuser.h)

[Die Verwendung der ChangeWindowMessageFilter-Funktion wird nicht empfohlen, da sie über einen prozessweiten Bereich verfügt. Verwenden Sie stattdessen die ChangeWindowMessageFilterEx-Funktion , um den Zugriff auf bestimmte Fenster nach Bedarf zu steuern. ChangeWindowMessageFilter wird in zukünftigen Windows-Versionen möglicherweise nicht unterstützt.]

Fügt eine Nachricht aus dem UiPI-Nachrichtenfilter (User Interface Privilege Isolation) hinzu oder entfernt sie.

Syntax

BOOL ChangeWindowMessageFilter(
  [in] UINT  message,
  [in] DWORD dwFlag
);

Parameter

[in] message

Typ: UINT

Die Nachricht, die dem Filter hinzugefügt oder daraus entfernt werden soll.

[in] dwFlag

Art: DWORD

Die auszuführende Aktion. Einer der folgenden Werte.

Wert Bedeutung
MSGFLT_ADD
1
Fügt die Nachricht dem Filter hinzu. Dies hat zur Folge, dass die Nachricht empfangen werden kann.
MSGFLT_REMOVE
2
Entfernt die Nachricht aus dem Filter. Dies hat den Effekt, dass die Nachricht blockiert wird.

Rückgabewert

Typ: BOOL

TRUE , wenn erfolgreich; andernfalls FALSE. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweis Eine Nachricht kann erfolgreich aus dem Filter entfernt werden, aber dies ist keine Garantie dafür, dass die Nachricht blockiert wird. Weitere Details finden Sie im Abschnitt „Anmerkungen“.
 

Hinweise

UIPI ist ein Sicherheitsfeature, das verhindert, dass Nachrichten von einem Absender mit niedrigerer Integritätsebene empfangen werden. Alle derartigen Nachrichten mit einem Wert über WM_USER werden standardmäßig blockiert. Der Filter ist, etwas entgegen der Intuition, eine Liste von Nachrichten, die durchgelassen werden. Daher ermöglicht das Hinzufügen einer Nachricht zum Filter, dass diese Nachricht von einem Absender mit geringerer Integrität empfangen wird, während eine Nachricht entfernt wird, die den Empfang dieser Nachricht verhindert.

Bestimmte Nachrichten mit einem Wert kleiner als WM_USER müssen den Filter unabhängig von der Filtereinstellung durchlaufen. Sie können diese Funktion aufrufen, um eine dieser Nachrichten aus dem Filter zu entfernen und true zurückzugeben. Die Nachricht wird jedoch weiterhin vom aufrufenden Prozess empfangen.

Prozesse unter oder SECURITY_MANDATORY_LOW_RID dürfen den Filter nicht ändern. Wenn diese Prozesse diese Funktion aufrufen, tritt ein Fehler auf.

Weitere Informationen zu Integritätsstufen finden Sie unter Grundlegendes und Arbeiten im geschützten Modus internet Explorer.

Anforderungen

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