Función ChangeWindowMessageFilterEx (winuser.h)
Modifica el filtro de mensajes de aislamiento de privilegios de la interfaz de usuario (UIPI) para una ventana especificada.
Sintaxis
BOOL ChangeWindowMessageFilterEx(
[in] HWND hwnd,
[in] UINT message,
[in] DWORD action,
[in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);
Parámetros
[in] hwnd
Tipo: HWND
Identificador de la ventana cuyo filtro de mensajes UIPI se va a modificar.
[in] message
Tipo: UINT
Mensaje que el filtro de mensajes permite a través de bloques o .
[in] action
Tipo: DWORD
La acción que se va a realizar y puede realizar uno de los siguientes valores:
Valor | Significado |
---|---|
|
Permite el mensaje a través del filtro. Esto permite que hWnd reciba el mensaje, independientemente del origen del mensaje, incluso de un proceso con privilegios inferiores. |
|
Bloquea el mensaje que se va a entregar a hWnd si procede de un proceso con privilegios inferiores, a menos que se permita el mensaje en todo el proceso mediante la función ChangeWindowMessageFilter o globalmente. |
|
Restablece el filtro de mensajes de la ventana para hWnd al valor predeterminado. Se bloqueará cualquier mensaje permitido global o en todo el proceso, pero se bloqueará cualquier mensaje que no se incluya en esas dos categorías y que provenga de un proceso con privilegios inferiores. |
[in, out, optional] pChangeFilterStruct
Tipo: PCHANGEFILTERSTRUCT
Puntero opcional a una estructura CHANGEFILTERSTRUCT .
Valor devuelto
Tipo: BOOL
Si la función se realiza correctamente, devuelve TRUE; de lo contrario, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError.
Comentarios
UIPI es una característica de seguridad que impide que se reciban mensajes de un remitente de nivel de integridad inferior. Puede usar esta función para permitir que se entreguen mensajes específicos a una ventana aunque el mensaje se origine en un proceso en un nivel de integridad inferior. A diferencia de la función ChangeWindowMessageFilter , que controla el filtro de mensajes de proceso, la función ChangeWindowMessageFilterEx controla el filtro de mensajes de la ventana.
Una aplicación puede usar la función ChangeWindowMessageFilter para permitir o bloquear un mensaje de una manera de todo el proceso. Si el mensaje lo permite el filtro de mensajes de proceso o el filtro de mensajes de la ventana, se entregará a la ventana.
Tenga en cuenta que los procesos en o por debajo de SECURITY_MANDATORY_LOW_RID no pueden cambiar el filtro de mensajes. Si esos procesos llaman a esta función, se producirá un error y se generará el código de error extendido, ERROR_ACCESS_DENIED.
Es necesario pasar determinados mensajes cuyo valor sea menor que WM_USER a través del filtro, independientemente de la configuración del filtro. No habrá ningún efecto al intentar usar esta función para permitir o bloquear dichos mensajes.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-gui-l1-3-0 (introducido en Windows 10, versión 10.0.10240) |
Consulte también
Conceptual
Referencia