Implement LsaEnumerateAccountRights.

svn path=/trunk/; revision=45484
This commit is contained in:
Eric Kohl 2010-02-07 13:51:25 +00:00
parent 5786bc7b81
commit e2214c16ef
2 changed files with 40 additions and 8 deletions

View file

@ -217,7 +217,7 @@ LsaDeleteTrustedDomain(
}
/*
* @unimplemented
* @implemented
*/
NTSTATUS
WINAPI
@ -227,10 +227,35 @@ LsaEnumerateAccountRights(
PLSA_UNICODE_STRING *UserRights,
PULONG CountOfRights)
{
FIXME("(%p,%p,%p,%p) stub\n", PolicyHandle, AccountSid, UserRights, CountOfRights);
*UserRights = 0;
*CountOfRights = 0;
return STATUS_OBJECT_NAME_NOT_FOUND;
LSAPR_USER_RIGHT_SET UserRightsSet;
NTSTATUS Status;
TRACE("(%p,%p,%p,%p) stub\n", PolicyHandle, AccountSid, UserRights, CountOfRights);
UserRightsSet.Entries = 0;
UserRightsSet.UserRights = NULL;
RpcTryExcept
{
Status = LsarEnmuerateAccountRights((LSAPR_HANDLE)PolicyHandle,
AccountSid,
&UserRightsSet);
*CountOfRights = UserRightsSet.Entries;
*UserRights = (PUNICODE_STRING)UserRightsSet.UserRights;
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
Status = I_RpcMapWin32Status(RpcExceptionCode());
if (UserRightsSet.UserRights != NULL)
{
MIDL_user_free(UserRightsSet.UserRights);
}
}
RpcEndExcept;
return Status;
}
/*
@ -288,7 +313,8 @@ LsaEnumerateTrustedDomainsEx(
/*
* @implemented
*/
NTSTATUS WINAPI
NTSTATUS
WINAPI
LsaFreeMemory(PVOID Buffer)
{
TRACE("(%p)\n", Buffer);

View file

@ -560,8 +560,14 @@ NTSTATUS LsarEnmuerateAccountRights(
PRPC_SID AccountSid,
PLSAPR_USER_RIGHT_SET UserRights)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
FIXME("(%p,%p,%p) stub\n", PolicyHandle, AccountSid, UserRights);
if (!LsapValidateDbHandle(PolicyHandle))
return STATUS_INVALID_HANDLE;
UserRights->Entries = 0;
UserRights->UserRights = NULL;
return STATUS_OBJECT_NAME_NOT_FOUND;
}