CoRevokeClassObject 函式 (combaseapi.h)
通知 OLE,先前向 CoRegisterClassObject 函式註冊的類別物件已不再可供使用。
語法
HRESULT CoRevokeClassObject(
[in] DWORD dwRegister
);
參數
[in] dwRegister
先前從 CoRegisterClassObject 函式傳回的權杖。
傳回值
此函式可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功撤銷類別物件。 |
備註
成功呼叫 CoRevokeClassObject 表示類別物件已從全域類別物件資料表中移除 (雖然它不會釋放類別物件) 。 如果其他用戶端仍有類別物件的指標,並導致參考計數因為呼叫 IUnknown::AddRef而遞增,則參考計數不會是零。 發生這種情況時,如果後續呼叫 (,但 AddRef 和 IUnknown::Release) 類別物件的明顯例外狀況,應用程式可能會受益。 請注意,CoRegisterClassObject會呼叫AddRef和CoRevokeClassObject呼叫Release,因此這兩個函式會形成AddRef/Release配對。
物件應用程式必須在結束程式之前呼叫 CoRevokeClassObject 來撤銷已註冊的類別物件。 類別物件實作者應該呼叫 CoRevokeClassObject 作為發行順序的一部分。 即使您已在呼叫 CoRegisterClassObject時指定旗標值REGCLS_SINGLEUSE,也必須特別撤銷類別物件,表示只有一個應用程式可以連線到類別物件。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | combaseapi.h (包含 Objbase.h) |
程式庫 | Ole32.lib |
Dll | Ole32.dll |