CTokenGroups クラス

このクラスは、TOKEN_GROUPS 構造体用のラッパーです。

重要

このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。

構文

class CTokenGroups

メンバー

パブリック コンストラクター

名前 説明
CTokenGroups::CTokenGroups コンストラクター。
CTokenGroups::~CTokenGroups デストラクター。

パブリック メソッド

名前 説明
CTokenGroups::Add CSid または既存の TOKEN_GROUPS 構造体を CTokenGroups オブジェクトに追加します。
CTokenGroups::Delete CSid を削除し、CTokenGroups オブジェクトから、それに関連する属性を削除します。
CTokenGroups::DeleteAll すべての CSid オブジェクトと、それに関連する属性を CTokenGroups オブジェクトから削除します。
CTokenGroups::GetCount CTokenGroups オブジェクトの数と、CSid オブジェクトに含まれる関連する属性を返します。
CTokenGroups::GetLength CTokenGroups オブジェクトのサイズを返します。
CTokenGroups::GetPTOKEN_GROUPS TOKEN_GROUPS 構造体を指すポインターを取得します。
CTokenGroups::GetSidsAndAttributes CSid オブジェクトと、CTokenGroups オブジェクトに属する属性を取得します。
CTokenGroups::LookupSid CSid オブジェクトに関連付けられた属性を取得します。

パブリック演算子

名前 説明
CTokenGroups::operator const TOKEN_GROUPS * CTokenGroups オブジェクトを、TOKEN_GROUPS 構造体を指すポインターにキャストします。
CTokenGroups::operator = 代入演算子。

解説

アクセス トークンは、プロセスまたはスレッドのセキュリティ コンテキストを記述するオブジェクトであり、Windows システムにログオンしている各ユーザーに割り当てられます。

CTokenGroups クラスは、TOKEN_GROUPS 構造体のラッパーです。これには、アクセス トークン内のグループ セキュリティ識別子 (SID) に関する情報が含まれています。

Windows のアクセス制御モデルの概要については、Windows SDK のアクセス制御に関するページをご覧ください。

必要条件

ヘッダー: atlsecurity.h

CTokenGroups::Add

CSid または既存の TOKEN_GROUPS 構造体を CTokenGroups オブジェクトに追加します。

void Add(const CSid& rSid, DWORD dwAttributes) throw(... );
void Add(const TOKEN_GROUPS& rTokenGroups) throw(...);

パラメーター

rSid
CSid オブジェクト。

dwAttributes
CSid オブジェクトに関連する属性。

rTokenGroups
TOKEN_GROUPS 構造体。

解説

これらのメソッドを呼び出すと、1 つまたは複数の CSid オブジェクトと、それに関連付けられている属性が CTokenGroups オブジェクトに追加されます。

CTokenGroups::CTokenGroups

コンストラクター。

CTokenGroups() throw();
CTokenGroups(const CTokenGroups& rhs) throw(... );
CTokenGroups(const TOKEN_GROUPS& rhs) throw(...);

パラメーター

rhs
CTokenGroups オブジェクトを構築するための CTokenGroups オブジェクトまたは TOKEN_GROUPS 構造体。

解説

CTokenGroups オブジェクトは、必要に応じて、TOKEN_GROUPS 構造体または以前に定義した CTokenGroups オブジェクトを使用して作成できます。

CTokenGroups::~CTokenGroups

デストラクター。

virtual ~CTokenGroups() throw();

解説

デストラクターによって、割り当てられたすべてのリソースが解放されます。

CTokenGroups::Delete

CSid を削除し、CTokenGroups オブジェクトから、それに関連する属性を削除します。

bool Delete(const CSid& rSid) throw();

パラメーター

rSid
セキュリティ識別子 (SID) と属性を削除する必要がある CSid オブジェクト。

戻り値

CSid が削除された場合は true を、それ以外の場合は false を返します。

CTokenGroups::DeleteAll

すべての CSid オブジェクトと、それに関連する属性を CTokenGroups オブジェクトから削除します。

void DeleteAll() throw();

CTokenGroups::GetCount

CTokenGroups に含まれる CSid オブジェクトの数を返します。

UINT GetCount() const throw();

戻り値

CSid オブジェクトの数と、CTokenGroups オブジェクトに含まれる関連属性を返します。

CTokenGroups::GetLength

CTokenGroup オブジェクトのサイズを返します。

UINT GetLength() const throw();

解説

CTokenGroup オブジェクトの合計サイズ (バイト単位) を返します。

CTokenGroups::GetPTOKEN_GROUPS

TOKEN_GROUPS 構造体を指すポインターを取得します。

const TOKEN_GROUPS* GetPTOKEN_GROUPS() const throw(...);

戻り値

アクセス トークン オブジェクトに属する TOKEN_GROUPSCTokenGroups 構造体を指すポインターを取得します。

CTokenGroups::GetSidsAndAttributes

CSid オブジェクトと、(必要に応じて) CTokenGroups オブジェクトに属する属性を取得します。

void GetSidsAndAttributes(
    CSid::CSidArray* pSids,
    CAtlArray<DWORD>* pAttributes = NULL) const throw(...);

パラメーター

pSids
CSid オブジェクトの配列を指すポインター。

pAttributes
DWORD の配列を指すポインター。 このパラメーターを省略した場合、または NULL とした場合、属性は取得されません。

解説

このメソッドを使用すると、CTokenGroups オブジェクトに含まれるすべての CSid オブジェクトを列挙し、それらと、(必要に応じて) 属性フラグとを配列オブジェクトに配置することができます。

CTokenGroups::LookupSid

CSid オブジェクトに関連付けられた属性を取得します。

bool LookupSid(
    const CSid& rSid,
    DWORD* pdwAttributes = NULL) const throw();

パラメーター

rSid
CSid オブジェクト。

pdwAttributes
CSid オブジェクトの属性を受け入れる DWORD を指すポインター。 省略した場合、または NULL とした場合、属性は取得されません。

戻り値

CSid が見つかった場合は true を、それ以外の場合は false を返します。

解説

pdwAttributes を NULL に設定すると、属性にアクセスせずに、CSid の存在を確認することができます。 アクセス権を確認する場合、このメソッドは使用しないでください。 アプリケーションには、代わりに CAccessToken::CheckTokenMembership メソッドを使用する必要があります。

CTokenGroups::operator =

代入演算子。

CTokenGroups& operator= (const TOKEN_GROUPS& rhs) throw(...);
CTokenGroups& operator= (const CTokenGroups& rhs) throw(...);

パラメーター

rhs
CTokenGroups オブジェクトに割り当てられる CTokenGroups オブジェクトまたは TOKEN_GROUPS 構造。

戻り値

更新された CTokenGroups オブジェクトを返します。

CTokenGroups::operator const TOKEN_GROUPS *

TOKEN_GROUPS 構造体を指すポインターに値をキャストします。

operator const TOKEN_GROUPS *() const throw(...);

解説

TOKEN_GROUPS 構造体を指すポインターに値をキャストします。

関連項目

セキュリティ サンプル
CSid クラス
クラスの概要
セキュリティに関するグローバル関数