LsaAddAccountRights 函数 (ntsecapi.h)

LsaAddAccountRights 函数为帐户分配一个或多个特权。 如果该帐户不存在, LsaAddAccountRights 将创建该帐户。

语法

NTSTATUS LsaAddAccountRights(
  [in] LSA_HANDLE          PolicyHandle,
  [in] PSID                AccountSid,
  [in] PLSA_UNICODE_STRING UserRights,
  [in] ULONG               CountOfRights
);

参数

[in] PolicyHandle

Policy 对象的句柄。 句柄必须具有POLICY_LOOKUP_NAMES访问权限。 如果 AccountSid 参数标识的帐户不存在,则句柄必须具有POLICY_CREATE_ACCOUNT访问权限。 有关详细信息,请参阅 打开策略对象句柄

[in] AccountSid

指向函数向其分配权限的帐户 SID 指针。

[in] UserRights

指向LSA_UNICODE_STRING结构的数组 指针。 每个结构都包含要添加到帐户的特权的名称。 有关特权名称的列表,请参阅 特权常量

[in] CountOfRights

指定 UserRights 数组中的元素数。

返回值

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

如果函数失败,则返回值为 NTSTATUS 代码,可以是以下值或 LSA 策略函数返回值之一。

返回代码 说明
STATUS_NO_SUCH_PRIVILEGE
其中一个特权名称无效。
 

可以使用 LsaNtStatusToWinError 函数将 NTSTATUS 代码转换为 Windows 错误代码。

注解

如果指定已授予帐户的权限,则忽略这些权限。

有关演示如何调用此函数的示例,请参阅 管理帐户权限

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntsecapi.h
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

LSA_UNICODE_STRING

LsaEnumerateAccountRights

LsaRemoveAccountRights