共用方式為


IMarshal::ReleaseMarshalData 方法 (objidl.h)

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

語法

HRESULT ReleaseMarshalData(
  [in] IStream *pStm
);

參數

[in] pStm

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

傳回值

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

備註

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

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

來電者附註

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

實作者的注意事項

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

規格需求

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

另請參閱

CoReleaseMarshalData

IMarshal