Функция обратного вызова PFNCALLBACK (ddeml.h)
Определяемая приложением функция обратного вызова, используемая с функциями библиотеки DDEML . Он обрабатывает транзакции динамического обмена данными (DDE). Тип PFNCALLBACK определяет указатель на эту функцию обратного вызова. DdeCallback — это заполнитель для имени функции, определяемой приложением.
Синтаксис
PFNCALLBACK Pfncallback;
HDDEDATA Pfncallback(
[in] UINT wType,
[in] UINT wFmt,
[in] HCONV hConv,
[in] HSZ hsz1,
[in] HSZ hsz2,
[in] HDDEDATA hData,
[in] ULONG_PTR dwData1,
[in] ULONG_PTR dwData2
)
{...}
Параметры
[in] wType
Тип: UINT
Тип текущей транзакции. Этот параметр состоит из сочетания флагов класса транзакций и флагов типов транзакций. В следующей таблице описаны все классы транзакций и приведен список типов транзакций в каждом классе. Сведения о конкретном типе транзакции см. в отдельном описании этого типа в разделе Примечания.
[in] wFmt
Тип: UINT
Формат отправки или получения данных.
[in] hConv
Тип: HCONV
Дескриптор диалога, связанного с текущей транзакцией.
[in] hsz1
Тип: HSZ
Дескриптор строки. Значение этого параметра зависит от типа текущей транзакции. Значение этого параметра см. в описании типа транзакции в разделе Примечания.
[in] hsz2
Тип: HSZ
Дескриптор строки. Значение этого параметра зависит от типа текущей транзакции. Значение этого параметра см. в описании типа транзакции в разделе Примечания.
[in] hData
Тип: HDDEDATA
Дескриптор данных DDE. Значение этого параметра зависит от типа текущей транзакции. Значение этого параметра см. в описании типа транзакции в разделе Примечания.
[in] dwData1
Тип: ULONG_PTR
Данные, относящиеся к транзакциям. Значение этого параметра см. в описании типа транзакции в разделе Примечания.
[in] dwData2
Тип: ULONG_PTR
Данные, относящиеся к транзакциям. Значение этого параметра см. в описании типа транзакции в разделе Примечания.
Возвращаемое значение
Тип: HDDEDATA
Возвращаемое значение зависит от класса транзакции. Дополнительные сведения о возвращаемых значениях см. в описании отдельных типов транзакций.
Комментарии
XCLASS_BOOL
Функция обратного вызова DDE должна возвращать значение TRUE или FALSE после завершения обработки транзакции, принадлежающей этому классу. Класс транзакций XCLASS_BOOL состоит из следующих типов:
XCLASS_DATA
Функция обратного вызова DDE должна возвращать дескриптор DDE, код возврата CBR_BLOCK или значение NULL после завершения обработки транзакции, принадлежающей этому классу. Класс транзакций XCLASS_DATA состоит из следующих типов:
XCLASS_FLAGS
Функция обратного вызова DDE должна возвращать DDE_FACK, DDE_FBUSY или DDE_FNOTPROCESSED после завершения обработки транзакции, которая принадлежит этому классу. Класс транзакций XCLASS_FLAGS состоит из следующих типов:
XCLASS_NOTIFICATION
Типы транзакций, принадлежащие этому классу, предназначены только для уведомлений. Возвращаемое значение функции обратного вызова игнорируется. Класс транзакций XCLASS_NOTIFICATION состоит из следующих типов:
- XTYP_ADVSTOP
- XTYP_CONNECT_CONFIRM
- XTYP_DISCONNECT
- XTYP_ERROR
- XTYP_MONITOR
- XTYP_REGISTER
- XTYP_XACT_COMPLETE
- XTYP_UNREGISTER
Функция обратного вызова вызывается асинхронно для транзакций, которые не связаны с созданием или завершением бесед. Приложение, которое не часто принимает входящие сообщения, снизит производительность DDE, так как библиотека управления динамическими данными (DDEML) использует сообщения для инициации транзакций.
Приложение должно зарегистрировать функцию обратного вызова, указав указатель на функцию в вызове функции DdeInitialize .
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ddeml.h (включая Windows.h) |
См. также раздел
Основные понятия