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