ProgIDFromCLSID 函式 (combaseapi.h)
擷取指定CLSID的 ProgID。
語法
HRESULT ProgIDFromCLSID(
[in] REFCLSID clsid,
[out] LPOLESTR *lplpszProgID
);
參數
[in] clsid
要要求 ProgID 的 CLSID。
[out] lplpszProgID
接收 ProgID 字串的指標變數位址。 表示 clsid 的字串包含括住大括弧。
傳回值
此函式可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功傳回 ProgID。 |
|
類別未在登錄中註冊。 |
|
從登錄讀取時發生錯誤。 |
備註
[ 插入物件 ] 對話框中所列的每個 OLE 物件類別都必須有程式設計標識子 (ProgID) ,這是唯一識別儲存在登錄中的指定類別的字串。 除了判斷 [ 插入物件 ] 對話框的資格之外,ProgID 還可以當做宏程式設計語言中的標識碼來識別類別。 最後,ProgID 也是用於放置於 OLE 1 容器中之 OLE 類別物件的類別名稱。
ProgIDFromCLSID 會使用登錄中的專案來執行轉換。 OLE 應用程式作者負責確保登錄在應用程式的安裝程式中正確設定。
如果有一個,ProgID 字串必須與任何 OLE 1 應用程式的類別名稱不同,包括相同應用程式的 OLE 1 版本。 此外,ProgID 字串不能包含超過 39 個字元、以數位開頭,或除了單一句號以外,包含任何標點符號 (包括底線) 。
ProgID 絕對不能向使用者介面中的用戶顯示。 如果您需要對象的簡短可顯示字串,請呼叫 IOleObject::GetUserType。
呼叫 CLSIDFromProgID 函式,以尋找與指定 ProgID 相關聯的 CLSID。 呼叫 CoTaskMemFree 函式時,請務必釋放傳回的 ProgID。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | combaseapi.h (包含 Objbase.h) |
程式庫 | Ole32.lib |
Dll | Ole32.dll |