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


Метод FtmBase::MarshalInterface

Записи в поток данные, необходимые для инициализации объекта прокси в некотором процессе клиента.

STDMETHODIMP MarshalInterface(
   __in IStream *pStm,
   __in REFIID riid,
   __in_opt void *pv,
   __in DWORD dwDestContext,
   __reserved void *pvDestContext,
   __in DWORD mshlflags
) override;

Параметры

  • pStm
    Указатель на поток, используемый во время маршалинга.

  • riid
    Ссылку на идентификатор интерфейса, который необходимо маршалировать.Этот интерфейс должен быть производным от интерфейса IUnknown.

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

  • dwDestContext
    Контекст назначения, в котором заданный интерфейс unmarshaled.

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

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

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

  • mshlflags
    Определяет, может ли быть маршалировать по данные передаваться обратно к процессу клиента — типичному регистр — global или записи в таблице, где они могут быть восстановлены несколькими клиентами.

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

  • S_OK
    Указатель интерфейса был успешно маршалированн.

  • E_NOINTERFACE
    Указанный интерфейс не поддерживается.

  • STG_E_MEDIUMFULL
    Поток заполнен.

  • E_FAIL
    Неудачная операция.

Требования

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

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

См. также

Ссылки

Класс FtmBase