Funzione ChangeWindowMessageFilterEx (winuser.h)
Modifica il filtro messaggi UIPI (User Interface Privilege Isolation) per una finestra specificata.
Sintassi
BOOL ChangeWindowMessageFilterEx(
[in] HWND hwnd,
[in] UINT message,
[in] DWORD action,
[in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);
Parametri
[in] hwnd
Tipo: HWND
Handle per la finestra il cui filtro messaggi UIPI deve essere modificato.
[in] message
Tipo: UINT
Messaggio consentito dal filtro messaggi tramite o blocchi.
[in] action
Tipo: DWORD
L'azione da eseguire e può accettare uno dei valori seguenti:
Valore | Significato |
---|---|
|
Consente il messaggio tramite il filtro. Ciò consente di ricevere il messaggio da hWnd, indipendentemente dall'origine del messaggio, anche da un processo con privilegi più basso. |
|
Blocca il messaggio da recapitare a hWnd se proviene da un processo con privilegi inferiore, a meno che il messaggio non sia consentito a livello di processo tramite la funzione ChangeWindowMessageFilter o a livello globale. |
|
Reimposta il filtro del messaggio della finestra per hWnd sul valore predefinito. Qualsiasi messaggio consentito a livello globale o a livello di processo passerà, ma qualsiasi messaggio non incluso in queste due categorie, e che proviene da un processo con privilegi inferiore, verrà bloccato. |
[in, out, optional] pChangeFilterStruct
Tipo: PCHANGEFILTERSTRUCT
Puntatore facoltativo a una struttura CHANGEFILTERSTRUCT .
Valore restituito
Tipo: BOOL
Se la funzione ha esito positivo, restituisce TRUE; in caso contrario, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
UIPI è una funzionalità di sicurezza che impedisce la ricezione di messaggi da un mittente a livello di integrità inferiore. È possibile usare questa funzione per consentire il recapito di messaggi specifici a una finestra anche se il messaggio ha origine da un processo a un livello di integrità inferiore. A differenza della funzione ChangeWindowMessageFilter , che controlla il filtro del messaggio di processo, la funzione ChangeWindowMessageFilterEx controlla il filtro del messaggio della finestra.
Un'applicazione può usare la funzione ChangeWindowMessageFilter per consentire o bloccare un messaggio in modo a livello di processo. Se il messaggio è consentito dal filtro del messaggio di elaborazione o dal filtro del messaggio della finestra, verrà recapitato alla finestra.
Si noti che i processi in corrispondenza o sotto SECURITY_MANDATORY_LOW_RID non sono autorizzati a modificare il filtro dei messaggi. Se questi processi chiamano questa funzione, avrà esito negativo e genererà il codice di errore esteso , ERROR_ACCESS_DENIED.
Alcuni messaggi il cui valore è inferiore a WM_USER devono essere passati attraverso il filtro, indipendentemente dall'impostazione del filtro. Non vi sarà alcun effetto quando si tenta di usare questa funzione per consentire o bloccare tali messaggi.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-gui-l1-3-0 (introdotto in Windows 10 versione 10.0.10240) |
Vedi anche
Informazioni concettuali
Riferimento