IOleCache::SetData 方法 (oleidl.h)
使用指定格式和指定媒體上的數據,初始化快取。
語法
HRESULT SetData(
[in] FORMATETC *pformatetc,
[in] STGMEDIUM *pmedium,
[in] BOOL fRelease
);
參數
[in] pformatetc
FORMATETC 結構的指標,指定放置於快取中的簡報數據格式。
[in] pmedium
STGMEDIUM 結構的指標,指定包含簡報數據的儲存媒體。
[in] fRelease
指出方法完成之後儲存媒體的擁有權。 如果 fRelease 為 TRUE,快取會取得擁有權,在完成使用媒體時釋放媒體。 當 fRelease 為 FALSE 時,呼叫端會保留擁有權,並負責釋放媒體。 快取只能在呼叫期間使用儲存媒體。
傳回值
此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | Description |
---|---|
|
值對 pformatetc-lindex> 無效。 目前僅支援 -1。 |
|
FORMATETC 結構無效。 |
|
值對 pformatetc-tymed> 無效。 |
|
值對 pformatetc-dwAspect> 無效。 |
|
有未初始化的物件。 |
|
對像是靜態的,pformatetc-ptd> 是非 NULL。 |
|
儲存媒體已滿。 |
備註
從剪貼簿建立物件或透過拖放作業建立物件時,通常會呼叫 IOleCache::SetData,並使用內嵌源數據來建立物件。
IOleCache::SetData 和 IOleCache::InitCache 非常類似。 有兩個主要差異。 第一個差異在於 ,雖然 IOleCache::InitCache 使用數據物件所提供的簡報格式來初始化快取, 但 IOleCache::SetData 會以單一格式初始化快取。 其次, IOleCache::SetData 方法會忽略ADVF_NODATA旗標,而 IOleCache::InitCache 會遵守此旗標。
容器可以使用這個方法來維護物件的單一層面,例如 對象的圖示層面。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |