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
接收成功解除封存的位元組數目。 即使發生錯誤情況,也會傳回此參數。 這是選擇性參數。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
已發生未預期的錯誤。 |
備註
取消封存時,會釋放 [in] 版本的 [in] 參數,並釋放介面指標,並以其 [out] 版本取代介面指標。 所有 [in, out] 和 [out] 參數一律會設定為合理的 [in]、[in、out] 值、[out] 值,成功從傳回的數據取消封存,或明確初始化為 NULL 的值。 在失敗傳回時,呼叫端通常會想要呼叫 ICallFrame::Free ,以清除非 NULL 的值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | callobj.h |