mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +00:00
[ADVAPI32]
Implement LsaGetRemoteUserName, LsaQueryDomainInformationPolicy and LsaSetDomainInformationPolicy. svn path=/trunk/; revision=57416
This commit is contained in:
parent
893015f03c
commit
4c24708b08
|
@ -688,9 +688,38 @@ LsaGetRemoteUserName(IN PLSA_UNICODE_STRING SystemName OPTIONAL,
|
||||||
OUT PLSA_UNICODE_STRING *UserName,
|
OUT PLSA_UNICODE_STRING *UserName,
|
||||||
OUT PLSA_UNICODE_STRING *DomainName OPTIONAL)
|
OUT PLSA_UNICODE_STRING *DomainName OPTIONAL)
|
||||||
{
|
{
|
||||||
FIXME("LsaGetUserName(%p %p %p)\n",
|
PRPC_UNICODE_STRING UserNameString = NULL;
|
||||||
SystemName, UserName, DomainName);
|
PRPC_UNICODE_STRING DomainNameString = NULL;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("LsaGetRemoteUserName(%s %p %p)\n",
|
||||||
|
SystemName ? debugstr_w(SystemName->Buffer) : "(null)",
|
||||||
|
UserName, DomainName);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = LsarGetUserName((PLSAPR_SERVER_NAME)SystemName,
|
||||||
|
&UserNameString,
|
||||||
|
(DomainName != NULL) ? &DomainNameString : NULL);
|
||||||
|
|
||||||
|
*UserName = (PLSA_UNICODE_STRING)UserNameString;
|
||||||
|
|
||||||
|
if (DomainName != NULL)
|
||||||
|
*DomainName = (PLSA_UNICODE_STRING)DomainNameString;
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
if (UserNameString != NULL)
|
||||||
|
MIDL_user_free(UserNameString);
|
||||||
|
|
||||||
|
if (DomainNameString != NULL)
|
||||||
|
MIDL_user_free(DomainNameString);
|
||||||
|
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1227,7 +1256,7 @@ LsaOpenTrustedDomainByName(IN LSA_HANDLE PolicyHandle,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
WINAPI
|
WINAPI
|
||||||
|
@ -1235,9 +1264,30 @@ LsaQueryDomainInformationPolicy(IN LSA_HANDLE PolicyHandle,
|
||||||
IN POLICY_DOMAIN_INFORMATION_CLASS InformationClass,
|
IN POLICY_DOMAIN_INFORMATION_CLASS InformationClass,
|
||||||
OUT PVOID *Buffer)
|
OUT PVOID *Buffer)
|
||||||
{
|
{
|
||||||
FIXME("LsaQueryDomainInformationPolicy(%p %lu %p) stub\n",
|
PLSAPR_POLICY_DOMAIN_INFORMATION PolicyInformation = NULL;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("LsaQueryDomainInformationPolicy(%p %lu %p)\n",
|
||||||
PolicyHandle, InformationClass, Buffer);
|
PolicyHandle, InformationClass, Buffer);
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = LsarQueryDomainInformationPolicy((LSAPR_HANDLE)PolicyHandle,
|
||||||
|
InformationClass,
|
||||||
|
&PolicyInformation);
|
||||||
|
|
||||||
|
*Buffer = PolicyInformation;
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
if (PolicyInformation != NULL)
|
||||||
|
MIDL_user_free(PolicyInformation);
|
||||||
|
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1621,7 +1671,7 @@ LsaRetrievePrivateData(IN LSA_HANDLE PolicyHandle,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
WINAPI
|
WINAPI
|
||||||
|
@ -1629,9 +1679,24 @@ LsaSetDomainInformationPolicy(IN LSA_HANDLE PolicyHandle,
|
||||||
IN POLICY_DOMAIN_INFORMATION_CLASS InformationClass,
|
IN POLICY_DOMAIN_INFORMATION_CLASS InformationClass,
|
||||||
IN PVOID Buffer OPTIONAL)
|
IN PVOID Buffer OPTIONAL)
|
||||||
{
|
{
|
||||||
FIXME("LsaSetDomainInformationPolicy(%p %d %p) stub\n",
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("LsaSetDomainInformationPolicy(%p %d %p)\n",
|
||||||
PolicyHandle, InformationClass, Buffer);
|
PolicyHandle, InformationClass, Buffer);
|
||||||
return STATUS_UNSUCCESSFUL;
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = LsarSetDomainInformationPolicy((LSAPR_HANDLE)PolicyHandle,
|
||||||
|
InformationClass,
|
||||||
|
(PLSAPR_POLICY_DOMAIN_INFORMATION)Buffer);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -936,15 +936,13 @@ cpp_quote("#if _WIN32_WINNT >= 0x0500")
|
||||||
NTSTATUS __stdcall LsarQueryDomainInformationPolicy(
|
NTSTATUS __stdcall LsarQueryDomainInformationPolicy(
|
||||||
[in] LSAPR_HANDLE PolicyHandle,
|
[in] LSAPR_HANDLE PolicyHandle,
|
||||||
[in] POLICY_INFORMATION_CLASS InformationClass,
|
[in] POLICY_INFORMATION_CLASS InformationClass,
|
||||||
[out] unsigned long *PolicyInformation);
|
[out, switch_is(InformationClass)] PLSAPR_POLICY_DOMAIN_INFORMATION *PolicyInformation);
|
||||||
/* FIXME: should be [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); */
|
|
||||||
|
|
||||||
/* Function 54 */
|
/* Function 54 */
|
||||||
NTSTATUS __stdcall LsarSetDomainInformationPolicy(
|
NTSTATUS __stdcall LsarSetDomainInformationPolicy(
|
||||||
[in] LSAPR_HANDLE PolicyHandle,
|
[in] LSAPR_HANDLE PolicyHandle,
|
||||||
[in] POLICY_INFORMATION_CLASS InformationClass,
|
[in] POLICY_INFORMATION_CLASS InformationClass,
|
||||||
[in] unsigned long PolicyInformation);
|
[in, switch_is(InformationClass)] PLSAPR_POLICY_DOMAIN_INFORMATION PolicyInformation);
|
||||||
/* FIXME: should be [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); */
|
|
||||||
|
|
||||||
/* Function 55 */
|
/* Function 55 */
|
||||||
NTSTATUS __stdcall LsarOpenTrustedDomainByName(
|
NTSTATUS __stdcall LsarOpenTrustedDomainByName(
|
||||||
|
|
Loading…
Reference in a new issue