[C con Clase] Parámetros de WM_QUIT y PostQuitMessage() en WinAPI

David Reza l.fix3r.l en gmail.com
Mie Jul 16 06:53:06 CEST 2008


Hola, me estoy iniciando en el curos de WIN API 32 de Windows y a pesar de
que usa tecnicismos que desconozco, o mejor dicho, desconocía, he ido
aprendiendo mucho; pero tengo una duda respecto a lo siguiente:

En la definición del mensaje WM_QUIT viene ésto:


> WM_QUIT nExitCode = (int) wParam; // código de salida


y en la descripción:


>  *nExitCode:* valor de wParam. Indica el código de salida suministrado en
> la función *PostQuitMessage*.


Pero en la definición de la función PostQuitMessage dice:


> VOID PostQuitMessage( int nExitCode  // código se salida );


En la sección de Parámetros de la misma función dice:


> *nExitCode: *indica un código de salida de la aplicación. Este valor será
> usado como parámetro wParam del mensaje WM_QUIT<http://winapi.conclase.net/curso/index.php?men=WM_QUIT>


Yo no sé muy bien que es un mensaje concretamente, o cuál debe ser su
estructura, pero por lo que leo y a mi entender, los mensajes también tienen
parámetros, pero en el texto de la definición de WinMain dice:


> ... *WinMain* sale de la aplicación, devolviendo el valor pasado por el
> mensaje en el parámetro wParam. Si el mensaje *WM_QUIT* fue recibido como
> resultado de una llamada a PostQuitMessage<http://winapi.conclase.net/curso/index.php?fun=PostQuitMessage>,
> el valor del parámetro wParam es el valor del parámetro nExitCode de la
> función *PostQuitMessage*.
>

Entonces me confunde lo de el parámetro del mensaje WM_QUIT y el parámetro
de la función PostQuitMessage, porque hablan del parámetro wParam y no lo
veo declarado en ninguna de éstas dos definiciones, ni en el mensaje ni en
la función. También leí:


> Si la función tiene éxito, terminando cuando recibe el mensaje WM_QUIT<http://winapi.conclase.net/curso/index.php?men=WM_QUIT>,
> debe retornar con el valor de salida contenido en el parámetro *wParamit*del mensaje. Si la función termina antes de entrar en el bucle de mensajes,
> debe retornar con 0.
>

pero supongo que lo de wParamit fue un error de dedo.

Entonces me gustaría que me aclararan de quién es el parámetro wParam y de
quién es el parámetro nExitCode.

Yo creo que wParam es del mensaje WM_QUIT y el parámetro nExitcode es de la
función PostQuitMessage().

Y aprovechando el correo, me gustaría preguntar cómo es la sintáxis de un
parámetro de un mensaje. En la definición de WM_QUIT como ya mencioné, dice:


> WM_QUIT nExitCode = (int) wParam; // código de salida


suponiendo que lo de nExitCode está mal y debería ser wParam, entonces los
parámetros se declaran así nada mas, después del identificador del mensaje?
¿No se utilizan paréntesis o algo parecido?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080715/9968137d/attachment.html>


Más información sobre la lista de distribución Cconclase