共用方式為


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 方法。

另請參閱

ATLSecurity 範例
存取權杖
類別概觀