Интерфейсная заглушка должна выставить интерфейс
Интерфейсная заглушка должна выставить интерфейс IRpcStubBuffer:
[ uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A), local, object ] interface IRpcStubBuffer : IUnknown { // called to connect stub to object // вызван для соединения заглушки с объектом HRESULT Connect([in] IUnknown *pUnkServer), // called to inform stub to release object // вызван для информирования заглушки об освобождении объекта void Disconnect(void); // called when ORPC request arrives // вызывается, когда поступает запрос ORPC HRESULT Invoke ([in] RPCOLEMESSAGE *pmsg, [in] IRpcChannelBuffer *pChannel); // used to support multiple itf types per stub // используется для поддержки нескольких типов интерфейсов // для одной заглушки IRpcStubBuffer *IsIIDSupported([in] REFIID riid); // used to support multiple itf types per stub // используется для поддержки нескольких интерфейсов // для одной заглушки ULONG CountRefs(vold); // used by ORPC debugger to find pointer to object // используется отладчиком ORPC для поиска указателя на объект HRESULT DebugServerQueryInterface(void **ppv); // used by ORPC debugger to release pointer to object // используется отладчиком ORPC для освобождения указателя на объект void DebugServerRelease(void *pv); }
Метод Invoke будет вызываться библиотекой СОМ, когда поступит запрос ORPC на объект. При вводе маршалированные [in]-параметры будут находиться в RPCOLEMESSAGE, а при выводе заглушка должна маршалировать HRESULT метода и любые [out]-параметры, которые будут возвращены в блоке ответов ORPC.
Интерфейсный заместитель должен выставлять интерфейс (интерфейсы), за удаленный доступ к которым он отвечает, в дополнение к интерфейсу IRpcProxyBuffer:
[ uuid(D5F56A34-593B-101A-B569-08002B2DBF7A), local, object ] interface IRpcProxyBuffer : IUnknown { HRESULT Connect([in] IRpcChannelBuffer *pChannelBuffer); void Disconnect(void); }
Интерфейс IRpcPгoxуBuffer должен быть неделегирующим интерфейсом IUnknown интерфейсного заместителя. Все остальные интерфейсы, которые выставляет интерфейсный заместитель, должны делегировать администратору заместителей свои методы IUnknown.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий