X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdll%2Fwin32%2Flsasrv%2Flsarpc.c;h=07ac20c564f2b2deb1e4d7a5dd574f1eef436899;hp=73c8b7d2d9bff747b6b6926dff5776c074cea0cf;hb=85aed37ede9c389a446872c92bb790d073741fba;hpb=db7101e3ed541710b816062dbe2da7db0cd78d6d diff --git a/reactos/dll/win32/lsasrv/lsarpc.c b/reactos/dll/win32/lsasrv/lsarpc.c index 73c8b7d2d9b..07ac20c564f 100644 --- a/reactos/dll/win32/lsasrv/lsarpc.c +++ b/reactos/dll/win32/lsasrv/lsarpc.c @@ -109,8 +109,26 @@ NTSTATUS WINAPI LsarEnumeratePrivileges( PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer, DWORD PreferedMaximumLength) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + PLSA_DB_OBJECT PolicyObject; + NTSTATUS Status; + + TRACE("LsarEnumeratePrivileges(%p %p %p %lu)\n", + PolicyHandle, EnumerationContext, EnumerationBuffer, + PreferedMaximumLength); + + Status = LsapValidateDbObject(PolicyHandle, + LsaDbPolicyObject, + POLICY_VIEW_LOCAL_INFORMATION, + &PolicyObject); + if (!NT_SUCCESS(Status)) + return Status; + + if (EnumerationContext == NULL) + return STATUS_INVALID_PARAMETER; + + return LsarpEnumeratePrivileges(EnumerationContext, + EnumerationBuffer, + PreferedMaximumLength); } @@ -1658,7 +1676,7 @@ NTSTATUS WINAPI LsarEnumerateAccountsWithUserRight( /* Function 36 */ -NTSTATUS WINAPI LsarEnmuerateAccountRights( +NTSTATUS WINAPI LsarEnumerateAccountRights( LSAPR_HANDLE PolicyHandle, PRPC_SID AccountSid, PLSAPR_USER_RIGHT_SET UserRights) @@ -1666,7 +1684,8 @@ NTSTATUS WINAPI LsarEnmuerateAccountRights( PLSA_DB_OBJECT PolicyObject; NTSTATUS Status; - FIXME("(%p,%p,%p) stub\n", PolicyHandle, AccountSid, UserRights); + TRACE("LsarEnumerateAccountRights(%p %p %p)\n", + PolicyHandle, AccountSid, UserRights); Status = LsapValidateDbObject(PolicyHandle, LsaDbPolicyObject,