WM_COPYDATA

This message is sent when an application passes data to another application.

At a Glance

Header file: Winuser.h
Windows CE versions: 1.0 and later

Syntax

WM_COPYDATA wParam = (WPARAM)(HWND) hwndFrom;
lParam = (LPARAM)(PCOPYDATASTRUCT) pcds;

Parameters

hwnd

Handle to the window passing the data.

pcds

Pointer to a COPYDATASTRUCT structure that contains the data to be passed.

Return Values

If the receiving application processes this message, it should return TRUE; otherwise, it should return FALSE.

Remarks

An application must use the SendMessage function to send this message, not the PostMessage function.

The data being passed must not contain pointers or other references to objects not accessible to the application receiving the data.

While this message is being sent, the referenced data must not be changed by another thread of the sending process.

The receiving application should consider the data read-only. The pcds parameter is valid only during the processing of the message. The receiving application should not free the memory referenced by pcds. If the receiving application must access the data after SendMessage returns, it must copy the data into a local buffer.

For Windows CE versions 1.0 through 2.11, pcds cannot be a global or static variable. This causes the COPYDATASTRUCT structure to be corrupt when it reaches its destination. Later versions of Windows CE do not have this restriction.

See Also

PostMessage, SendMessage