OleGetAutoConvert 函式 (ole2.h)
判斷是否已為指定 CLSID 的物件設定登錄,以自動轉換成另一個 CLSID,如果是的話,則會擷取新的 CLSID。
語法
HRESULT OleGetAutoConvert(
[in] REFCLSID clsidOld,
[out] LPCLSID pClsidNew
);
參數
[in] clsidOld
物件的 CLSID。
[out] pClsidNew
要接收新 CLSID 之變數的指標,如果有的話。 如果未在登錄中設定 clsidOld 的自動轉換,則會傳回 clsidOld 。 pClsidNew 參數永遠不會是 NULL。
傳回值
此函式可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功透過 pclsidNew 參數傳回值。 |
|
CLSID 未在登錄中正確註冊。 |
|
從登錄讀取時發生錯誤。 |
|
自動轉換不是使用中,或 clsidOld 參數沒有登錄專案。 |
備註
OleGetAutoConvert 會傳回指定對象的登錄中的 AutoConvertTo 專案。 AutoConvertTo 子機碼會指定指定的 CLSID 物件是否要自動轉換成新的 CLSID。 這通常用來將舊版應用程式所建立的檔案轉換為目前版本。 如果沒有 AutoConvertTo 專案,此函式會傳回 clsidOld 的值。
OleDoAutoConvert 函式會呼叫 OleGetAutoConvert,以判斷指定的物件是否要轉換。 支援物件轉換的容器應用程式應該每次載入物件時呼叫 OleDoAutoConvert 。 如果容器使用 OleLoad 協助程式函式,它不需要明確呼叫 OleDoAutoConvert ,因為 OleLoad 會在內部呼叫它。
若要設定指定類別的自動轉換,您可以呼叫 OleSetAutoConvert 函式 (通常是在應用程式安裝) 的安裝程式中。 此函式會使用 AutoConvertTo 子機碼來標記物件的類別,以便自動轉換成不同的物件類別。 這是 CLSID 金鑰的子機碼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ole2.h |
程式庫 | Ole32.lib |
Dll | Ole32.dll |
API 集合 | ext-ms-win-com-ole32-l1-1-0 (於 Windows 8) |