共用方式為


ProgIDFromCLSID 函式 (combaseapi.h)

擷取指定CLSID的 ProgID。

語法

HRESULT ProgIDFromCLSID(
  [in]  REFCLSID clsid,
  [out] LPOLESTR *lplpszProgID
);

參數

[in] clsid

要要求 ProgID 的 CLSID。

[out] lplpszProgID

接收 ProgID 字串的指標變數位址。 表示 clsid 的字串包含括住大括弧。

傳回值

此函式可以傳回下列值。

傳回碼 描述
S_OK
已成功傳回 ProgID。
REGDB_E_CLASSNOTREG
類別未在登錄中註冊。
REGDB_E_READREGDB
從登錄讀取時發生錯誤。

備註

[ 插入物件 ] 對話框中所列的每個 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

另請參閱

CLSIDFromProgID