共用方式為


ICallUnmarshal::ReleaseMarshalData 方法 (callobj.h)

釋放介面指標可能保留在封送處理數據封包中的資源。 這個方法會尋找封包中的所有介面指標,並在每個介面指標上呼叫 CoReleaseMarshalData 函 式。

語法

HRESULT ReleaseMarshalData(
  [in] ULONG                    iMethod,
  [in] PVOID                    pBuffer,
  [in] ULONG                    cbBuffer,
  [in] ULONG                    ibFirstRelease,
  [in] RPCOLEDATAREP            dataRep,
  [in] CALLFRAME_MARSHALCONTEXT *pcontext
);

參數

[in] iMethod

方法編號。

[in] pBuffer

緩衝區的指標,其中包含封送處理輸出參數。

[in] cbBuffer

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

[in] ibFirstRelease

要釋放之緩衝區中的第一個字節。 值為零表示要釋放整個緩衝區中的介面指標。 其概念是,在指定的位元組之前封送處理介面指標假設已由一些其他機制釋出。

[in] dataRep

數據封送處理的數據表示。

[in] pcontext

CALLFRAME_MARSHALCONTEXT 結構的指標,其中包含要執行未封封的內容相關信息。

傳回值

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

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

備註

若要清除封送處理緩衝區中保留的資源,必須呼叫 ReleaseMarshalData 方法。 不過,當 MSHLFLAGS 列舉設定為正常時,這會自動在取消封存時完成。

ReleaseMarshalData 可用於封送處理中的 和 out 參數。

規格需求

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

另請參閱

ICallUnmarshal