5. Апартаменты
STDMETHODIMP CMyClass::MethodX(void) {
EnterCr1t1calSect1on(&m_cs);
if (TryToPerformX() == false)
return E_UNEXPECTED:
LeaveCriticalSect1on(&m_cs);
return S_OK;
}
Аноним, 1996
В предыдущей главе обсуждались основы идентификации в СОМ и было формально
определено, что именно отличает объекты СОМ от объектов памяти с произвольной
организацией. Были представлены правила IUnknown и способы использования
этих правил для придания разработчику объектов максимальной гибкости.
В данной главе уточняется понятие идентификации в СОМ с учетом базисных
элементов (примитивов) операционной системы (например, потоков, процессов),
а также распределенного доступа. Этот альянс базисных элементов системы
и распределения формируют основу архитектуры удаленного доступа СОМ.
Снова интерфейс и реализация
Объекты, интерфейсы и апартаменты
Межапартаментный доступ
Вспомогательные средства для внутрипроцессного маршалинга
Архитектура стандартного маршалинга
Реализация интерфейсных маршалеров
Стандартный маршалинг, потоки и протоколы
Управление жизненным циклом и маршалинг
Специальный маршалинг
Маршалер свободной поточной обработки (FreeThreaded Marshaler)
Где мы находимся?
|