Сущность технологии COM

       

Сущность технологии COM

Благодарности
От автора

Предисловие
От издательства
Практичность
Простота ведет к податливости (malleability)
Фольклор
Литература

Сущность технологии COM

СОМ как улучшенный C++
Распространение программного обеспечения и язык С++
Где мы находимся?
Динамическая компоновка и С++
C++ и мобильность

Инкапсуляция и С++
Отделение интерфейса от реализации
Абстрактные базы как двоичные интерфейсы

Полиморфизм на этапе выполнения
Расширяемость объекта

Управление ресурсами

Сущность технологии COM

Интерфейсы
Снова об интерфейсах и реализациях
Оптимизация QueryInterface

Типы данных
Атрибуты и свойства
Исключения
Где мы находимся?
IDL

Методы и их результаты
Интерфейсы и IDL
Интерфейс IUnknown

Управление ресурсами и IUnknown
Приведение типов и IUnknown

Реализация IUnknown
Использование указателей интерфейса СОМ

Сущность технологии COM

Классы
Снова об интерфейсе и реализации

Моникеры и сохраняемость
Время жизни сервера
Классы и IDL
Эмуляция классов

Категории компонентов
Где мы находимся?
Объекты классов

Активация
Использование SCM
Классы и серверы

Обобщения
Оптимизации

Снова интерфейс и реализация

Моникеры и композиция

Сущность технологии COM

Объекты
Снова IUnknown
Двоичная композиция
Включение
Где мы находимся?
QueryInterface симметрична
QueryInterface транзитивна

QueryInterface рефлективна
Объекты имеют статический тип
Единственность и идентификация
QueryInterface и IUnknown
Множественные интерфейсы и имена методов

Динамическая композиция

Сущность технологии COM

Апартаменты
Снова интерфейс и реализация
Маршалер свободной поточной обработки (FreeThreaded Marshaler)

Где мы находимся?
Объекты, интерфейсы и апартаменты

Межапартаментный доступ

Вспомогательные средства для внутрипроцессного маршалинга
Архитектура стандартного маршалинга

Реализация интерфейсных маршалеров
Стандартный маршалинг, потоки и протоколы

Управление жизненным циклом и маршалинг
Специальный маршалинг

Сущность технологии COM

Приложения

Подводные камни внутрипроцессной активации
Активация и SCM
Снова о времени жизни сервера

Идентификаторы приложений
COM и защита
Программируемая защита

Контроль доступа
Управление маркерами

Где мы находимся?

Сущность технологии COM

Разное
Основы указателей

Указатели и память

Массивы
Управление потоками данных

Динамический вызов в сравнении со статическим
Двунаправленные интерфейсные контракты

Совмещение имен в IDL

Асинхронные методы
Где мы находимся?
Эволюция объектов

FreeBSD - статьи

Прежде всего надо отметить, что правильнее говорить не о "правах юзера" по отношению к какому-нибудь файлу, а о "правах процесса" (выполняемой программы).
* Во-первых, если юзер и вносит какие-то изменения в файлы или директории, он это делает с помощью каких-то программ (редакторов, "коммандеров", системных утилит для копирования, удаления файлов и т.п.), которые в момент выполнения являются процессами.
* Во-вторых (что более важно), не все программы запускаются юзерами "вручную". Некоторые из них (демоны) запускаются при старте системы. Другие могут запускаться в определенные моменты времени (с помощью программы cron), или вызываться по мере необходимости для обслуживания запросов приходящих по сети (обычно их запускает программа-"диспетчер" inetd). Кроме того, существует ряд программ, которые для выполнения каких-то вспомогательных действий сами запускают другие программы (в этом случае говорят, что процесс-"родитель" запустил процесс-"потомок"). Понятно, что хотелось бы и этим программам (процессам) ограничить доступ к файлам.

FTP - статьи
FTP tutorial
Руководство по FTP
UserGate 3.0. Руководство пользователя

Содержание раздела