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


Функция CoMarshalHresult (combaseapi.h)

Маршалирует HRESULT в указанный поток, из которого его можно отменить с помощью функции CoUnmarshalHresult .

Синтаксис

HRESULT CoMarshalHresult(
  [in] LPSTREAM pstm,
  [in] HRESULT  hresult
);

Параметры

[in] pstm

Указатель на поток маршалинга. См. раздел IStream.

[in] hresult

HRESULT в исходном процессе.

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

Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY и E_UNEXPECTED, а также следующие значения.

Код возврата Описание
S_OK
HRESULT успешно маршалирован.
STG_E_INVALIDPOINTER
Для pstm указан недопустимый указатель.
STG_E_MEDIUMFULL
Среда заполнена.

Комментарии

HRESULT зависит от процесса, поэтому HRESULT, допустимый в одном процессе, может быть недопустимым в другом. Если вы пишете собственную реализацию IMarshal и вам нужно маршалировать HRESULT из одного процесса в другой в качестве параметра или кода возврата, необходимо вызвать эту функцию. В других случаях вам не потребуется вызывать эту функцию.

Эта функция выполняет следующие задачи:

  1. Записывает HRESULT в поток.
  2. Возвращает указатель IStream на этот поток.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

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

CoUnmarshalHresult

IStream