共用方式為


IOleCache::SetData 方法 (oleidl.h)

使用指定格式和指定媒體上的數據,初始化快取。

語法

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

參數

[in] pformatetc

FORMATETC 結構的指標,指定放置於快取中的簡報數據格式。

[in] pmedium

STGMEDIUM 結構的指標,指定包含簡報數據的儲存媒體。

[in] fRelease

指出方法完成之後儲存媒體的擁有權。 如果 fReleaseTRUE,快取會取得擁有權,在完成使用媒體時釋放媒體。 當 fReleaseFALSE 時,呼叫端會保留擁有權,並負責釋放媒體。 快取只能在呼叫期間使用儲存媒體。

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
DV_E_LINDEX
值對 pformatetc-lindex> 無效。 目前僅支援 -1。
DV_E_FORMATETC
FORMATETC 結構無效。
DV_E_TYMED
值對 pformatetc-tymed> 無效。
DV_E_DVASPECT
值對 pformatetc-dwAspect> 無效。
OLE_E_BLANK
有未初始化的物件。
DV_E_TARGETDEVICE
對像是靜態的,pformatetc-ptd> 是非 NULL
STG_E_MEDIUMFULL
儲存媒體已滿。

備註

從剪貼簿建立物件或透過拖放作業建立物件時,通常會呼叫 IOleCache::SetData,並使用內嵌源數據來建立物件。

IOleCache::SetDataIOleCache::InitCache 非常類似。 有兩個主要差異。 第一個差異在於 ,雖然 IOleCache::InitCache 使用數據物件所提供的簡報格式來初始化快取, 但 IOleCache::SetData 會以單一格式初始化快取。 其次, IOleCache::SetData 方法會忽略ADVF_NODATA旗標,而 IOleCache::InitCache 會遵守此旗標。

容器可以使用這個方法來維護物件的單一層面,例如 對象的圖示層面。

規格需求

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

另請參閱

IOleCache

IOleCache::Cache

IOleCache::SetData