|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Initialization
Before calling any other DDEML function, an application must call the DdeInitialize function. DdeInitialize obtains an instance identifier for the application, registers the application's DDE callback function with the DDEML, and specifies the transaction filter flags for the callback function.
Each instance of an application or a dynamic-link library (DLL) must pass its instance identifier as the idInst parameter to any other DDEML function that requires it. The purpose of multiple DDEML instances is to support DLLs that must use the DDEML at the same time an application is using it. An application must not use more than one instance of the DDEML. Transaction filters optimize system performance by preventing the DDEML from passing unwanted transactions to the application's DDE callback function. An application sets the transaction filters when it calls DdeInitialize. An application must specify a transaction filter flag for each type of transaction that it does not process in its callback function. An application can change its transaction filters with a subsequent call to DdeInitialize. For a complete list of transaction filter flags, see the description of DdeInitialize in the Microsoft Win32 Programmer's Reference, Volume 3. For more information about transactions, see Transaction Management.
The following example shows how to initialize an application to use the DDEML.
DWORD idInst = 0; HINSTANCE hinst; . . . DdeInitialize(&idInst, /* receives instance identifier */ (PFNCALLBACK) DdeCallback, /* address of callback function */ CBF_FAIL_EXECUTES | /* filter XTYPE_EXECUTE */ CBF_SKIP_ALLNOTIFICATIONS, /* filter notifications */ 0); . . .
An application must call the DdeUninitialize function when it is no longer going to use the DDEML. This function terminates any conversations currently open for the application and frees the DDEML resources the system allocated for the application.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Инициализация
Перед вызовом любой другой функции DDEML, приложение должно назвать функцию DdeInitialize. DdeInitialize ПОЛУЧАЕТ идентификатор примера для приложения, регистрирует прикладную функцию возврата DDE с DDEML и определяет флаги фильтра сделки для функции возврата.
Каждый пример приложения или динамическая связь библиотеки (DLL) должен передать свой идентификатор примера как параметр idInst в любую другую функцию DDEML, которая требует это. Цель многочисленных примеров DDEML в том, чтобы поддерживать DLLs, что должно использовать DDEML в то же самое время приложение использует это. Приложение не должно использовать более, чем один пример DDEML. Фильтры Сделки оптимизируют системное исполнение предохраняя DDEML от проходящих нежелательных сделок в прикладную функцию возврата DDE. Приложение устанавливает фильтры сделки когда оно называет DdeInitialize. Приложение должно определить флаг фильтра сделки для каждого типа сделки, который оно не обрабатывается в своей функции возврата. Приложение может изменить свои фильтры сделки с последующим вызовом на DdeInitialize. Для полного списка флагов фильтра сделки, смотри описание DdeInitialize в Программисте Микрософт Win32 Ссылки, Объем 3. Более подробно о сделках, смотри Управление Сделки.
Следующий пример показывает как, чтобы инициализировать приложение, чтобы использовать DDEML.
DWORD idInst = 0; HINSTANCE hinst; . . . DdeInitialize(&idInst, /* ИДЕНТИФИКАТОР примера приемников */ (PFNCALLBACK) DdeCallback, /* адрес функции возврата */ CBF_FAIL_EXECUTES | /* отфильтруйте XTYPE_EXECUTE */ CBF_SKIP_ALLNOTIFICATIONS, /* отфильтруйте уведомления */ 0); . . .
Приложение должно назвать функцию DdeUninitialize когда оно собирается использовать DDEML. Эта функция завершает любую беседу к настоящему времени открытую для приложения и освобождает ресурсам DDEML систему распределенную для приложения.
|
|
|
|
| |