WINAPI
LsaCreateAccount(IN LSA_HANDLE PolicyHandle,
IN PSID AccountSid,
- IN ULONG Flags,
+ IN ACCESS_MASK DesiredAccess,
OUT PLSA_HANDLE AccountHandle)
{
NTSTATUS Status;
- TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle, AccountSid, Flags, AccountHandle);
+ TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle, AccountSid, DesiredAccess, AccountHandle);
RpcTryExcept
{
Status = LsarCreateAccount((LSAPR_HANDLE)PolicyHandle,
AccountSid,
- Flags,
+ DesiredAccess,
AccountHandle);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
return STATUS_NO_MORE_ENTRIES;
}
+
+/*
+ * @implemented
+ */
+NTSTATUS
+WINAPI
+LsaEnumeratePrivilegesOfAccount(IN LSA_HANDLE AccountHandle,
+ OUT PPRIVILEGE_SET *Privileges)
+{
+ NTSTATUS Status;
+
+ TRACE("(%p,%p) stub\n", AccountHandle, Privileges);
+
+ RpcTryExcept
+ {
+ Status = LsarEnumeratePrivilegesAccount((LSAPR_HANDLE)AccountHandle,
+ (LSAPR_PRIVILEGE_SET **)Privileges);
+ }
+ RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+ {
+ Status = I_RpcMapWin32Status(RpcExceptionCode());
+ }
+ RpcEndExcept;
+
+ return Status;
+}
+
+
/*
* @unimplemented
*/
{
FIXME("(%p,%p,%p,0x%08x,%p) stub\n", PolicyHandle, EnumerationContext,
Buffer, PreferedMaximumLength, CountReturned);
-
+
if (CountReturned) *CountReturned = 0;
return STATUS_SUCCESS;
}
WINAPI
LsaOpenAccount(IN LSA_HANDLE PolicyHandle,
IN PSID AccountSid,
- IN ULONG Flags,
+ IN ACCESS_MASK DesiredAccess,
OUT PLSA_HANDLE AccountHandle)
{
NTSTATUS Status;
- TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle, AccountSid, Flags, AccountHandle);
+ TRACE("(%p,%p,0x%08lx,%p)\n", PolicyHandle, AccountSid, DesiredAccess, AccountHandle);
RpcTryExcept
{
Status = LsarOpenAccount((LSAPR_HANDLE)PolicyHandle,
AccountSid,
- Flags,
+ DesiredAccess,
AccountHandle);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
IN ULONG CountOfRights)
{
LSAPR_USER_RIGHT_SET UserRightSet;
- NTSTATUS Status;
TRACE("(%p,%p,%d,%p,0x%08x) stub\n", PolicyHandle, AccountSid, AllRights, UserRights, CountOfRights);
RpcTryExcept
{
- Status = LsarRemoveAccountRights((LSAPR_HANDLE)PolicyHandle,
- (PRPC_SID)AccountSid,
- AllRights,
- &UserRightSet);
+ LsarRemoveAccountRights((LSAPR_HANDLE)PolicyHandle,
+ (PRPC_SID)AccountSid,
+ AllRights,
+ &UserRightSet);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
- Status = I_RpcMapWin32Status(RpcExceptionCode());
+ I_RpcMapWin32Status(RpcExceptionCode());
}
RpcEndExcept;