iEffectivePermission::GetEffectivePermission 方法 (aclui.h)
GetEffectivePermission 方法返回对象类型的有效权限。
语法
HRESULT GetEffectivePermission(
[in] const GUID *pguidObjectType,
[in] PSID pUserSid,
[in] LPCWSTR pszServerName,
[in] PSECURITY_DESCRIPTOR pSD,
[out] POBJECT_TYPE_LIST *ppObjectTypeList,
[out] ULONG *pcObjectTypeListLength,
[out] PACCESS_MASK *ppGrantedAccessList,
[out] ULONG *pcGrantedAccessListLength
);
参数
[in] pguidObjectType
正在查询其权限的对象类型的 GUID 。
[in] pUserSid
指向 SID 结构的指针,该结构表示要确定其有效权限的安全主体。
[in] pszServerName
指向以 null 结尾的宽字符串的指针,该字符串表示服务器名称。
[in] pSD
指向表示对象安全描述符的 SECURITY_DESCRIPTOR 结构的指针。 安全描述符用于执行访问检查。
[out] ppObjectTypeList
指向 指向OBJECT_TYPE_LIST 结构的指针的指针,该结构表示对象树中对象类型的数组。 如果对象不支持属性访问,请使用以下方法指定 OBJECT_TYPE_LIST的值。
#include <windows.h>
OBJECT_TYPE_LIST g_DefaultOTL[] = {
{0, 0, (LPGUID)&GUID_NULL},
};
[out] pcObjectTypeListLength
指向 ULONG 的指针,该 ULONG 接收 ppObjectTypeList 指向的对象类型计数。
[out] ppGrantedAccessList
指向接收已授予访问掩码数组 的ACCESS_MASK 的指针的指针。 操作系统将使用 LocalFree 释放为此参数分配的内存。
[out] pcGrantedAccessListLength
指向 ULONG 变量的指针,该变量接收 ppGrantedAccessList 参数指向的已授予访问掩码计数。
返回值
如果函数成功,则返回值S_OK。
如果函数失败,则返回值为 指示错误的 HRESULT 。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | aclui.h |