Función ChangeWindowMessageFilter (winuser.h)

[No se recomienda usar la función ChangeWindowMessageFilter , ya que tiene un ámbito de todo el proceso. En su lugar, use la función ChangeWindowMessageFilterEx para controlar el acceso a ventanas específicas según sea necesario. Es posible que ChangeWindowMessageFilter no se admita en versiones futuras de Windows.

Agrega o quita un mensaje del filtro de mensajes de aislamiento de privilegios de la interfaz de usuario (UIPI).

Sintaxis

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

Parámetros

[in] message

Tipo: UINT

Mensaje que se va a agregar o quitar del filtro.

[in] dwFlag

Tipo: DWORD

Acción que se va a realizar. Uno de los siguientes valores.

Valor Significado
MSGFLT_ADD
1
Agrega el mensaje al filtro. Esto tiene el efecto de permitir que se reciba el mensaje.
MSGFLT_REMOVE
2
Quita el mensaje del filtro. Esto tiene el efecto de bloquear el mensaje.

Valor devuelto

Tipo: BOOL

TRUE si se ejecuta correctamente; de lo contrario, FALSE. Para obtener información de error extendida, llame a GetLastError.

Nota Un mensaje se puede quitar correctamente del filtro, pero no es una garantía de que el mensaje se bloquee. Para obtener información más detallada, consulte la sección Comentarios.
 

Comentarios

UIPI es una característica de seguridad que impide que se reciban mensajes de un remitente de nivel de integridad inferior. Todos estos mensajes con un valor por encima de WM_USER están bloqueados de forma predeterminada. El filtro, algo contrario a la intuición, es una lista de mensajes que se permiten a través. Por lo tanto, agregar un mensaje al filtro permite que ese mensaje se reciba de un remitente de integridad inferior, mientras que la eliminación de un mensaje impide que se reciba ese mensaje.

Se requieren determinados mensajes con un valor menor que WM_USER para pasar por el filtro independientemente de la configuración del filtro. Puede llamar a esta función para quitar uno de esos mensajes del filtro y devolverá TRUE. Sin embargo, el proceso de llamada seguirá recibiendo el mensaje.

No se permite cambiar el filtro a los procesos en o por debajo de SECURITY_MANDATORY_LOW_RID . Si esos procesos llaman a esta función, se producirá un error.

Para obtener más información sobre los niveles de integridad, vea Descripción y funcionamiento en modo protegido de Internet Explorer.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll