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


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


Для создания идентификатора строки, необходимо воспользоваться функцией DdeCreateStringHandle:

HSZ WINAPI DdeCreateStringHandle(

DWORD idInst,

LPCSTR psz,

Int iCodePage);

Функция получает следующие параметры:

  • idInst – программный идентификатор приложения, полученный при регистрации в библиотеке DDEML;
  • psz – адрес текстовой строки, завершенной двоичным нулем. Длина строки не должна превышать 255 байт.
  • iCodePage – кодовая страница, определяющая тип строки, получаемой на вход. При указании константы CP_WINANSI данная строка рассматривается как строка ANSI. Если указать константу CP_WINUNICODE, то строка рассматривается как состоящая из символов Unicode.

Функция возвращает идентификатор, который библиотека DDEML присвоила данной строке.

Для того, чтобы освободить ресурсы, связанные с зарегистрированной строкой, клиентское приложение должно вызвать функцию отмены регистрации данной строки DdeFreeStringHandle:

BOOL WINAPI DdeFreeStringHandle(

DWORD idInst,

HSZ hsz);

В качестве параметров функция получает следующее:

  • idInst – программный идентификатор приложения, полученный при регистрации в библиотеке DDEML;
  • hsz – идентификатор строки.

Функция возвращает значение true, если операция прошла успешно, и false - если при выполнении функции произошли ошибки.

Для того, чтобы получить строку по ее идентификатору, необходимо воспользоваться функцией DdeQueryString:

DWORD WINAPI DdeQueryString(

DWORD idInst,

HSZ hsz,

LPSTR psz,

DWORD cchMax,

Int iCodePage

);

В качестве параметров функция получает следующее:

  • idInst - программный идентификатор приложения, полученный при регистрации в библиотеке DDEML;
  • hsz – идентификатор строки, которую нужно получить.
  • psz – указательна буфер, в который будет записана строка
  • cchMax – максимальная длина строки в символах. Вид символа определяется следующим по порядку параметром и может быть ANSI (1 байт) или Unicode (2 байта)
  • iCodePage – определяет тип символов строки. Возможные значения CP_WINANSI – для символов стандарта ANSI (1 байт) и CP_WINUNICODE – для символов стандарта Unicode (2 байта).

Функция возвращает количество скопированных символов.


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



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