22 сент. 2010 г.

WM_COPYDATA

Сообщение WM_COPYDATA посылается когда приложение отправляет данные к другому приложению.
wParam = (WPARAM) (HWND) hwnd;             // дескриптор окна-отправителя
lParam = (LPARAM) (PCOPYDATASTRUCT) pcds; // адрес структуры с данными
Параметры:

hwnd Определяет окно, отправившего данные.
pcds Адрес структуры COPYDATASTRUCT, которая содержит передаваемые данные.
Возвращаемые значения:
Если приложение обрабатывает это сообщение, оно должно вернуть TRUE; в обратном случае, оно должно вернуть FALSE.
Замечания:
Приложение должно использовать функцию SendMessage для отправки этого сообщения, а не функцию PostMessage.

Передаваемые данные не должны содержать адреса или другие ссылки на объекты, которые недоступны принимаемому приложению.

Когда это сообщение послано, данные не должны изменяться другим потоком отправляющего потока.

Получающее приложение должно рассматривать данные как данные только для чтения. Параметр pcds действителен только в течении обработки сообщения. Получающее приложение не должно освобождать память, на которую ссылается pcds. Если получающее приложение должно иметь доступ к данным после возвращения SendMessage, оно должно скопировать данные в локальный буффер.
Смотрите также:
PostMessage, SendMessage, COPYDATASTRUCT