Condividi tramite


Funzione ChangeWindowMessageFilter (winuser.h)

[L'uso della funzione ChangeWindowMessageFilter non è consigliato, perché ha ambito a livello di processo. Usare invece la funzione ChangeWindowMessageFilterEx per controllare l'accesso a finestre specifiche in base alle esigenze. ChangeWindowMessageFilter potrebbe non essere supportato nelle versioni future di Windows.

Aggiunge o rimuove un messaggio dal filtro del messaggio UiPI (User Interface Privilege Isolation).

Sintassi

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

Parametri

[in] message

Tipo: UINT

Messaggio da aggiungere o rimuovere dal filtro.

[in] dwFlag

Tipo: DWORD

Azione da eseguire. Uno dei valori seguenti.

Valore Significato
MSGFLT_ADD
1
Aggiunge il messaggio al filtro. Questo ha l'effetto di consentire la ricezione del messaggio.
MSGFLT_REMOVE
2
Rimuove il messaggio dal filtro. Questo ha l'effetto di bloccare il messaggio.

Valore restituito

Tipo: BOOL

TRUE se ha esito positivo; in caso contrario, FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Nota Un messaggio può essere rimosso correttamente dal filtro, ma non è una garanzia che il messaggio venga bloccato. Per altre informazioni, vedere le sezione Osservazioni.
 

Commenti

UIPI è una funzionalità di sicurezza che impedisce la ricezione di messaggi da un mittente di livello di integrità inferiore. Tutti questi messaggi con un valore precedente WM_USER vengono bloccati per impostazione predefinita. Il filtro, in qualche modo contrario all'intuizione, è un elenco di messaggi consentiti attraverso. Pertanto, l'aggiunta di un messaggio al filtro consente di ricevere il messaggio da un mittente di integrità inferiore, rimuovendo un messaggio che impedisce la ricezione di un messaggio.

Alcuni messaggi con un valore minore di WM_USER sono necessari per passare il filtro indipendentemente dall'impostazione del filtro. È possibile chiamare questa funzione per rimuovere uno di questi messaggi dal filtro e restituirà TRUE. Tuttavia, il messaggio verrà comunque ricevuto dal processo di chiamata.

I processi in corrispondenza o sotto SECURITY_MANDATORY_LOW_RID non sono autorizzati a modificare il filtro. Se questi processi chiamano questa funzione, avrà esito negativo.

Per altre informazioni sui livelli di integrità, vedere Informazioni e utilizzo in Modalità protetta Internet Explorer.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll