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


Метод FtmBase::GetMarshalSizeMax

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

STDMETHODIMP GetMarshalSizeMax(
   __in REFIID riid,
   __in_opt void *pv,
   __in DWORD dwDestContext,
   __reserved void *pvDestContext,
   __in DWORD mshlflags,
   __out DWORD *pSize
) override;

Параметры

  • riid
    Ссылка на идентификатор интерфейса для маршалинга.

  • pv
    Указатель интерфейса, который следует маршалировать; может иметь значение NULL.

  • dwDestContext
    Контекст назначения, в котором указанный интерфейс должен быть демаршалирован.

    Укажите одно или несколько значений перечисления MSHCTX.

    В настоящее время демаршалирование может произойти в другом подразделении текущего процесса (MSHCTX_INPROC) или в другом процессе на том же компьютере, где находится текущий процесс (MSHCTX_LOCAL).

  • pvDestContext
    Зарезервировано для будущего использования; должно быть NULL.

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

  • pSize
    Когда эта операция будет завершена, указатель на верхнюю границу объема данных должен быть записан в поток маршалинга.

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

S_OK, если операция завершилась удачно; в противном случае E_FAIL или E_NOINTERFACE.

Требования

Заголовок: ftm.h

Пространство имен: Microsoft::WRL

См. также

Ссылки

Класс FtmBase