ChangeWindowMessageFilterEx, fonction (winuser.h)
Modifie le filtre de message UIPI (User Interface Privilege Isolation) pour une fenêtre spécifiée.
Syntaxe
BOOL ChangeWindowMessageFilterEx(
[in] HWND hwnd,
[in] UINT message,
[in] DWORD action,
[in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);
Paramètres
[in] hwnd
Type : HWND
Handle de la fenêtre dont le filtre de message UIPI doit être modifié.
[in] message
Type : UINT
Message que le filtre de messages autorise via ou bloque.
[in] action
Type : DWORD
Action à effectuer et peut prendre l’une des valeurs suivantes :
Valeur | Signification |
---|---|
|
Autorise le message à travers le filtre. Cela permet au message d’être reçu par hWnd, quelle que soit la source du message, même s’il provient d’un processus à privilèges inférieurs. |
|
Bloque la remise du message à hWnd s’il provient d’un processus à privilèges inférieurs, sauf si le message est autorisé à l’échelle du processus à l’aide de la fonction ChangeWindowMessageFilter ou globalement. |
|
Rétablit le filtre de messages de fenêtre pour hWnd à la valeur par défaut. Tout message autorisé globalement ou à l’échelle du processus sera transmis, mais tout message non inclus dans ces deux catégories, et qui provient d’un processus à privilèges inférieurs, sera bloqué. |
[in, out, optional] pChangeFilterStruct
Type : PCHANGEFILTERSTRUCT
Pointeur facultatif vers une structure CHANGEFILTERSTRUCT .
Valeur retournée
Type : BOOL
Si la fonction réussit, elle retourne TRUE ; sinon, elle retourne 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. Vous pouvez utiliser cette fonction pour autoriser la remise de messages spécifiques à une fenêtre même si le message provient d’un processus à un niveau d’intégrité inférieur. Contrairement à la fonction ChangeWindowMessageFilter , qui contrôle le filtre de messages de processus, la fonction ChangeWindowMessageFilterEx contrôle le filtre de messages de fenêtre.
Une application peut utiliser la fonction ChangeWindowMessageFilter pour autoriser ou bloquer un message à l’échelle du processus. Si le message est autorisé par le filtre de message de processus ou par le filtre de message de fenêtre, il est remis à la fenêtre.
Notez que les processus au niveau ou en dessous de SECURITY_MANDATORY_LOW_RID ne sont pas autorisés à modifier le filtre de message. Si ces processus appellent cette fonction, elle échoue et génère le code d’erreur étendu , ERROR_ACCESS_DENIED.
Certains messages dont la valeur est inférieure à WM_USER doivent être passés par le filtre, quel que soit le paramètre de filtre. Il n’y aura aucun effet lorsque vous tentez d’utiliser cette fonction pour autoriser ou bloquer ces messages.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Ensemble d’API | ext-ms-win-ntuser-gui-l1-3-0 (introduit dans Windows 10, version 10.0.10240) |
Voir aussi
Conceptuel
Référence