Средства разработки приложений


Описание протокола DDE - часть 6


Этот идентификатор получен при создании канала.
  • hsz1 – идентификатор строки названия раздела.
  • hsz2 – идентификатор строки названия элемента данных.
  • hData – идентификатор глобальной области в памяти, где находятся данные от сервера. Данные необходимо получить с помощью функции DdeGetData.
  • В свою очередь функция запуска транзакции DdeClientTransaction имеет следующий заголовок:

    HDDEDATA WINAPI DdeClientTransaction(

    void FAR* pData,

    DWORD cbData,

    HCONV hConv,

    HSZ hszItem,

    UINT uFmt,

    UINT uType,

    DWORD dwTimeout,

    DWORD FAR* pdwResult

    );

    • pData - ссылка на данные, передаваемые транзакцией.
    • cbData - размер передаваемых данных
    • hConv - идентификатор канала связи, полученный заранее функцией DdeConnect
    • hszItem - идентификатор элемента данных, в нашем случае - ячейки. Идентификатор должен быть получен заранее, с помощью функции DdeCreateStringHandle.
    • uFmt - формат данных. Для случая с Excel указывается константа CF_TEXT(1)
    • uType - код транзакции. Определяется комбинацией битовых флагов. В случае организации горячего канала выполняется транзакция XTYP_ADVSTART - для начала цикла получения данных из ячейки (подписки на ячейку) и XTYP_ADVSTOP - для прекращения цикла получения данных из ячейки (отписки от ячейки).
    • dwTimeout - тайм-аут для синхронных транзакций - максимальное время выполнения синхронной транзакции. Если в качестве параметра передать 0, то будет запущена асинхронная транзакция. При запуске синхронной транзакции, приложение ждет ее завершения. При этом максимальное время выполнения транзакции определяется значением параметра. При запуске асинхронной транзакции приложение не ждет завершения транзакции и продолжает свою работу. По завершению транзакции клиент получит транзакцию XTYP_XACT_COMPLETE.
    • pdwResult - ссылка на двойное слово, в которое будет записан код завершения транзакции. Изначально эта переменная должна быть приравнена к нулю. (По рекомендации Microsoft, не рекомендуется использовать этот параметр, так как, возможно, в дальнейшем он поддерживаться не будет).
    • Возвращает нулевое значение, если транзакция была выполнена с ошибкой, или ненулевую величину, смысл которой зависит от транзакции, (В нашем случае будет возвращена единица) при нормальном выполнении.



    Начало  Назад  Вперед



    Книжный магазин