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) |