共用方式為


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
標頭 callobj.h

另請參閱

ICallUnmarshal