|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
WM_DDE_INITIATE
A DDE client application sends a WM_DDE_INITIATE message to initiate a conversation with a server application responding to the specified application and topic names. Upon receiving this message, all server applications with names that match the specified application and that support the specified topic are expected to acknowledge it. (For more information, see the WM_DDE_ACK message.)
WM_DDE_INITIATE wParam = (WPARAM) hwnd; // handle of posting appl. lParam = MAKELPARAM(aApp, aTopic); // appl. and topic atoms
Parameters
hwnd
Value of wParam. Identifies the client window sending the message.
aApp
Value of the low-order word of lParam. Contains an atom that identifies the application with which a conversation is requested. The application name cannot contain slashes (/) or backslashes (\). These characters are reserved for network implementations. If aApp is NULL, a conversation with all applications is requested.
aTopic
Value of the high-order word of lParam. Contains an atom that identifies the topic for which a conversation is requested. If the topic is NULL, conversations for all available topics are requested.
Remarks
If aApp is NULL, any server application can respond. If aTopic is NULL, any topic is valid. Upon receiving a WM_DDE_INITIATE request with the aTopic parameter set to NULL, a server must send a WM_DDE_ACK message for each of the topics it supports.
Sending
The client application sends WM_DDE_INITIATE by calling the SendMessage function, not the PostMessage function. The client broadcasts the message to all top-level windows by setting the first parameter of SendMessage to -1. If the client application has already obtained the window handle of the desired server, it can send WM_DDE_INITIATE directly to the server window by passing the server's window handle as the first parameter of SendMessage.
The client application allocates aApp and aTopic by calling GlobalAddAtom. When SendMessage returns, the client application must delete the aApp and aTopic atoms.
Receiving
To complete the initiation of a conversation, the server application must respond with one or more WM_DDE_ACK messages, where each message is for a separate topic. When sending WM_DDE_ACK message, the server should create new aApp and aTopic atoms; it should not reuse the atoms sent with WM_DDE_INITIATE.
See Also
GlobalAddAtom, GlobalAlloc, PostMessage, SendMessage, WM_DDE_ACK
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
WM_DDE_INITIATE
Приложение клиента DDE посылает сообщение WM_DDE_INITIATE, чтобы вводить разговор с приложением сервера, реагирующим на определенные прикладные и имена темы. В получающем этом сообщении, все приложения сервера с именами, которые соответствуют определенному приложению и, который поддерживает ожидается, что определенная тема признает это. (Более подробно, смотри WM_DDE_ACK message.)
WM_DDE_INITIATE wParam = (WPARAM) hwnd; // ручка применения почтового отправления. lParam = MAKELPARAM(aApp, aTopic); // прикладные и атомы темы
Параметры
hwnd
Величина wParam. Идентифицирует окно клиента посылая сообщение.
aApp
Оцените младшее слово lParam. Содержит атом, который идентифицирует приложение с которым разговор требуется. Прикладное имя не может содержать слэши (/) или обратная косая черта (\). Эти символы зарезервированы для сетевых реализаций. Если aApp НЕДЕЙСТВИТЕЛЕН, разговор со всеми приложениями требуется.
aTopic
Оцените старшее слово lParam. Содержит атом, который идентифицирует тему для которой разговор требуется. Если тема НЕДЕЙСТВИТЕЛЬНА, беседа для всех доступных тем требуется.
Замечания
Если aApp НЕДЕЙСТВИТЕЛЕН, любое приложение сервера может ответить. Если aTopic НЕДЕЙСТВИТЕЛЕН, любая тема в силе. На получающем запрос WM_DDE_INITIATE с параметром aTopic установленным на НЕДЕЙСТВИТЕЛЬНЫЙ, сервер должен послать сообщение WM_DDE_ACK для каждых тем, которые он поддерживает.
Посылка
Приложение клиента посылает WM_DDE_INITIATE вызывая функцию SendMessage, не функция PostMessage. Клиент транслирует сообщение во все окно верхнего уровня устанавливая первый параметр SendMessage, чтобы -1. Если приложение клиента уже получило бы ручку окна желаемого сервера, оно может послать WM_DDE_INITIATE непосредственно в окно сервера передавая ручку окна сервера как первый параметр SendMessage.
Приложение клиента распределяет aApp и aTopic вызывая GlobalAddAtom. Когда возврат SendMessage, приложение клиента должно удалить aApp и атомы aTopic.
Получающий
Для того, чтобы завершать инициацию разговора, приложение сервера должно указать одно или более сообщений WM_DDE_ACK, где каждое сообщение - для отдельной темы. При посылке сообщения WM_DDE_ACK, сервер должен создать новые aApp и атомы aTopic; это не должно использовать многократно атомы посланные WM_DDE_INITIATE.
Смотри Также
GlobalAddAtom, GlobalAlloc, PostMessage, SendMessage, WM_DDE_ACK
|
|
|
|
| |