Função ChangeWindowMessageFilterEx (winuser.h)
Modifica o filtro de mensagem UIPI (Isolamento de Privilégios de Interface do Usuário) para uma janela especificada.
Sintaxe
BOOL ChangeWindowMessageFilterEx(
[in] HWND hwnd,
[in] UINT message,
[in] DWORD action,
[in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);
Parâmetros
[in] hwnd
Digite: HWND
Um identificador para a janela cujo filtro de mensagem de UIPI deve ser modificado.
[in] message
Tipo: UINT
A mensagem que o filtro de mensagem permite por meio de blocos ou .
[in] action
Tipo: DWORD
A ação a ser executada e pode usar um dos seguintes valores:
Valor | Significado |
---|---|
|
Permite a mensagem por meio do filtro. Isso permite que a mensagem seja recebida pelo hWnd, independentemente da origem da mensagem, mesmo que ela venha de um processo com privilégios inferiores. |
|
Bloqueia a mensagem a ser entregue ao hWnd se ela vier de um processo com privilégios inferiores, a menos que a mensagem seja permitida em todo o processo usando a função ChangeWindowMessageFilter ou globalmente. |
|
Redefine o filtro de mensagem de janela para hWnd para o padrão. Qualquer mensagem permitida globalmente ou em todo o processo será enviada, mas qualquer mensagem não incluída nessas duas categorias e que venha de um processo com privilégios inferiores será bloqueada. |
[in, out, optional] pChangeFilterStruct
Tipo: PCHANGEFILTERSTRUCT
Ponteiro opcional para uma estrutura CHANGEFILTERSTRUCT .
Retornar valor
Tipo: BOOL
Se a função for bem-sucedida, ela retornará TRUE; caso contrário, retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.
Comentários
A UIPI é um recurso de segurança que impede que mensagens sejam recebidas de um remetente de nível de integridade inferior. Você pode usar essa função para permitir que mensagens específicas sejam entregues a uma janela, mesmo que a mensagem seja originada de um processo em um nível de integridade inferior. Ao contrário da função ChangeWindowMessageFilter , que controla o filtro de mensagem de processo, a função ChangeWindowMessageFilterEx controla o filtro de mensagem da janela.
Um aplicativo pode usar a função ChangeWindowMessageFilter para permitir ou bloquear uma mensagem em todo o processo. Se a mensagem for permitida pelo filtro de mensagem de processo ou pelo filtro de mensagem da janela, ela será entregue à janela.
Observe que os processos no SECURITY_MANDATORY_LOW_RID ou abaixo não têm permissão para alterar o filtro de mensagem. Se esses processos chamarem essa função, ela falhará e gerará o código de erro estendido , ERROR_ACCESS_DENIED.
Determinadas mensagens cujo valor é menor que WM_USER precisam ser passadas pelo filtro, independentemente da configuração de filtro. Não haverá efeito quando você tentar usar essa função para permitir ou bloquear essas mensagens.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-gui-l1-3-0 (introduzido no Windows 10, versão 10.0.10240) |
Confira também
Conceitual
Referência