Pointer conversion is normally performed automatically by the operating system. An application needs to provide its own pointer-conversion procedures only for application-defined messages which may be passed from 16-bit code to 32-bit code.
A pointer-conversion procedure is associated with a window by the WinSetWindowThunkProc and WinSetClassThunkProc functions.
The logic of the pointer-conversion procedure is as follows:
Note that structures to which the return value might point cannot be converted.
A pointer-conversion procedure should process only those messages that it recognizes. On receiving unrecognized messages, it should set usmsg to 0.