Интерфейсы (COM)

Следующие интерфейсы предоставляются COM.

Интерфейс Description
IAccessControl Позволяет управлять доступом к объектам и свойствам в объектах.
IAgileObject Помечает интерфейс как гибкий в разных квартирах.
IBindCtx Предоставляет доступ к контексту привязки, который является объектом, в котором хранятся сведения о определенной операции привязки моникера.
IBlockingLock Предоставляет семафор, который можно использовать для временного монопольного доступа к общему ресурсу, например к файлу.
ICallFactory Создает объект вызова для обработки вызовов методов асинхронного интерфейса.
ICallFrame Позволяет манипулировать кадрами вызовов, такими как кадры стека. Кадр вызова — это текст сведений, которые процедура должна сохранить, чтобы разрешить ему правильно вернуться вызывающему объекту. Кадр вызова может существовать в стеке или в регистрах. Кадр стека сохраняет сведения о контексте вызывающего объекта в стеке.
ICallFrameEvents Предоставляет уведомления о вызове метода.
ICallFrameWalker Пошаговое руководство по кадру стека для поиска интересных значений.
ICallIndirect Вызывает объект с косвенной ссылкой на аргументы вызовов, а не традиционный прямой вызов.
ICallInterceptor Поддерживает регистрацию и отмену регистрации приемников событий, желающих получать уведомления о вызовах, выполненных непосредственно на интерфейсе. Кроме того, этот интерфейс предоставляет средства, с помощью которых вызов может выполняться с косвенной ссылкой на аргументы вызовов.
ICallUnmarshal Используется на стороне сервера (получения) удаленного вызова. Подходящий экземпляр ICallUnmarshal можно использовать для преобразования обратно в кадр вызова вызов метода, ранее маршалированного вызовом ICallFrame::Marshal на стороне клиента (отправка).
ICancelMethodCalls Управляет запросами отмены при вызове исходящего метода и отслеживает текущее состояние этого метода в потоке сервера.
ICatInformation Получает сведения о категориях, реализованных или требуемых определенным классом, а также сведения о категориях, зарегистрированных на указанном компьютере.
ICatRegister Предоставляет методы регистрации и отмены регистрации сведений о категории компонентов в реестре. Сюда входят как имена категорий, так и категории, реализованные или необходимые для данного компонента или класса.
IClassActivator Указывает метод, который извлекает объект класса.
IClassFactory Позволяет создавать класс объектов.
IClassFactory2 Позволяет объекту фабрики классов в любом виде сервера объектов управлять созданием объектов с помощью лицензирования.
IClientSecurity Предоставляет клиентский контроль над параметрами безопасности для каждого отдельного прокси-сервера интерфейса объекта.
IComThreadingInfo Позволяет получить следующие сведения о квартире и потоке, в которые выполняет вызывающий объект: тип квартиры, тип потока и GUID потока. Он также позволяет указать GUID потока.
I Подключение ionPoint Поддерживает точки подключения для подключенных объектов.
I Подключение ionPointContainer Поддерживает точки подключения для подключенных объектов.
IContext Поддерживает настройку свойств контекста COM+.
IContextCallback Предоставляет механизм выполнения функции внутри определенного контекста объекта COM+.
IContinueCallback Предоставляет универсальный механизм обратного вызова для прерываемых процессов, которые периодически запрашивают объект, следует ли продолжать.
IEnumCATID Перечисляет идентификаторы категорий.
IEnumCLSID Перечисляет идентификаторы классов.
IEnumCATEGORYINFO Перечисляет категории компонентов, зарегистрированные в системе.
IEnum Подключение ionPoints Перечисляет точки подключения.
IEnum Подключение ions Перечисляет текущие подключения для подключаемого объекта.
IEnumContextProps Предоставляет механизм перечисления свойств контекста, связанных с контекстом объекта COM+.
IEnumGUID Позволяет клиентам перечислять набор идентификаторов классов для com-классов.
IEnumString Перечисление строк. LPWSTR — это тип, указывающий указатель на строку с нулевой точкой ширины или Юникода.
IEnumUnknown Перечисляет объекты с помощью интерфейса IUnknown. Его можно использовать для перечисления объектов в компоненте с несколькими объектами.
IEventProperty Связывает именованное свойство события со значением.
IEventPublisher Регистрирует, изменяет, удаляет и предоставляет сведения о издателе событий.
IExternal Подключение ion Управляет количеством маршалированных или внешних подключений объекта сервера. Сервер, поддерживающий такое число, может обнаружить, если у него нет внешних подключений и завершить работу в упорядоченном режиме.
IFastRundown Помечает интерфейс как подходящий для быстрого выполнения.
IFileBasedLogInit Инициализирует экземпляр реализации ILog на основе файлов.
IForegroundTransfer Передает окно переднего плана в процесс размещения COM-сервера.
IGlobalInterfaceTable Позволяет любой квартире в процессе получить доступ к интерфейсу, реализуемому на объекте в любой другой квартире в процессе.
IGlobalOptions Задает и запрашивает определенные глобальные свойства среды выполнения COM.
IInitializeSpy Выполняет инициализацию или очистку при входе или выходе из com-квартиры.
IInternalUnknown Используется исключительно в упрощенных клиентских обработчиках, требующих доступа к некоторым внутренним интерфейсам прокси-сервера.
ILog Предоставляет универсальные функции ведения журнала низкого уровня.
IMalloc Выделяет, освобождает и управляет памятью.
IMallocSpy Позволяет разработчикам приложений отслеживать выделение памяти (шпионить за памятью), обнаруживать утечки памяти и имитировать сбой памяти в вызовах методов IMalloc .
IMarshal Позволяет com-объекту определять маршалинг указателей интерфейса и управлять ими.
IMarshalingStream Предоставляет дополнительные сведения о контексте маршалинга для пользовательских маршалированных объектов и немаршалистов.
Imessagefilter Предоставляет com-серверам и приложениям возможность выборочно обрабатывать входящие и исходящие COM-сообщения во время ожидания ответов от синхронных вызовов. Фильтрация сообщений помогает обеспечить обработку вызовов таким образом, чтобы повысить производительность и избежать взаимоблокировок. COM-сообщения могут быть синхронными, асинхронными или входными, синхронизированными; большинство вызовов интерфейса синхронны.
IMoniker Позволяет использовать моникерный объект, содержащий сведения, которые однозначно идентифицируют COM-объект. Объект, имеющий указатель на интерфейс IMoniker объекта IMoniker , может находить, активировать и получать доступ к идентифицируемому объекту без каких-либо других конкретных сведений о расположении объекта в распределенной системе.
IMultiQI Позволяет клиенту запрашивать прокси-сервер объекта или обработчик для нескольких интерфейсов с помощью одного вызова RPC. Используя этот интерфейс, вместо того чтобы полагаться на отдельные вызовы IUnknown::QueryInterface, клиенты могут уменьшить количество вызовов RPC, которые должны пересекать поток, процесс или границы компьютера, и, следовательно, время, необходимое для получения запрошенных указателей интерфейса.
IObjContext Выполняет различные операции с контекстами.
IOleItemContainer Используется моникерами элементов, когда они привязаны к объектам, которые они определяют.
IOrpcDebugNotify Предоставляет функции удаленной отладки.
IParseDisplayName Анализирует строку отображаемого имени, чтобы преобразовать ее в моникер для пользовательских реализаций моникера.
IPersist Предоставляет CLSID объекта, который может храниться постоянно в системе. Позволяет объекту указать, какой обработчик объектов будет использоваться в клиентском процессе, так как он используется в реализации маршалинга по умолчанию.
IPersistFile Позволяет загружать или сохранять объект в файл диска, а не объект хранилища или поток.
IPersist служба хранилища Позволяет приложению-контейнеру передавать объект хранилища одному из содержащихся в нем объектов, а также загружать и сохранять объект хранилища.
IPersistStream Позволяет сохранять и загружать объекты, использующие простой последовательный поток для их потребностей в хранилище.
IPersistStreamInit Замена IPersistStream , которая добавляет метод инициализации.
IPipeByte Передает данные типа байтов (который имеет ширину 8 битов).
IPipeDouble Передает данные двойного типа (который имеет ширину 64 бита).
IPipeLong Передает данные длинного целочисленного типа (который имеет ширину 32 бита).
IProcessInitControl Задает интервал времени ожидания инициализации процесса.
IProcessLock Используется ISurrogateService для предотвращения завершения процесса из-за времени ожидания.
IProgressNotify Позволяет приложениям и другим объектам получать уведомления об изменениях в ходе выполнения операции скачивания.
IProvideClassInfo Предоставляет доступ к сведениям о типе для записи сокласса объекта в библиотеке типов.
IProvideClassInfo2 Расширение для IProvideClassInfo , которое упрощает получение исходящего интерфейса объекта iiD для набора событий по умолчанию.
IProvideMultipleClassInfo Расширение для IProvideClassInfo2 , которое упрощает получение сведений о типе из компонента, который может иметь несколько соклассов, определяющих его поведение.
IPSFactoryBuffer Предоставляет пользовательские методы для создания прокси-серверов и заглушки COM-объектов. Этот интерфейс не является маршалингом.
IROTData Реализуется моникерами, чтобы включить запущенную таблицу объектов (ROT) для сравнения моникеров друг с другом.
IRpcChannelBuffer Маршалирует данные между прокси-сервером COM и заглушкой COM-сервера.
IRpcOptions Позволяет вызывающим пользователям задавать или запрашивать значения различных свойств, которые управляют тем, как COM обрабатывает удаленные вызовы процедур (RPC).
IRpcProxyBuffer Управляет прокси-сервером RPC, используемым для маршалирования данных между компонентами COM.
IRpcStubBuffer Управляет заглушки RPC, используемой для маршалирования данных между компонентами COM.
IRunnableObject Позволяет контейнеру управлять выполнением внедренных объектов. В случае объекта, реализованного на локальном сервере, вызов метода Run запускает файл .EXE сервера. В случае объекта, реализованного с сервером внутрипроцессного процесса, вызов выполнения приводит к переходу объекта .DLL файла в состояние выполнения.
IRunningObjectTable Управляет доступом к работающей таблице объектов (ROT), глобально доступной таблице поиска на каждой рабочей станции. Rot рабочей станции отслеживает те объекты, которые можно определить моникером, и которые в настоящее время работают на рабочей станции. Когда клиент пытается привязать моникер к объекту, моникер проверка ROT, чтобы узнать, запущен ли объект. Это позволяет моникеру привязаться к текущему экземпляру вместо загрузки нового.
IServerSecurity Используется сервером для проверки подлинности клиента и управления олицетворением клиента.
IStdMarshalInfo Извлекает CLSID, определяющий обработчик, который будет использоваться в целевом процессе во время стандартного маршалинга.
ISurrogate Используется для динамической загрузки новых серверов DLL в существующий суррогат и освобождает суррогат, когда он больше не нужен.
ISurrogateService Используется для инициализации, запуска и выпуска приложения COM+. Вы также можете обновить каталог и завершить процесс.
ISynchronize Обеспечивает асинхронное взаимодействие между объектами о возникновении события. Объекты, реализующие ISynchronize , могут получать признаки того, что произошло событие, и они могут отвечать на запросы о событии. Таким образом, клиенты могут убедиться, что один запрос был обработан перед отправкой последующего запроса, который зависит от завершения первого.
ISynchronizeContainer Управляет группой незначенных объектов синхронизации.
ISynchronizeEvent Назначает дескриптор события объекту синхронизации.
ISynchronizeHandle Извлекает дескриптор, связанный с объектом синхронизации.
IUnknown Позволяет клиентам получать указатели на другие интерфейсы для данного объекта с помощью метода QueryInterface и управлять существованием объекта с помощью методов AddRef и Release. Все остальные интерфейсы COM наследуются напрямую или косвенно от IUnknown. Таким образом, три метода в IUnknown являются первыми записями в VTable для каждого интерфейса.