Compartir a través de


Función de devolución de llamada WNDPROC (winuser.h)

Función de devolución de llamada, que se define en la aplicación, que procesa los mensajes enviados a una ventana. El tipo WNDPROC define un puntero a esta función de devolución de llamada. El nombre de WndProc es un marcador de posición para el nombre de la función que se define en la aplicación.

Sintaxis

WNDPROC Wndproc;

LRESULT Wndproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parámetros

unnamedParam1

Tipo: HWND

Un identificador de la ventana. Este parámetro se suele denominar hWnd.

unnamedParam2

Tipo: UINT

Mensaje. Este parámetro se suele denominar uMsg.

Para obtener listas de los mensajes proporcionados por el sistema, consulte Mensajes definidos por el sistema.

unnamedParam3

Tipo: WPARAM

Información adicional del mensaje. Este parámetro se suele denominar wParam.

El contenido del parámetro wParam depende del valor del parámetro uMsg .

unnamedParam4

Tipo: LPARAM

Información adicional del mensaje. Este parámetro se suele denominar lParam.

El contenido del parámetro lParam depende del valor del parámetro uMsg .

Valor devuelto

Tipo: LRESULT

El valor devuelto es el resultado del procesamiento del mensaje y depende del mensaje enviado.

Comentarios

Si la aplicación se ejecuta en una versión de 32 bits del sistema operativo Windows, las excepciones no detectadas de la devolución de llamada se pasarán a los controladores de excepciones de nivel superior de la aplicación cuando estén disponibles. A continuación, el sistema llama al filtro de excepciones no controladas para controlar la excepción antes de finalizar el proceso. Si el PCA está habilitado, ofrecerá corregir el problema la próxima vez que ejecute la aplicación.

Sin embargo, si la aplicación se ejecuta en una versión de 64 bits del sistema operativo Windows o WOW64, debe tener en cuenta que un sistema operativo de 64 bits controla las excepciones no detectadas de forma diferente en función de su arquitectura de procesador de 64 bits, arquitectura de excepciones y convención de llamada. En la tabla siguiente se resumen todas las formas posibles de que un sistema operativo Windows de 64 bits o WOW64 controle las excepciones no detectadas.

Tipo de comportamiento Cómo controla el sistema las excepciones no detectadas
1 El sistema suprime las excepciones no detectadas.
2 El sistema finaliza primero el proceso y, a continuación, el Asistente de compatibilidad de programas (PCA) ofrece corregirlo la próxima vez que ejecute la aplicación. Para deshabilitar la mitigación de PCA, agregue una sección Compatibilidad al manifiesto de aplicación.
3 El sistema llama a los filtros de excepción, pero suprime las excepciones no detectadas cuando deja el ámbito de devolución de llamada, sin invocar a los controladores asociados.

En la tabla siguiente se muestra cómo una versión de 64 bits del sistema operativo Windows y WOW64 controla las excepciones no detectadas. Observe que el tipo de comportamiento 2 solo se aplica a la versión de 64 bits del sistema operativo Windows 7 y versiones posteriores.

Sistema operativo WOW64 Windows de 64 bits
Windows XP 3 1
Windows Server 2003 3 1
Windows Vista 3 1
Windows Vista SP1 1 1
Windows 7 y versiones posteriores 1 2

Nota

En Windows 7 con SP1 (32 bits, 64 bits o WOW64), el sistema llama al filtro de excepciones no controladas para controlar la excepción antes de finalizar el proceso. Si el Asistente de compatibilidad de programas (PCA) está habilitado, se ofrecerá corregir el problema la próxima vez que ejecute la aplicación.

Si necesita controlar excepciones en la aplicación, puede usar el control de excepciones estructurado para hacerlo. Para obtener más información sobre cómo usar el control de excepciones estructurado, consulte Control de excepciones estructurado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado winuser.h (incluye windows.h)

Consulte también