Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы

Кабель МКЭКШВ нг-LS хотите узнать про Кабель.

Отладка DDEML-приложений - часть 4


Следом идет обращение к функции обратного вызова:

Task:0x458f Time:7770624 Callback: Type=Poke, fmt=0x1("CF_TEXT"), hConv=0x75f24, hsz1=0xc0d5("BMPFile") hsz2=0xc2d8("DDEData"), hData=0x4537232c, dwData1=0x0, dwData2=0x0 return=0x8000 Input data= "c:\nicebmp\sky.bmp"

А вот запрос данных от сервера:

Task:0x458f Time:7772052 hwndTo=0x5f24 Message(Posted)=Request: hwndFrom=0x5e44, lParam=0xc2d80001 fmt=0x1("CF_TEXT") Item=0xc2d8("DDEData") Task:0x458f Time:7772052 Callback: Type=Request, fmt=0x1("CF_TEXT"), hConv=0x75f24, hsz1=0xc0d5("BMPFile") hsz2=0xc2d8("DDEData"), hData=0x0, dwData1=0x0, dwData2=0x0 return=0x2daf02fc Output data= "DDEML Server v.1.0, (C) Frolov A.V."

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

Task:0x458f Time:7774578 hwndTo=0x5f24 Message(Posted)=Terminate: hwndFrom=0x5e44, lParam=0x0 dFrom=0x5e44, lParam=0x0 Task:0x458f Time:7774688 Callback: Type=Disconnect, fmt=0x0("?"), hConv=0x75f24, hsz1=0x0("") hsz2=0x0(""), hData=0x0, dwData1=0x0, dwData2=0x0 return=0x0

Перед завершением работы сервер должен сообщить системе DDEML, что обеспечиваемый им сервис больше не доступен. Следующий фрагмент листинга отражает процедуру "изъятия" сервиса :

Task:0x458f Time:7776281 Callback: Type=Unregister, fmt=0x0("?"), hConv=0x0, hsz1=0xc0d0("BMPServer") hsz2=0x5c40c0d0("BMPServer:(5c40)"), hData=0x0, dwData1=0x0, dwData2=0x0 return=0x0

Анализируя содержимое протокола отладки, вы можете проследить за тем, чтобы при завершении сервера освобождались все занимаемые им ресурсы, такие как идентификаторы строк и сервис. Вы можете проверить значения параметров функции обратного вызова для всех или отдельных транзакций, проследить формат передаваемых данных и многое другое.




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



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