Сущность технологии СОМ. Библиотека программиста :: Бокс Дональд
Страница:
507 из 528
Для удобства приложениеСОМ Chat представлено здесь в отпечатанной форме.
СОМ Chat – программа диалогового взаимодействия на базе СОМ
СОМ Chat (чат) является законченной СОМ-программой, которая реализует рассредоточенное приложение диалогового взаимодействия, состоящее из нескольких разделов. Это приложение состоит из трех двоичных компонентов:
comchat.exe – интерактивный сервер,
comchatps.dll – интерфейсный маршалер для всех интерфейсов СОМ Chat,
client.exe – клиентское приложение, основанное на консоли.
Приложение базируется на единственном классе СОМ ( CLSID_ChatSession ). Как показано на рис. B.1, объект класса реализует интерфейс IChatSessionManager , а каждый сеанс связи ( chat session ) реализует интерфейс IChatSession . Клиенты, желающие получать извещения чата, должны подсоединить интерфейс IChatSessionEvents к объекту сеанса связи.
COMChat.idl
/////////////////////////////////////////////////////
//
// COMChat.idl
//
// Copyright 1997, Don Box/Addison Wesley
//
// This code accompanies the book "The Component
// Object Model" from Addison Wesley. Blah blah blah
//
//
interface IChatSessionEvents;
[
uuid(5223A050-2441-11d1-AF4F-0060976AA886),
object
]
interface IChatSession : IUnknown
{
import «objidl.idl»;
[propget] HRESULT SessionName([out, string] OLECHAR **ppwsz);
HRESULT Say([in, string] const OLECHAR *pwszStatement);
HRESULT GetStatements([out] IEnumString **ppes);
HRESULT Advise([in] IChatSessionEvents *pEventSink,
[out] DWORD *pdwReg);
HRESULT Unadvise([in] DWORD dwReg);
}
[
uuid(5223A051-2441-11d1-AF4F-0060976AA886),
object
]
interface IChatSessionEvents : IUnknown
{
import «objidl.
|< Пред. 505 506 507 508 509 След. >|