共用方式為


ICallFrame::Unmarshal 方法 (callobj.h)

取消封包,其中包含先前封送處理之 [out] 呼叫的封包已存在啟用記錄。

語法

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

參數

[in] pBuffer

緩衝區的指標,其中包含已封送處理的 [out] 值。

[in] cbBuffer

緩衝區的大小,以位元組為單位。

[in] dataRep

封送處理數據的 NDR 數據表示法。 如需詳細資訊,請參閱 IRpcChannelBuffer::GetBuffer

[in] pcontext

CALLFRAME_MARSHALCONTEXT 結構的指標,其中包含如何執行 unmarshalling 的內容資訊。

[out] pcbUnmarshalled

接收成功解除封存的位元組數目。 即使發生錯誤情況,也會傳回此參數。 這是選擇性參數。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_UNEXPECTED
已發生未預期的錯誤。

備註

取消封存時,會釋放 [in] 版本的 [in] 參數,並釋放介面指標,並以其 [out] 版本取代介面指標。 所有 [in, out] 和 [out] 參數一律會設定為合理的 [in]、[in、out] 值、[out] 值,成功從傳回的數據取消封存,或明確初始化為 NULL 的值。 在失敗傳回時,呼叫端通常會想要呼叫 ICallFrame::Free ,以清除非 NULL 的值。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 callobj.h

另請參閱

ICallFrame