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 的指针,它接收由 ppObjectTypeList 指向的对象类型的计数。

[out] ppGrantedAccessList

指向接收已授予访问掩码数组的 ACCESS_MASK 的指针。 作系统将使用 LocalFree 释放为此参数分配的内存。

[out] pcGrantedAccessListLength

指向 ULONG 变量的指针,该变量接收由 ppGrantedAccessList 参数指向的授予访问掩码计数。

返回值

如果函数成功,则返回值S_OK。

如果函数失败,则返回值为指示错误的 HRESULT。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 aclui.h