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


Метод ICallFrame::GetMarshalSizeMax (callobj.h)

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

Обычно прокси-сервер интерфейса вызывает этот метод, чтобы узнать, насколько большой требуется буфер, выделяет буфер, а затем вызывает метод Маршал для выполнения маршалинга.

Синтаксис

HRESULT GetMarshalSizeMax(
  [in]  CALLFRAME_MARSHALCONTEXT *pmshlContext,
  [in]  MSHLFLAGS                mshlflags,
  [out] ULONG                    *pcbBufferNeeded
);

Параметры

[in] pmshlContext

Указатель на структуру CALLFRAME_MARSHALCONTEXT , содержащую контекстную информацию о том, как выполняется маршалинг.

[in] mshlflags

Указывает, должны ли данные для маршалинга передаваться обратно в клиентский процесс (в обычном случае) или записываться в глобальную таблицу, где их могут извлечь несколько клиентов. Список значений см. в перечислении MSHLFLAGS .

[out] pcbBufferNeeded

Указатель на размер буфера в байтах, который потребуется для маршалирования кадра вызова.

Возвращаемое значение

Этот метод может возвращать следующие значения.

Код возврата Описание
S_OK
Метод завершился успешно.
E_UNEXPECTED
Произошла непредвиденная ошибка.

Требования

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

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

ICallFrame