Читал спецификацию OLE, там сказано что при изменении файла сервером, он посылает клиенту сообщение FileChanged с указателем на новый файл. Клиент читает новый файл, и понимает чего надо перерисовать.
Однако открыв какой-нибудь .rtf со ссылкой на .bmp мы увидим там кроме ссылки, еще картинку в .wmf формате. Формат этот векторный.
Собственно вопрос — в каком формате клиент с сервером обмениваются файлами с помощью этих сообщений FileChanged? Если исходными, то как клиент понимает чего рисовать? Он же не знает формат файла сервера? Если тоже .wmf — то получается каждый сервер должен уметь генерить .wmf из своего формата?
Если склероз мне не изменяет… Серверу вроде бы передается контекст на котором он и должен себя отрисовать. После этого клиент из отрисованного может сгенерить заглушку в виде картинки и отображать, ее если например сервер не доступен (открыли на другом компе). Или даже сервер сам эту заглушку генерит. WMF это скорее всего оно и есть. Винда в принципе WMF сама умеет рисовать.
Вопрос-то не в этом. Если клиент и сервер обмениваются WMF — значит они должны и клиент и сервер уметь с ним работать. То есть если я хочу написать, например, клон WordPad — мне нужно будет реализовывать WMF? Или OLE умеет общаться и с другими форматами?