Интерфейсы (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 для каждого интерфейса. |