Gabe wondered
when the WM_
message was introduced.
The WM_
message was introduced by Win32.
It did not exist in 16-bit Windows.
But it was there all along.
The
The WM_
message was carefully
designed so that it worked in 16-bit Windows automatically.
In other words, you
retained your source code compatibility
between 16-bit and 32-bit Windows
without having to do a single thing.
Phew, one fewer
breaking change between 16-bit and 32-bit Windows.
As Neil noted,
there's nothing stopping you from sending message 0x004A
in 16-bit Windows
with a window handle in the wParam
and a pointer to a
COPYDATASTRUCT
in the lParam
.
Since all 16-bit applications ran in the same address space,
the null marshaller successfully marshals the data between the
two processes.
In a sense, support for the WM_
message was ported downlevel even before the message existed!