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 retournée
Type : BOOL
TRUE en cas de réussite ; sinon, FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
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 |