mirror of
https://github.com/reactos/reactos.git
synced 2025-05-31 15:08:14 +00:00
[ADVAPI32]
Implement LsaAddPrivilegesToAccount(), LsaCreateTrustedDomain(), LsaDeleteTrustedDomain() and LsaOpenTrustedDomainByName(). svn path=/trunk/; revision=49174
This commit is contained in:
parent
36edd7ee75
commit
eccf8af929
3 changed files with 133 additions and 40 deletions
|
@ -345,12 +345,12 @@
|
|||
@ stub LookupSecurityDescriptorPartsA
|
||||
@ stub LookupSecurityDescriptorPartsW
|
||||
@ stdcall LsaAddAccountRights(ptr ptr ptr long)
|
||||
@ stub LsaAddPrivilegesToAccount
|
||||
@ stdcall LsaAddPrivilegesToAccount(ptr ptr)
|
||||
@ stub LsaClearAuditLog
|
||||
@ stdcall LsaClose(ptr)
|
||||
@ stdcall LsaCreateAccount(ptr ptr long ptr)
|
||||
@ stub LsaCreateSecret
|
||||
@ stub LsaCreateTrustedDomain
|
||||
@ stdcall LsaCreateTrustedDomain(ptr ptr long ptr)
|
||||
@ stdcall LsaCreateTrustedDomainEx(ptr ptr ptr long ptr)
|
||||
@ stdcall LsaDelete(ptr)
|
||||
@ stdcall LsaDeleteTrustedDomain(ptr ptr)
|
||||
|
@ -395,10 +395,9 @@
|
|||
@ stdcall LsaRemoveAccountRights(ptr ptr long ptr long)
|
||||
@ stub LsaRemovePrivilegesFromAccount
|
||||
@ stdcall LsaRetrievePrivateData(ptr ptr ptr)
|
||||
# @ stub LsaSetDomainInformationPolicy
|
||||
# @ stub LsaSetForestTrustInformation
|
||||
@ stdcall LsaSetInformationPolicy(long long ptr)
|
||||
@ stdcall LsaSetDomainInformationPolicy(ptr long ptr)
|
||||
@ stub LsaSetForestTrustInformation
|
||||
@ stdcall LsaSetInformationPolicy(long long ptr)
|
||||
@ stub LsaSetInformationTrustedDomain
|
||||
@ stub LsaSetQuotasForAccount
|
||||
@ stdcall LsaSetSecret(ptr ptr ptr)
|
||||
|
|
|
@ -95,8 +95,9 @@ PLSAPR_SERVER_NAME_unbind(PLSAPR_SERVER_NAME pszSystemName,
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS WINAPI
|
||||
LsaClose(LSA_HANDLE ObjectHandle)
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaClose(IN LSA_HANDLE ObjectHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
@ -119,8 +120,9 @@ LsaClose(LSA_HANDLE ObjectHandle)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS WINAPI
|
||||
LsaDelete(LSA_HANDLE ObjectHandle)
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaDelete(IN LSA_HANDLE ObjectHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
@ -156,6 +158,33 @@ LsaAddAccountRights(
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaAddPrivilegesToAccount(IN LSA_HANDLE AccountHandle,
|
||||
IN PPRIVILEGE_SET PrivilegeSet)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("(%p,%p) stub\n", AccountHandle, PrivilegeSet);
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = LsarAddPrivilegesToAccount((LSAPR_HANDLE)AccountHandle,
|
||||
(PLSAPR_PRIVILEGE_SET)PrivilegeSet);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -164,7 +193,7 @@ WINAPI
|
|||
LsaCreateAccount(IN LSA_HANDLE PolicyHandle,
|
||||
IN PSID AccountSid,
|
||||
IN ULONG Flags,
|
||||
IN OUT PLSA_HANDLE AccountHandle)
|
||||
OUT PLSA_HANDLE AccountHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
@ -187,6 +216,38 @@ LsaCreateAccount(IN LSA_HANDLE PolicyHandle,
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaCreateTrustedDomain(IN LSA_HANDLE PolicyHandle,
|
||||
IN PLSA_TRUST_INFORMATION TrustedDomainInformation,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PLSA_HANDLE TrustedDomainHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle, TrustedDomainInformation,
|
||||
DesiredAccess, TrustedDomainHandle);
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = LsarCreateTrustedDomain((LSAPR_HANDLE)PolicyHandle,
|
||||
(PLSAPR_TRUST_INFORMATION)TrustedDomainInformation,
|
||||
DesiredAccess,
|
||||
(PLSAPR_HANDLE)TrustedDomainHandle);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
@ -205,16 +266,29 @@ LsaCreateTrustedDomainEx(
|
|||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaDeleteTrustedDomain(
|
||||
LSA_HANDLE PolicyHandle,
|
||||
PSID TrustedDomainSid)
|
||||
LsaDeleteTrustedDomain(IN LSA_HANDLE PolicyHandle,
|
||||
IN PSID TrustedDomainSid)
|
||||
{
|
||||
FIXME("(%p,%p) stub\n", PolicyHandle, TrustedDomainSid);
|
||||
return STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("(%p,%p)\n", PolicyHandle, TrustedDomainSid);
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = LsarDeleteTrustedDomain((LSAPR_HANDLE)PolicyHandle,
|
||||
TrustedDomainSid);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -526,7 +600,7 @@ LsaLookupSids(IN LSA_HANDLE PolicyHandle,
|
|||
* @implemented
|
||||
*/
|
||||
ULONG WINAPI
|
||||
LsaNtStatusToWinError(NTSTATUS Status)
|
||||
LsaNtStatusToWinError(IN NTSTATUS Status)
|
||||
{
|
||||
TRACE("(%lx)\n", Status);
|
||||
return RtlNtStatusToDosError(Status);
|
||||
|
@ -541,7 +615,7 @@ WINAPI
|
|||
LsaOpenAccount(IN LSA_HANDLE PolicyHandle,
|
||||
IN PSID AccountSid,
|
||||
IN ULONG Flags,
|
||||
IN OUT PLSA_HANDLE AccountHandle)
|
||||
OUT PLSA_HANDLE AccountHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
@ -573,15 +647,14 @@ LsaOpenAccount(IN LSA_HANDLE PolicyHandle,
|
|||
* x3 []
|
||||
* x4 []
|
||||
*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaOpenPolicy(
|
||||
IN PLSA_UNICODE_STRING SystemName,
|
||||
IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN OUT PLSA_HANDLE PolicyHandle)
|
||||
LsaOpenPolicy(IN PLSA_UNICODE_STRING SystemName,
|
||||
IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PLSA_HANDLE PolicyHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
@ -615,20 +688,37 @@ LsaOpenPolicy(
|
|||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaOpenTrustedDomainByName(
|
||||
LSA_HANDLE PolicyHandle,
|
||||
PLSA_UNICODE_STRING TrustedDomainName,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PLSA_HANDLE TrustedDomainHandle)
|
||||
LsaOpenTrustedDomainByName(IN LSA_HANDLE PolicyHandle,
|
||||
IN PLSA_UNICODE_STRING TrustedDomainName,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PLSA_HANDLE TrustedDomainHandle)
|
||||
{
|
||||
FIXME("(%p,%p,0x%08x,%p) stub\n", PolicyHandle, TrustedDomainName, DesiredAccess, TrustedDomainHandle);
|
||||
return STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle, TrustedDomainName,
|
||||
DesiredAccess, TrustedDomainHandle);
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = LsarOpenTrustedDomainByName((LSAPR_HANDLE)PolicyHandle,
|
||||
(PRPC_UNICODE_STRING)TrustedDomainName,
|
||||
DesiredAccess,
|
||||
TrustedDomainHandle);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
@ -660,10 +750,11 @@ LsaQueryForestTrustInformation(
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS WINAPI
|
||||
LsaQueryInformationPolicy(LSA_HANDLE PolicyHandle,
|
||||
POLICY_INFORMATION_CLASS InformationClass,
|
||||
PVOID *Buffer)
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
LsaQueryInformationPolicy(IN LSA_HANDLE PolicyHandle,
|
||||
IN POLICY_INFORMATION_CLASS InformationClass,
|
||||
OUT PVOID *Buffer)
|
||||
{
|
||||
PLSAPR_POLICY_INFORMATION PolicyInformation = NULL;
|
||||
NTSTATUS Status;
|
||||
|
|
|
@ -671,15 +671,16 @@ typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
|
|||
BOOLEAN WINAPI RtlGenRandom(PVOID,ULONG);
|
||||
|
||||
NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
|
||||
NTSTATUS NTAPI LsaAddPrivilegesToAccount(LSA_HANDLE, PPRIVILEGE_SET);
|
||||
NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
|
||||
PULONG,PNTSTATUS);
|
||||
NTSTATUS NTAPI LsaClose(LSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
|
||||
NTSTATUS NTAPI LsaCreateAccount(LSA_HANDLE, PSID, ULONG, PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
|
||||
PTRUSTED_DOMAIN_INFORMATION_EX,
|
||||
PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
|
||||
PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaCreateTrustedDomain(LSA_HANDLE, PLSA_TRUST_INFORMATION,
|
||||
ACCESS_MASK, PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE, PTRUSTED_DOMAIN_INFORMATION_EX,
|
||||
PTRUSTED_DOMAIN_AUTH_INFORMATION, ACCESS_MASK, PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
|
||||
NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
|
||||
NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
|
||||
|
@ -707,6 +708,8 @@ ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
|
|||
NTSTATUS NTAPI LsaOpenAccount(LSA_HANDLE, PSID, ULONG, PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
|
||||
ACCESS_MASK,PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaOpenTrustedDomainByName(LSA_HANDLE, PLSA_UNICODE_STRING,
|
||||
ACCESS_MASK, PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
|
||||
POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
|
||||
|
|
Loading…
Reference in a new issue