Метод 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