共用方式為


IOleObject::GetUserType 方法 (oleidl.h)

擷取物件的使用者類型名稱,以顯示在使用者介面元素中,例如功能表、清單框和對話框。

語法

HRESULT GetUserType(
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

參數

[in] dwFormOfType

要向用戶呈現的使用者類型名稱形式。 可能的值是從 USERCLASSTYPE 列舉取得。

[out] pszUserType

接收使用者類型字串指標指標指標的 LPOLESTR 指標變數位址。 呼叫端必須使用目前的 IMalloc 實例釋放 pszUserType。 如果發生錯誤,實作必須將 pszUserType 設定為 NULL

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
OLE_S_USEREG
使用登錄委派給默認處理程序的實作,以提供要求的資訊。

備註

容器會呼叫 IOleObject::GetUserType ,以依其一般、用戶可辨識的名稱來代表清單框、功能表和對話框中的內嵌物件。 範例包括 「Word Document」、“Excel Chart” 和 “Paintbrush 物件”。IOleObject::GetUserType 傳回的資訊是 IOleObject::GetUserClassID 所傳回之二進位類別標識符的使用者可讀取對等專案。

來電者的附註

默認處理程式的 IOleObject::GetUserType 實作會使用 對象的類別標識符, (IOleObject::GetUserClassID 所傳回的 pClsid 參數,) 和 dwFormOfType 參數一起作為登錄中的機碼。 如果找到完全符合索引鍵的專案,則會傳回該專案所指定的用戶類型。 如果只有機碼的 CLSID 部分相符,則通常會使用最少量編號的專案, (通常會使用完整名稱) 。 如果找不到 CLSID,或沒有針對 類別註冊的使用者類型,則會使用物件記憶體中目前找到的用戶類型。

您不應該快取 從 IOleObject::GetUserType 傳回的字串。 請改為在每次需要字串時呼叫此方法。 當內嵌物件從某個類型轉換成另一種類型時,這可確保正確結果,而不需要呼叫端的知識。 呼叫這個方法相當便宜,因為默認處理程式會使用登錄來實作它。

實作者的注意事項

您可以使用預設處理程式所提供的實作,方法是傳回OLE_S_USEREG做為應用程式的這個方法實作。 如果使用者類型名稱是空字串,則會傳回「未知物件」訊息。

您可以呼叫 OLE Helper 函式 OleRegGetUserType 來傳回適當的用戶類型。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

IOleObject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE