Função ChangeWindowMessageFilter (winuser.h)
[Não é recomendável usar a função ChangeWindowMessageFilter , pois ela tem escopo em todo o processo. Em vez disso, use a função ChangeWindowMessageFilterEx para controlar o acesso a janelas específicas, conforme necessário. ChangeWindowMessageFilter pode não ter suporte em versões futuras do Windows.]
Adiciona ou remove uma mensagem do filtro de mensagem Isolamento de Privilégio de Interface do Usuário (UIPI).
Sintaxe
BOOL ChangeWindowMessageFilter(
[in] UINT message,
[in] DWORD dwFlag
);
Parâmetros
[in] message
Tipo: UINT
A mensagem a ser adicionada ou removida do filtro.
[in] dwFlag
Tipo: DWORD
A ação a ser executada. Um dos valores a seguir.
Retornar valor
Tipo: BOOL
TRUE se tiver êxito; caso contrário, 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. Todas essas mensagens com um valor acima WM_USER são bloqueadas por padrão. O filtro, um pouco contrário à intuição, é uma lista de mensagens que são permitidas. Portanto, adicionar uma mensagem ao filtro permite que essa mensagem seja recebida de um remetente de integridade inferior, ao mesmo tempo em que a remoção de uma mensagem impede que essa mensagem seja recebida.
Determinadas mensagens com um valor menor que WM_USER são necessárias para passar pelo filtro, independentemente da configuração do filtro. Você pode chamar essa função para remover uma dessas mensagens do filtro e ela retornará TRUE. No entanto, a mensagem ainda será recebida pelo processo de chamada.
Processos em SECURITY_MANDATORY_LOW_RID ou abaixo não têm permissão para alterar o filtro. Se esses processos chamarem essa função, ela falhará.
Para obter mais informações sobre níveis de integridade, consulte Noções básicas e trabalho no modo protegido Explorer internet.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |