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 |
---|---|
|
作業的記憶體不足。 |
備註
OleCreate 函式會建立新的內嵌物件,而且通常會呼叫 來實作功能表項 Insert New Object。 當 OleCreate 傳回時,它建立的物件是空白 (不包含任何數據) ,除非 renderopt 是OLERENDER_DRAW或OLERENDER_FORMAT,而且會載入。 容器通常會呼叫 OleRun 函式或 IOleObject::D oVerb 來顯示物件以進行初始編輯。
rclsid 參數會指定所要求物件的 CLSID。 已註冊物件的 CLSID 會儲存在系統登錄中。 當應用程式使用者選取 [插入物件] 時,選取方塊可讓使用者從登錄中選取所需的物件類型。 當 OleCreate 用來實作 [插入物件] 功能表項時,與選取專案相關聯的 CLSID 會指派給 OleCreate 的 rclsid 參數。
riid 參數會指定用戶端將用來與新物件通訊的介面。 成功傳回時, ppvObject 參數會保存所要求介面的指標。
所建立物件的快取包含允許在開啟容器時呈現自主物件的資訊。 應該快取的內容相關信息會傳入 renderopt 和 pFormatetc 值。 當 OleCreate 傳回時,所建立物件的快取不一定填滿。 相反地,第一次對象進入執行中狀態時,就會填入快取。 呼叫端可以在傳回 OleCreate 之後,以及在對象執行之前呼叫 IOleCache::Cache 來新增其他快取控件。 如果 renderopt 是OLERENDER_DRAW或 OLERENDER_FORMAT,OleCreate 會要求物件支援 IOleCache 介面。 轉譯碼的任何其他值都不需要這類需求。
如果 pClientSite 不是 NULL,OleCreate 會透過pClientSite 指標呼叫 IOleObject::SetClientSite。 IOleClientSite 是物件從其容器要求服務的主要介面。 如果 pClientSite 是 NULL,您必須先對 IOleObject::SetClientSite 進行特定呼叫,才能嘗試任何作業。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ole.h (包含 Ole2.h) |
程式庫 | Ole32.lib |
Dll | Ole32.dll |