共用方式為


IMarshal::ReleaseMarshalData 方法 (objidlbase.h)

終結封送處理的數據封包。

語法

HRESULT ReleaseMarshalData(
  [in] IStream *pStm
);

參數

[in] pStm

數據流的指標,其中包含要終結的數據封包。

傳回值

這個方法可以傳回標準傳回值S_OK和E_FAIL,以及 IStream 介面的任何數據流存取錯誤。

備註

如果物件的封送處理數據封包不會在用戶端進程空間中取消封包,而且不再需要封包,用戶端會在 Proxy 的 IMarshal 實作上呼叫 ReleaseMarshalData,以指示物件終結數據封包。 呼叫會在 CoReleaseMarshalData 函式內發生。 數據封包可作為 物件的其他參考,而釋放數據就像藉由呼叫 Release 來釋放介面指標。

如果封送處理的數據封包未送達用戶端程式,或 如果 ReleaseMarshalData 未成功在 Proxy 中重新建立,COM 可以在物件本身上呼叫此方法。

來電者的附註

您很少會自行呼叫此方法。 可能的例外狀況是,如果您要針對您同時實作 IMarshal 的類別物件,在類別處理站上實作 IMarshal。 在此情況下,如果您要將 物件封送處理至多個用戶端可以擷取的數據表,您可以呼叫 ReleaseMarshalData ,以釋放每個 Proxy 的數據封包。

實作者的注意事項

如果您的實作儲存封送處理數據封包的狀態資訊,您可以使用這個方法來釋放 與 pStm 所代表之數據封包相關聯的狀態資訊。 您的實作也應該將搜尋指標放在數據流中,超過最後一個字節的數據。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objidlbase.h (包含 ObjIdl.h)

另請參閱

CoReleaseMarshalData

IMarshal