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


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

Позволяет манипулировать кадрами вызова, такими как кадры стека. Кадр вызова — это основной текст сведений, которые должна сохранить процедура, чтобы позволить ей правильно вернуться к вызывающему объекту. Кадр вызова может существовать в стеке или в регистрах. Кадр стека сохраняет сведения о контексте вызывающей стороны в стеке.

Экземпляр интерфейса ICallFrame может выполнять различные преобразования в кадре вызова. Вызов может быть маршалирован или сохранен. Экземпляр этого интерфейса привязан и имеет связанный номер метода.

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

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

Методы

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

 
ICallFrame::Copy

Создает копию этого кадра вызова и всех связанных с ним данных.
ICallFrame::Free

Освобождает копию кадра, чтобы избежать утечки памяти.
ICallFrame::FreeParam

Освобождает указанный параметр в кадре.
ICallFrame::GetIIDAndMethod

Извлекает идентификатор интерфейса или номер метода.
ICallFrame::GetInfo

Извлекает сведения о кадре вызова.
ICallFrame::GetMarshalSizeMax

Извлекает верхнюю границу количества байтов, необходимых для маршалирования кадра вызова.
ICallFrame::GetNames

Извлекает имя метода или интерфейса этого вызова.
ICallFrame::GetParam

Извлекает значение указанного параметра в кадре вызова.
ICallFrame::GetParamInfo

Извлекает сведения для указанного параметра.
ICallFrame::GetReturnValue

Извлекает возвращаемое значение, хранящееся в кадре вызова.
ICallFrame::GetStackLocation

Извлекает расположение стека, к которому привязан этот кадр вызова.
ICallFrame::Invoke

Применяет эту запись активации к объекту . В ситуации маршалинга обычно это выполняется на стороне сервера и является средством, с помощью которого выполняется работа фактического объекта.
ICallFrame::Marshal

Маршалирует кадр вызова, превратив доступные данные в плоский буфер, не нарушая кадр.
ICallFrame::ReleaseMarshalData

Освобождает ресурсы, удерживаемые указателями интерфейса, которые находятся в пакете маршалированных данных. Этот метод находит все указатели интерфейса в пакете и вызывает функцию CoReleaseMarshalData для каждого из них.
ICallFrame::SetParam

Задает значение указанного параметра в кадре вызова.
ICallFrame::SetReturnValue

Задает возвращаемое значение в кадре вызова.
ICallFrame::SetStackLocation

Задает расположение стека, к которому привязан этот кадр вызова.
ICallFrame::Unmarshal

Отменяет удаление пакета данных, содержащего ранее маршалированные параметры [out] вызова, в эту уже существующую запись активации.
ICallFrame::WalkFrame

Выполняет поиск указателей интерфейса, доступных из параметров [in], [in, out] или [out] кадра.

Требования

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