ChangeWindowMessageFilter, fonction (winuser.h)

[L’utilisation de la fonction ChangeWindowMessageFilter n’est pas recommandée, car elle a une portée à l’échelle du processus. Utilisez plutôt la fonction ChangeWindowMessageFilterEx pour contrôler l’accès à des fenêtres spécifiques en fonction des besoins. ChangeWindowMessageFilter peut ne pas être pris en charge dans les versions ultérieures de Windows.]

Ajoute ou supprime un message du filtre de message UIPI (User Interface Privilege Isolation).

Syntaxe

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

Paramètres

[in] message

Type : UINT

Message à ajouter ou à supprimer du filtre.

[in] dwFlag

Type : DWORD

Action à effectuer. Une des valeurs suivantes.

Valeur Signification
MSGFLT_ADD
1
Ajoute le message au filtre. Cela a pour effet de permettre la réception du message.
MSGFLT_REMOVE
2
Supprime le message du filtre. Cela a pour effet de bloquer le message.

Valeur retournée

Type : BOOL

TRUE en cas de réussite ; sinon, FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Note Un message peut être supprimé du filtre, mais cela ne garantit pas que le message sera bloqué. Pour plus d’informations, consultez la section Notes.
 

Remarques

UIPI est une fonctionnalité de sécurité qui empêche la réception de messages d’un expéditeur de niveau d’intégrité inférieur. Tous ces messages dont la valeur est supérieure WM_USER sont bloqués par défaut. Le filtre, quelque peu contraire à l’intuition, est une liste de messages qui sont autorisés à passer. Par conséquent, l’ajout d’un message au filtre permet de recevoir ce message d’un expéditeur d’intégrité inférieure, tandis que la suppression d’un message empêche la réception de ce message.

Certains messages dont la valeur est inférieure à WM_USER doivent passer par le filtre, quel que soit le paramètre de filtre. Vous pouvez appeler cette fonction pour supprimer l’un de ces messages du filtre et elle retourne TRUE. Toutefois, le message sera toujours reçu par le processus d’appel.

Les processus à SECURITY_MANDATORY_LOW_RID ou inférieurs ne sont pas autorisés à modifier le filtre. Si ces processus appellent cette fonction, elle échoue.

Pour plus d’informations sur les niveaux d’intégrité, consultez Understanding and Working in Protected Mode Internet Explorer.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll