Skip to content
TopicTracker
From devblogs.microsoft.com/oldnewthingView original
TranslationTranslation

Retrofitting the WM_COPY­DATA message onto Windows 3.1

Raymond Chen explains how the WM_COPYDATA message was designed to be simple to retrofit onto Windows 3.1, allowing seamless data transfer between 16-bit and 32-bit applications without breaking compatibility.

Background

Raymond Chen's "The Old New Thing" is a long-running Microsoft blog that chronicles Windows history, often revealing design decisions and constraints faced by the Windows team in the 1990s. WM_COPYDATA is a Windows message that lets one running program safely pass data to another. It was introduced in Windows 3.1 (1992) — a 16-bit operating system that ran on top of MS-DOS, with no memory protection between applications and very limited address space (64 KB segments). The challenge was to retrofit this inter-process communication mechanism into a system where processes could crash each other and memory was extremely scarce. Chen's point is that the design looks simple in retrospect because the team worked within brutal constraints — not despite them.

Related stories

  • The article discusses how to retrofit the WM_COPYDATA message, which was introduced in Win32s, onto Windows 3.1 to allow inter-process communication between 16-bit and 32-bit applications. It explains the challenges and solutions for implementing this message in a 16-bit environment that originally lacked it.