LsaEnumerateAccountsWithUserRight 函数 (ntsecapi.h)
LsaEnumerateAccountsWithUserRight 函数返回本地安全机构数据库中的帐户, (LSA) Policy 对象具有指定特权。 此函数返回的帐户直接通过用户帐户持有指定的权限,而不是作为组成员身份的一部分。
语法
NTSTATUS LsaEnumerateAccountsWithUserRight(
[in] LSA_HANDLE PolicyHandle,
[in] PLSA_UNICODE_STRING UserRight,
[out] PVOID *Buffer,
[out] PULONG CountReturned
);
参数
[in] PolicyHandle
Policy 对象的句柄。 句柄必须具有POLICY_LOOKUP_NAMES和POLICY_VIEW_LOCAL_INFORMATION用户权限。 有关详细信息,请参阅 打开策略对象句柄。
[in] UserRight
指向指定特权名称 的LSA_UNICODE_STRING 结构的指针。 有关特权列表,请参阅 特权常量 和帐户权限常量。
如果此参数为 NULL,则该函数枚举与 Policy 对象关联的系统的 LSA 数据库中的所有帐户。
[out] Buffer
指向变量的指针,该变量接收指向 LSA_ENUMERATION_INFORMATION 结构的数组的指针。 每个结构的 Sid 成员都是指向拥有指定特权的帐户 的安全标识符 (SID) 的指针。
如果不再需要这些信息,请通过将返回的指针传递到 LsaFreeMemory 函数来释放内存。
[out] CountReturned
指向一个变量的指针,该变量接收 EnumerationBuffer 参数中返回的条目数。
返回值
如果函数成功,该函数将返回STATUS_SUCCESS。
如果函数失败,它将返回 NTSTATUS 代码,可以是以下值之一或 LSA 策略函数返回值之一。
值 | 说明 |
---|---|
|
指定的特权字符串不是有效的特权。 |
|
没有具有指定权限的帐户。 |
可以使用 LsaNtStatusToWinError 函数将 NTSTATUS 代码转换为 Windows 错误代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | ntsecapi.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |