Share via


OleCreateLinkFromData 函式 (ole2.h)

從剪貼簿擷取的數據傳輸物件建立連結物件,或作為 OLE 拖放作業的一部分。

語法

HRESULT OleCreateLinkFromData(
  [in]  LPDATAOBJECT    pSrcDataObj,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     pFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

參數

[in] pSrcDataObj

要從中建立連結物件之數據傳輸物件的 IDataObject 介面指標。

[in] riid

呼叫端稍後用來與新對象通訊之介面標識碼的參考 (通常IID_IOleObject,在 OLE 標頭中定義為 IOleObject) 的介面識別符。

[in] renderopt

列舉 OLERENDER 的值,指出新建立物件所要擁有的本機快取繪圖或數據擷取功能。 下列一節將說明其他考慮。

[in] pFormatEtc

列舉 OLERENDER 中的值指標,指出新建立物件所要擁有的本機快取繪圖或數據擷取功能。 所選 的 OLERENDER 值會影響 pFormatEtc 參數的可能值。

[in] pClientSite

IOleClientSite 實例的指標,這是物件從其容器要求服務的主要介面。 此參數可以是 Null

[in] pStg

記憶體物件上 IStorage 介面的指標。 此參數不可為 NULL

[out] ppvObj

接收 riid 中所要求介面指標的指標變數位址。 成功傳回時, ppvObj 會在新建立的物件上包含要求的介面指標。

傳回值

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

傳回碼 Description
CLIPBRD_E_CANT_OPEN
無法開啟剪貼簿。
OLE_E_CANT_GETMONIKER
無法擷取物件的Moniker。
OLE_E_CANT_BINDTOSOURCE
無法系結至來源。 需要系結才能取得快取的初始化數據。

備註

OleCreateLinkFromData 函式可用來實作貼上連結或拖曳鏈接作業。 其作業類似於 OleCreateFromData 函式的作業,不同之處在於它會建立連結,並尋找不同的數據格式。 如果CF_LINKSOURCE格式不存在,而且 FileName 或 FileNameW 剪貼簿格式存在於資料傳輸物件中, OleCreateLinkFromData 會建立包含所指定檔案連結的套件。

您可以使用 renderopt 和 pFormatetc 參數來控制新建立物件的快取功能。 如需如何判斷要快取之專案的一般資訊,請參閱 OLERENDER 列舉,以取得 renderopt 與 pFormatetc 之間互動的描述。 不過,在 OleCreateLinkFromData 初始化快取的方式上,這些參數會有一些額外的特定效果,如下所示。

Description
OLERENDER_DRAW,OLERENDER_FORMAT 如果簡報資訊位於源數據物件中的其他格式,則會使用這項資訊。 如果資訊不存在,則快取一開始是空的,但會在第一次執行物件時填入。 新建立的物件中不會快取其他格式。
OLERENDER_NONE,OLERENDER_ASIS 新建立的物件中不會快取任何內容。

規格需求

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

另請參閱

OleCreateLink