CAutoRevertImpersonation 類別
當 CAccessToken 物件超出範圍時,這個類別會將 CAccessToken 物件還原為非模擬狀態。
語法
class CAutoRevertImpersonation
成員
公用建構函式
名稱 | 描述 |
---|---|
CAutoRevertImpersonation::CAutoRevertImpersonation | CAutoRevertImpersonation 建構物件 |
CAutoRevertImpersonation::~CAutoRevertImpersonation | 終結 物件並還原存取令牌模擬。 |
公用方法
名稱 | 描述 |
---|---|
CAutoRevertImpersonation::Attach | 自動化存取令牌的模擬重新轉換。 |
CAutoRevertImpersonation::D etach | 取消自動模擬重新轉換。 |
CAutoRevertImpersonation::GetAccessToken | 擷取與此對象相關聯的目前存取令牌。 |
備註
存取令牌是物件,描述進程或線程的安全性內容,並配置給登入 Windows NT 或 Windows 2000 系統的每個使用者。 這些存取令牌可以使用 類別來 CAccessToken
表示。
有時需要模擬存取令牌。 此類別會以方便的方式提供,但不會執行存取令牌的模擬;它只會執行自動重新設定為非模擬狀態。 這是因為令牌存取模擬可以執行數種不同的方式。
如需 Windows 中存取控制模型的簡介,請參閱 Windows SDK 中的 存取控制。
需求
標頭: atlsecurity.h
CAutoRevertImpersonation::Attach
自動化存取令牌的模擬重新轉換。
void Attach(const CAccessToken* pAT) throw();
參數
派特
要自動還原之 CAccessToken 物件的位址
備註
只有當 CAutoRevertImpersonation 物件是以 NULL CAccessToken
指標建立,或先前呼叫 Detach 時,才應該使用這個方法。 就簡單案例而言,不需要使用此方法。
CAutoRevertImpersonation::CAutoRevertImpersonation
建構 CAutoRevertImpersonation
物件。
CAutoRevertImpersonation(const CAccessToken* pAT) throw();
參數
派特
要自動還原之 CAccessToken 物件的位址。
備註
存取令牌的實際模擬應該與 建立物件之前 CAutoRevertImpersonation
分開執行,最好先執行。 當物件超出範圍時 CAutoRevertImpersonation
,會自動還原此模擬。
CAutoRevertImpersonation::~CAutoRevertImpersonation
終結 物件並還原存取令牌模擬。
~CAutoRevertImpersonation() throw();
備註
還原目前在建構時或透過 Attach 方法提供的 CAccessToken 物件的任何模擬。 CAccessToken
如果沒有相關聯,解構函式就不會有任何作用。
CAutoRevertImpersonation::D etach
取消自動模擬重新轉換。
const CAccessToken* Detach() throw();
傳回值
先前相關聯 CAccessToken 的位址,如果沒有關聯,則為 NULL。
備註
呼叫Detach可防止CAutoRevertImpersonation
物件還原與此對象相關聯的 CAccessToken 物件目前生效的任何模擬。 CAutoRevertImpersonation
然後可以使用 Attach 來終結任何效果或重新關聯至相同或另一個CAccessToken
物件。
CAutoRevertImpersonation::GetAccessToken
擷取與此對象相關聯的目前存取令牌。
const CAccessToken* GetAccessToken() throw();
傳回值
先前相關聯 CAccessToken 的位址,如果沒有關聯,則為 NULL。
備註
如果呼叫這個方法的目的包括重新轉換物件的模擬 CAccessToken
, 則應該改用Detach 方法。