Реферат: Протоколы и стандарты объектно-ориентированного программирования

!= NULL)

cConv++;

// Выделяем буфер для сохранения идентификаторов строк.

hconv = NULL;

aHsz = (HSZ *) LocalAlloc(LMEM_FIXED, cConv * sizeof(HSZ));

// Копируем идентификатор строки в буфер.

pHsz = aHsz;

ile((hconv = DdeQueryNextServer(hconvList,hconv)) != NULL)

{

DdeQueryConvInfo(hconv, QID_SYNC, (PCONVINFO) &ci);

DdeKeepStringHandle(idInst, ci.hszSvcPartner);

*pHsz++ = ci.hszSvcPartner;

}

.

. // Используем идентификатор: 'общаемся' с сервером.

.

// Освобождаем память и прекращаем диалог.

LocalFree((HANDLE) aHsz);

DdeDisconnectList(hconvList);

Приложение может оборвать индивидуальный диалог, находящий-

ся в списке диалогов путем вызова функции DdeDisconnect; приложе-

ние может оборвать все диалоги, находящиеся в списке путем вызо-

ва функции DdeDisconnectList.

Обе вышеуказанные функции указывают DDEML о необходимости

посылки транзакции вида XTYP_DISCONNECT во все функции партнеров

по диалогу данного приложения (в случае использования функции

DdeDisconnectList будет посылаться транзакция XTYP_DISCONNECT для

каждого элемента в списке диалогов).

Обмен данными между приложениями

К-во Просмотров: 467
Бесплатно скачать Реферат: Протоколы и стандарты объектно-ориентированного программирования