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


Метод ICallUnmarshal::Unmarshal (callobj.h)

Преобразует маршалированные пакеты данных обратно в запись активации, которая затем может вызываться или управляться каким-либо другим способом.

Синтаксис

HRESULT Unmarshal(
  [in]  ULONG                    iMethod,
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  BOOL                     fForceBufferCopy,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled,
  [out] ICallFrame               **ppFrame
);

Параметры

[in] iMethod

Номер метода. Если этот параметр равен -1, номер метода будет определен на основе данных, которые будут разархиалированы.

[in] pBuffer

Указатель на буфер, из которого создается запись активации.

[in] cbBuffer

Размер буфера в байтах.

[in] fForceBufferCopy

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

[in] dataRep

Представление данных, с помощью которого были маршалированы данные.

[in] pcontext

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

[out] pcbUnmarshalled

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

[out] ppFrame

Кадр вызова, привязанный к вызову umarshaled.

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

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

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

Требования

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

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

ICallUnmarshal