Поделиться через


Интерфейс ICallIndirect (callobj.h)

Вызывает объект с косвенной ссылкой на аргументы вызова, а не традиционный прямой вызов. Экземпляр ICallIndirect поддерживает непрямые вызовы только для одного идентификатора интерфейса.

Наследование

Интерфейс ICallIndirect наследуется от интерфейса IUnknown . ICallIndirect также имеет следующие типы элементов:

Методы

Интерфейс ICallIndirect содержит следующие методы.

 
ICallIndirect::CallIndirect

Вызывает один из методов в интерфейсе с косвенной ссылкой на аргументы вызова .
ICallIndirect::GetIID

Извлекает идентификатор интерфейса, поддерживаемый этой реализацией ICallIndirect.
ICallIndirect::GetMethodInfo

Извлекает сведения о методе интерфейса из кадра вызова.
ICallIndirect::GetStackSize

Извлекает количество байтов, которые должны быть выброщены из стека для возврата из вызова метода .

Комментарии

Фактическая подробная семантика выполнения непрямого вызова не зависит от самого интерфейса ICallIndirect ; Вместо этого они зависят от реализации интерфейса. Например, реализации ICallIndirect в перехватчиках вызовов выполняют вызов путем создания и соответствующих экземпляров ICallFrame , а затем вызова ICallFrameEvents::OnCall в зарегистрированном приемнике. Другие реализации могут выполнять некоторые соответствующие munging аргументы вызовов, а затем перенаправлять вызов на какой-либо фактический конкретный объект, предположительно ранее зарегистрированный в ICallIndirect , используя некоторые средства, зависящие от реализации.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header callobj.h

См. также раздел

ICallInterceptor