void* __stdcall Procedure(void* Window,
                          unsigned Messsage,
                          void* Parameter1,
                          void* Parameter2);

Prototype definition for a window procedure.


void* Window

The handle of the window.

unsigned Message

The message identity.

void* Parameter1

The first window parameter.

void* Parameter2

The second window parameter.



The value returned by the window procedure.


Based on its response to individual messages (such as Message::Paint etc), a window procedure defines the operational characteristics of the window. A window procedure is associated with a window class; that is, all windows of a class share the same window procedure. For this reason, if multiple windows of the same class are to be created (within a single process), the window procedure should be reentrant.

A window procedure is defined (to the operating system) through the function RegisterClass. Once registered, the operating system calls the window procedure as required.