coGetApartmentType 函式 (combaseapi.h)
傳回目前的 Apartment 類型和類型限定詞。
語法
HRESULT CoGetApartmentType(
[out] APTTYPE *pAptType,
[out] APTTYPEQUALIFIER *pAptQualifier
);
參數
[out] pAptType
指定目前 Apartment 類型的APTTYPE列舉值。
[out] pAptQualifier
指定目前 Apartment 之型別限定詞的APTTYPEQUALIFIER列舉值。
傳回值
如果呼叫成功,則傳回S_OK。 否則,會傳回下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
|
呼叫無法成功查詢目前的 Apartment 類型和類型限定詞。 |
|
已將不正確參數值提供給 函式。 具體而言,呼叫端已將其中一或兩個參數設定為 Null 。 |
|
在呼叫CoGetApartmentType之前,未在此執行緒上呼叫CoInitialize或CoInitializeEx。 |
備註
在 Windows 7 之前的 Windows 平臺上,必須線上程上採取下列動作來查詢 Apartment 類型:
- 呼叫 CoGetCoNtextToken 以取得目前的內容權杖。
- 將內容權杖轉換成 IUnknown* 指標。
- 在該指標上呼叫 QueryInterface 方法,以取得 IComThreadingInfo 介面。
- 呼叫IComThreadingInfo介面的GetCurrentApartmentType方法,以取得目前的 Apartment 類型。
在多執行緒案例中,在執行上述作業序列時,可能會造成進程內的存取違規。 建議 使用 CoGetApartmentType 函式,因為它可能不會產生存取違規。
規格需求
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | combaseapi.h (包含 Objbase.h) |
程式庫 | Ole32.lib |
Dll | Ole32.dll |