共用方式為


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
E_NOINTERFACE
物件不支援 riid 中指定的介面。
E_POINTER
pPictDescppvObj 中的地址無效。 例如,它可能是 NULL

備註

數據流必須是 BMP (位圖) 、WMF (元檔) ,或 ICO (圖示) 格式。 使用 OleLoadPictureEx 建立的圖片物件一律擁有其內部資源的擁有權, (fOwn==TRUE 是隱含的) 。

除了允許圖示或游標大小的規格之外, OleLoadPictureEx 還支援載入色彩游標。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 olectl.h
程式庫 OleAut32.lib
Dll OleAut32.dll

另請參閱

OleCreatePictureIndirect

PICTDESC