ICallFrame::Marshal 方法 (callobj.h)
將可連線的資料轉換成平面緩衝區,而不會干擾框架,封送處理呼叫框架。
語法
HRESULT Marshal(
[in] CALLFRAME_MARSHALCONTEXT *pmshlContext,
[in] MSHLFLAGS mshlflags,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[out] ULONG *pcbBufferUsed,
[out] RPCOLEDATAREP *pdataRep,
[out] ULONG *prpcFlags
);
參數
[in] pmshlContext
包含如何執行封送處理之內容資訊的 CALLFRAME_MARSHALCONTEXT 結構的指標。
[in] mshlflags
旗標,指出要封送處理的資料是否要傳輸回用戶端進程 - 一般案例 - 或寫入至全域資料表,其中可由多個用戶端擷取。 可能的值為來自 MSHLFLAGS 列舉。
[in] pBuffer
要放置封送處理資料的緩衝區指標。
[in] cbBuffer
緩衝區的大小,以位元組為單位。
[out] pcbBufferUsed
接收實際使用的緩衝區大小。 這是選擇性參數。
[out] pdataRep
接收封送處理資料的 NDR 資料標記法。 這是選擇性參數。 如需詳細資訊,請參閱 IRpcChannelBuffer::GetBuffer。
[out] prpcFlags
接收與呼叫相關聯的 RPC 旗標。 這是選擇性參數。 如需詳細資訊,請參閱 IRpcChannelBuffer::GetBuffer。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
已發生未預期的錯誤。 |
備註
封送處理 [in] 版本的 [in, out] 參數時,且 [out] 版本未定義。 封送處理 [out] 參數時,值是有效的。
如果這個方法傳回錯誤,呼叫端將無法加以清除。 已釋放嘗試封送處理期間暫時配置的記憶體等資源。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | callobj.h |