Compartilhar via


Estrutura CHANGEFILTERSTRUCT (winuser.h)

Contém informações de resultado estendidas obtidas chamando a função ChangeWindowMessageFilterEx .

Sintaxe

typedef struct tagCHANGEFILTERSTRUCT {
  DWORD cbSize;
  DWORD ExtStatus;
} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;

Membros

cbSize

Tipo: DWORD

O tamanho da estrutura em bytes. Deve ser definido sizeof(CHANGEFILTERSTRUCT)como , caso contrário, a função falhará com ERROR_INVALID_PARAMETER.

ExtStatus

Tipo: DWORD

Se a função for bem-sucedida, esse campo conterá um dos valores a seguir.

Valor Significado
MSGFLTINFO_NONE
0
Consulte a seção Comentários. Aplica-se a MSGFLT_ALLOW e MSGFLT_DISALLOW.
MSGFLTINFO_ALLOWED_HIGHER
3
A mensagem é permitida em um escopo maior que a janela. Aplica-se a MSGFLT_DISALLOW.
MSGFLTINFO_ALREADYALLOWED_FORWND
1
A mensagem já foi permitida pelo filtro de mensagem desta janela e, portanto, a função foi bem-sucedida sem nenhuma alteração no filtro de mensagem da janela. Aplica-se a MSGFLT_ALLOW.
MSGFLTINFO_ALREADYDISALLOWED_FORWND
2
A mensagem já foi bloqueada pelo filtro de mensagem desta janela e, portanto, a função foi bem-sucedida sem nenhuma alteração no filtro de mensagem da janela. Aplica-se a MSGFLT_DISALLOW.

Comentários

Determinadas mensagens cujo valor é menor que WM_USER são necessárias para passar 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.

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.

A tabela a seguir lista os valores possíveis retornados em ExtStatus.

Mensagem já permitida no escopo superior Mensagem já permitida pelo filtro de mensagem da janela Operação solicitada Indicador retornado em ExtStatus em caso de êxito
Não Não MSGFLT_ALLOW MSGFLTINFO_NONE
Não Não MSGFLT_DISALLOW MSGFLTINFO_ALREADYDISALLOWED_FORWND
Não Não MSGFLT_RESET MSGFLTINFO_NONE
Não Sim MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
Não Sim MSGFLT_DISALLOW MSGFLTINFO_NONE
Não Sim MSGFLT_RESET MSGFLTINFO_NONE
Yes Não MSGFLT_ALLOW MSGFLTINFO_NONE
Sim Não MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
Sim Não MSGFLT_RESET MSGFLTINFO_NONE
Sim Sim MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
Yes Sim MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
Yes Sim MSGFLT_RESET MSGFLTINFO_NONE

Requisitos

   
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]
Cabeçalho winuser.h (inclua Windows.h)

Confira também

ChangeWindowMessageFilterEx