OleLoadPictureEx 函式 (olectl.h)
建立新的圖片物件,並從數據流的內容初始化它。 這相當於使用 NULL 作為第一個參數呼叫 OleCreatePictureIndirect,後面接著呼叫 IPersistStream::Load。
語法
WINOLECTLAPI OleLoadPictureEx(
[in] LPSTREAM lpstream,
[in] LONG lSize,
[in] BOOL fRunmode,
[in] REFIID riid,
[in] DWORD xSizeDesired,
[in] DWORD ySizeDesired,
[in] DWORD dwFlags,
[out] LPVOID *lplpvObj
);
參數
[in] lpstream
包含圖片數據的數據流指標。
[in] lSize
應該從數據流讀取的位元組數目,如果應該讀取整個數據流,則為零。
[in] fRunmode
與 KeepOriginalFormat 屬性的初始值相反。 如果為 TRUE,KeepOriginalFormat 會設定為 FALSE,反之亦然。
[in] riid
介面識別碼的參考,描述 ppvObj 中傳回的介面指標類型。
[in] xSizeDesired
圖示或游標所需的寬度。 有效值為 16、32 和 48。 將LP_DEFAULT傳遞給這兩個大小參數,以使用系統預設大小。
[in] ySizeDesired
圖示或游標所需的高度。 有效值為 16、32 和 48。 將LP_DEFAULT傳遞給這兩個大小參數,以使用系統預設大小。
[in] dwFlags
圖示或游標所需的色彩深度。 值為LP_MONOCHROME (单色) 、LP_VGACOLOR (16 種色彩) 、LP_COLOR (256 種色彩) ,或LP_DEFAULT (选取目前显示器) 的最佳深度。
[out] lplpvObj
接收 riid 中所要求介面指標的指標變數位址。 成功傳回時,*ppvObj 會在Moniker所識別之對象的儲存區上包含要求的介面指標。 如果 *ppvObj 不是 NULL,此函式會在介面上呼叫 IUnknown::AddRef ;呼叫者必須負責呼叫 IUnknown::Release。 如果發生錯誤,*ppvObj 會設定為 NULL。
傳回值
此函式會在成功時傳回S_OK。 其他可能的值包括下列專案。
傳回碼 | Description |
---|---|
|
物件不支援 riid 中指定的介面。 |
|
pPictDesc 或 ppvObj 中的地址無效。 例如,它可能是 NULL。 |
備註
數據流必須是 BMP (位圖) 、WMF (元檔) ,或 ICO (圖示) 格式。 使用 OleLoadPictureEx 建立的圖片物件一律擁有其內部資源的擁有權, (fOwn==TRUE 是隱含的) 。
除了允許圖示或游標大小的規格之外, OleLoadPictureEx 還支援載入色彩游標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | olectl.h |
程式庫 | OleAut32.lib |
Dll | OleAut32.dll |