Интерфейс 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 |