|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Callback Function
An application that uses the DDEML must provide a callback function that processes the DDE events affecting the application. The DDEML notifies an application of such events by sending transactions to the application's DDE callback function. The transactions a callback function receives depend on which callback filter flags the application specified in DdeInitialize and whether the application is a client, a server, or both. For more information, please see DdeCallback.
The following example shows the general structure of a callback function for a typical client application.
HDDEDATA CALLBACK DdeCallback(uType, uFmt, hconv, hsz1, hsz2, hdata, dwData1, dwData2) UINT uType; /* transaction type */ UINT uFmt; /* clipboard data format */ HCONV hconv; /* handle of conversation */ HSZ hsz1; /* handle of string */ HSZ hsz2; /* handle of string */ HDDEDATA hdata; /* handle of global memory object */ DWORD dwData1; /* transaction-specific data */
DWORD dwData2; /* transaction-specific data */ { switch (uType) { case XTYP_REGISTER: case XTYP_UNREGISTER: . . . return (HDDEDATA) NULL; case XTYP_ADVDATA: . . . return (HDDEDATA) DDE_FACK; case XTYP_XACT_COMPLETE: . . . return (HDDEDATA) NULL;
case XTYP_DISCONNECT: . . . return (HDDEDATA) NULL; default: return (HDDEDATA) NULL; } }
The uType parameter specifies the transaction type sent to the callback function by the DDEML. The values of the remaining parameters depend on the transaction type. The transaction types and the events that generate them are described in the following topics. For detailed information about each transaction type, see Transaction Management.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Функция Возврата
Приложение, которое использует DDEML должен обеспечить функцию возврата, которая обрабатывает события DDE, влияющие на приложение. DDEML Уведомляет приложение о таких событиях посылая сделки в прикладную функцию возврата DDE. Сделки функциональные приемники возврата зависят от которого фильтр возврата сигнализирует приложение определенное в DdeInitialize и независимо приложение - клиент, сервер, или оба. Более подробно, пожалуйста смотри DdeCallback.
Следующий пример показывает общую структуру функции возврата для типичного приложения клиента.
HDDEDATA CALLBACK DdeCallback(uType, uFmt, hconv, hsz1, hsz2, hdata, dwData1, dwData2) UINT uType; /* тип сделки */ UINT uFmt; /* буфер формата данных */ HCONV hconv; /* ручка разговора */ hsz1 HSZ; /* ручка строки */ hsz2 HSZ; /* ручка строки */ HDDEDATA hdata; /* ручка глобального объекта памяти */ DWORD dwData1; /* сделка-специфические данные */
DWORD dwData2; /* сделка-специфические данные */ { ключ (uType) { случай XTYP_REGISTER: случай XTYP_UNREGISTER: . . . возврат (HDDEDATA) НЕДЕЙСТВИТЕЛЬНЫЙ; случай XTYP_ADVDATA: . . . возврат (HDDEDATA) DDE_FACK; случай XTYP_XACT_COMPLETE: . . . возврат (HDDEDATA) НЕДЕЙСТВИТЕЛЬНЫЙ;
случай XTYP_DISCONNECT: . . . возврат (HDDEDATA) НЕДЕЙСТВИТЕЛЬНЫЙ; умолчание: возврат (HDDEDATA) НЕДЕЙСТВИТЕЛЬНЫЙ; } }
Параметр uType определяет тип сделки посланный в функцию возврата DDEML. Величины остальных параметров зависят от типа сделки. Сделка набирается и события, которые генерируют им описаны в следующих темах. Для подробной информации о каждом типе сделки, смотри Управление Сделки.
|
|
|
|
| |