|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
WM_DDE_DATA
A DDE server application posts a WM_DDE_DATA message to a DDE client application to pass a data item to the client or to notify the client of the availability of a data item.
WM_DDE_DATA wParam = (WPARAM) hwnd; // handle of posting application lParam = (LPARAM) lPackedVal; // packed DDEDATA and item atom
Parameters
hwnd
Value of wParam. Identifies the server window posting the message.
lPackedVal
Value of lParam. The component parameters that are packed into lPackedVal are extracted by calling the UnpackDDElParam function. The low-order word is hData or NULL. The high-order word is aItem.
Parameter Description hData Identifies a global memory object containing a DDEDATA structure with the data and additional information. The handle should be set to NULL if the server is notifying the client that the data-item value has changed during a warm data link. A warm link is established by the client sending a WM_DDE_ADVISE message with the fDeferUpd bit set. aItem Contains an atom that identifies the data item for which the data or notification is sent.
Remarks
Posting
The server application posts the WM_DDE_DATA message by calling the PostMessage function, not the SendMessage function. The server application allocates hData by calling the GlobalAlloc function with the GMEM_DDESHARE option. It allocates aItem by calling the GlobalAddAtom function. The server must create or reuse the WM_DDE_DATA lPackedVal parameter by calling the PackDDElParam function or the ReuseDDElParam function with hData supplied as the low-order word and aItem supplied as the high-order word.
If the receiving (client) application responds with a negative WM_DDE_ACK message, the posting (server) application must delete the hData object; otherwise, the client must delete the hData object after extracting its contents by calling the UnpackDDElParam function. If the server application sets the fRelease member of the DDEDATA structure to FALSE, the server is responsible for deleting hData upon receiving either a positive or negative acknowledgement.
The server application should not set both the fAckReq and fRelease members of the DDEDATA structure to FALSE. If both members are set to FALSE, it is impossible for the server to determine when to delete hData.
Receiving
If fAckReq is TRUE, the client application should post the WM_DDE_ACK message to respond positively or negatively. When posting WM_DDE_ACK, the client can either reuse the aItem atom, or it can delete it and create a new one. The client must create or reuse the WM_DDE_ACK lPackedVal parameter by calling the PackDDElParam function or the ReuseDDElParam function with wStatus supplied as the low-order word and aItem supplied as the high-order word.
If fAckReq is FALSE, the client application should delete the aItem atom. If the posting (server) application specified hData as NULL, the receiving (client) application can request the server to send the data by posting a WM_DDE_REQUEST message. After processing a WM_DDE_DATA message in which hData is not NULL, the client should free hData, unless one of the following conditions is true:
· The fRelease member is FALSE. · The fRelease member is TRUE, but the client application responds with a negative WM_DDE_ACK message.
See Also
DDEDATA, FreeDDElParam, GlobalAddAtom, GlobalAlloc, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK, WM_DDE_ADVISE, WM_DDE_POKE, WM_DDE_REQUEST
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
WM_DDE_DATA
Приложение сервера DDE посылает сообщение WM_DDE_DATA в приложение клиента DDE, чтобы передавать пункт данных клиенту или, чтобы уведомлять клиент о доступности пункта данных.
WM_DDE_DATA wParam = (WPARAM) hwnd; // ручка приложения почтового отправления lParam = (LPARAM) lPackedVal; // упакованный DDEDATA и атом пункта
Параметры
hwnd
Величина wParam. Идентифицирует почтовому отправления окна сервера сообщение.
lPackedVal
Величина lParam. Компонентные параметры, которые упакованы в lPackedVal извлечены разговором функции UnpackDDElParam. Младшее слово hData или НЕДЕЙСТВИТЕЛЬНО. Старшее слово - aItem.
Описание Параметра hData Идентифицирует глобальный объект памяти, содержащий структуру DDEDATA с данными и дополнительной информацией. Ручка должна быть установлена на НЕДЕЙСТВИТЕЛЬНЫЙ если сервер уведомляет клиента, что данные-пункт величины изменились в течение теплой связи данных. Теплая связь установлена клиентом, посылающим сообщение WM_DDE_ADVISE с битом fDeferUpd установленным. aItem Содержит атом, который идентифицирует пункт данных для которого данные или уведомление послано.
Замечания
Почтовое отправления
Приложение сервера посылает сообщение WM_DDE_DATA вызывая функцию PostMessage, не функция SendMessage. Приложение сервера распределяет hData вызывая функцию GlobalAlloc с опцией GMEM_DDESHARE. Это распределяет aItem вызывая функцию GlobalAddAtom. Сервер должен создать или использовать многократно параметр WM_DDE_DATA lPackedVal вызывая функцию PackDDElParam или функция ReuseDDElParam с hData поставленное как младшее слово и aItem поставленный как старшее слово.
Если получающее приложение (клиент) указывает отрицательное сообщение WM_DDE_ACK, приложение почтового отправления (сервера) должно удалить объект hData; в противном случае, клиент должен удалить объект hData после извлечения содержания вызывая функцию UnpackDDElParam. Если приложение сервера устанавливает fRelease элемент структуры DDEDATA в ЛОЖЬ, сервер ответственный за удаляющий hData на получающем или положительное или отрицательное подтверждение.
Приложение сервера не должно устанавливать как fAckReq так и fRelease участников структуры DDEDATA в ЛОЖЬ. Если оба участника установлены в ЛОЖЬ, невозможно для сервера определяться когда, чтобы удалять hData.
Получающий
Если fAckReq - ИСТИНА, приложение клиента должно посылать сообщение WM_DDE_ACK, чтобы отвечать положительно или negatively. Когда почтовое отправления WM_DDE_ACK, клиент может или использовать многократно атом aItem, или это может удалить это и создает новый. Клиент должен создать или использовать многократно параметр WM_DDE_ACK lPackedVal вызывая функцию PackDDElParam или функция ReuseDDElParam с wStatus поставленное как младшее слово и aItem поставленный как старшее слово.
Если fAckReq - ЛОЖЬ, приложение клиента должно удалить атом aItem. Если приложение почтового отправления (сервера) определяло бы hData как НЕДЕЙСТВИТЕЛЬНЫЙ, получающее приложение (клиент) может запросить сервер, чтобы посылать данным почтовым отправления сообщение WM_DDE_REQUEST. После обработки сообщения WM_DDE_DATA в которой hData не НЕДЕЙСТВИТЕЛЕН, клиент должен освобождать hData, если одно из следующих условий не - истина:
fRelease Элемент ЛОЖНОЕ. fRelease Элемент является ИСТИНОЙ, но приложение клиента указывает отрицательное сообщение WM_DDE_ACK.
Смотри Также
DDEDATA, FreeDDElParam, GlobalAddAtom, GlobalAlloc, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK, WM_DDE_ADVISE, WM_DDE_POKE, WM_DDE_REQUEST
|
|
|
|
| |