CTokenGroups 类
此类是 TOKEN_GROUPS
结构的包装器。
重要
无法在 Windows 运行时中执行的应用程序中使用此类及其成员。
语法
class CTokenGroups
成员
公共构造函数
名称 | 描述 |
---|---|
CTokenGroups::CTokenGroups | 构造函数。 |
CTokenGroups::~CTokenGroups | 析构函数。 |
公共方法
名称 | 描述 |
---|---|
CTokenGroups::Add | 向 CTokenGroups 对象添加 CSid 或现有 TOKEN_GROUPS 结构。 |
CTokenGroups::Delete | 从 CTokenGroups 对象中删除 CSid 及其关联的属性。 |
CTokenGroups::DeleteAll | 从 CTokenGroups 对象中删除所有 CSid 对象及其关联的属性。 |
CTokenGroups::GetCount | 返回 CTokenGroups 对象中包含的 CSid 对象及其关联属性的数量。 |
CTokenGroups::GetLength | 返回 CTokenGroups 对象的大小。 |
CTokenGroups::GetPTOKEN_GROUPS | 检索指向 TOKEN_GROUPS 结构的指针。 |
CTokenGroups::GetSidsAndAttributes | 检索属于 CTokenGroups 对象的 CSid 对象及属性。 |
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
向 CTokenGroups
对象添加 CSid
或现有 TOKEN_GROUPS
结构。
void Add(const CSid& rSid, DWORD dwAttributes) throw(... );
void Add(const TOKEN_GROUPS& rTokenGroups) throw(...);
参数
rSid
CSid 对象。
dwAttributes
要与 CSid
对象关联的属性。
rTokenGroups
TOKEN_GROUPS 结构。
注解
这些方法向 CTokenGroups
对象添加一个或多个 CSid
对象及其关联属性。
CTokenGroups::CTokenGroups
构造函数。
CTokenGroups() throw();
CTokenGroups(const CTokenGroups& rhs) throw(... );
CTokenGroups(const TOKEN_GROUPS& rhs) throw(...);
参数
rhs
要用来构造 CTokenGroups
对象的 CTokenGroups
对象或 TOKEN_GROUPS 结构。
备注
可以选择使用 TOKEN_GROUPS
结构或以前定义的 CTokenGroups
对象创建 CTokenGroups
对象。
CTokenGroups::~CTokenGroups
析构函数。
virtual ~CTokenGroups() throw();
备注
析构函数释放所有已分配的资源。
CTokenGroups::Delete
从 CTokenGroups
对象中删除 CSid
及其关联的属性。
bool Delete(const CSid& rSid) throw();
参数
rSid
应删除安全标识符 (SID) 和属性的 CSid 对象。
返回值
如果 CSid
被删除,则返回 true,否则返回 false。
CTokenGroups::DeleteAll
从 CTokenGroups
对象中删除所有 CSid
对象及其关联的属性。
void DeleteAll() throw();
CTokenGroups::GetCount
返回 CTokenGroups
中包含的 CSid
对象数。
UINT GetCount() const throw();
返回值
返回 CTokenGroups
对象中包含的 CSid 对象及其关联属性的数量。
CTokenGroups::GetLength
返回 CTokenGroup
对象的大小。
UINT GetLength() const throw();
注解
返回 CTokenGroup
对象的总大小(以字节为单位)。
CTokenGroups::GetPTOKEN_GROUPS
检索指向 TOKEN_GROUPS
结构的指针。
const TOKEN_GROUPS* GetPTOKEN_GROUPS() const throw(...);
返回值
检索指向属于 CTokenGroups
访问令牌对象的 TOKEN_GROUPS 结构的指针。
CTokenGroups::GetSidsAndAttributes
检索属于 CTokenGroups
对象的 CSid
对象及(可选)属性。
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 结构的指针。