OleCreate 函式 (ole.h)

建立 CLSID 所識別的內嵌物件。 您通常會使用它來實作功能表項,讓使用者插入新的物件。

語法

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

參數

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

傳回值

此函式會在成功時傳回S_OK,並支援標準傳回值E_OUTOFMEMORY。

傳回碼 Description
E_OUTOFMEMORY
作業的記憶體不足。

備註

OleCreate 函式會建立新的內嵌物件,而且通常會呼叫 來實作功能表項 Insert New Object。 當 OleCreate 傳回時,它建立的物件是空白 (不包含任何數據) ,除非 renderopt 是OLERENDER_DRAW或OLERENDER_FORMAT,而且會載入。 容器通常會呼叫 OleRun 函式或 IOleObject::D oVerb 來顯示物件以進行初始編輯。

rclsid 參數會指定所要求物件的 CLSID。 已註冊物件的 CLSID 會儲存在系統登錄中。 當應用程式使用者選取 [插入物件] 時,選取方塊可讓使用者從登錄中選取所需的物件類型。 當 OleCreate 用來實作 [插入物件] 功能表項時,與選取專案相關聯的 CLSID 會指派給 OleCreate 的 rclsid 參數。

riid 參數會指定用戶端將用來與新物件通訊的介面。 成功傳回時, ppvObject 參數會保存所要求介面的指標。

所建立物件的快取包含允許在開啟容器時呈現自主物件的資訊。 應該快取的內容相關信息會傳入 renderoptpFormatetc 值。 當 OleCreate 傳回時,所建立物件的快取不一定填滿。 相反地,第一次對象進入執行中狀態時,就會填入快取。 呼叫端可以在傳回 OleCreate 之後,以及在對象執行之前呼叫 IOleCache::Cache 來新增其他快取控件。 如果 renderopt 是OLERENDER_DRAW或 OLERENDER_FORMAT,OleCreate 會要求物件支援 IOleCache 介面。 轉譯碼的任何其他值都不需要這類需求。

如果 pClientSite 不是 NULL,OleCreate 會透過pClientSite 指標呼叫 IOleObject::SetClientSiteIOleClientSite 是物件從其容器要求服務的主要介面。 如果 pClientSiteNULL,您必須先對 IOleObject::SetClientSite 進行特定呼叫,才能嘗試任何作業。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 ole.h (包含 Ole2.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

FORMATETC

IOleClientSite

IOleObject

OLERENDER