2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: dll/win32/advapi32/sec/lsa.c
5 * PURPOSE: Local security authority functions
6 * PROGRAMMER: Emanuele Aliberti
10 * 20030202 KJK compressed stubs
14 WINE_DEFAULT_DEBUG_CHANNEL(advapi
);
17 static BOOL
LsapIsLocalComputer(PLSA_UNICODE_STRING ServerName
)
19 DWORD dwSize
= MAX_COMPUTERNAME_LENGTH
+ 1;
23 if (ServerName
== NULL
|| ServerName
->Length
== 0 || ServerName
->Buffer
== NULL
)
26 buf
= HeapAlloc(GetProcessHeap(), 0, dwSize
* sizeof(WCHAR
));
27 Result
= GetComputerNameW(buf
, &dwSize
);
28 if (Result
&& (ServerName
->Buffer
[0] == '\\') && (ServerName
->Buffer
[1] == '\\'))
30 Result
= Result
&& !lstrcmpW(ServerName
->Buffer
, buf
);
31 HeapFree(GetProcessHeap(), 0, buf
);
38 PLSAPR_SERVER_NAME_bind(PLSAPR_SERVER_NAME pszSystemName
)
40 handle_t hBinding
= NULL
;
41 LPWSTR pszStringBinding
;
44 TRACE("PLSAPR_SERVER_NAME_bind() called\n");
46 status
= RpcStringBindingComposeW(NULL
,
54 TRACE("RpcStringBindingCompose returned 0x%x\n", status
);
58 /* Set the binding handle that will be used to bind to the server. */
59 status
= RpcBindingFromStringBindingW(pszStringBinding
,
63 TRACE("RpcBindingFromStringBinding returned 0x%x\n", status
);
66 status
= RpcStringFreeW(&pszStringBinding
);
69 TRACE("RpcStringFree returned 0x%x\n", status
);
77 PLSAPR_SERVER_NAME_unbind(PLSAPR_SERVER_NAME pszSystemName
,
82 TRACE("PLSAPR_SERVER_NAME_unbind() called\n");
84 status
= RpcBindingFree(&hBinding
);
87 TRACE("RpcBindingFree returned 0x%x\n", status
);
97 LsaClose(IN LSA_HANDLE ObjectHandle
)
101 TRACE("LsaClose(0x%p) called\n", ObjectHandle
);
105 Status
= LsarClose((PLSAPR_HANDLE
)&ObjectHandle
);
107 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
109 Status
= I_RpcMapWin32Status(RpcExceptionCode());
122 LsaDelete(IN LSA_HANDLE ObjectHandle
)
126 TRACE("LsaDelete(0x%p) called\n", ObjectHandle
);
130 Status
= LsarDelete((LSAPR_HANDLE
)ObjectHandle
);
132 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
134 Status
= I_RpcMapWin32Status(RpcExceptionCode());
147 LsaAddAccountRights(IN LSA_HANDLE PolicyHandle
,
149 IN PLSA_UNICODE_STRING UserRights
,
150 IN ULONG CountOfRights
)
152 LSAPR_USER_RIGHT_SET UserRightSet
;
155 TRACE("(%p,%p,%p,0x%08x) stub\n", PolicyHandle
, AccountSid
, UserRights
, CountOfRights
);
157 UserRightSet
.Entries
= CountOfRights
;
158 UserRightSet
.UserRights
= (PRPC_UNICODE_STRING
)UserRights
;
162 Status
= LsarAddAccountRights((LSAPR_HANDLE
)PolicyHandle
,
163 (PRPC_SID
)AccountSid
,
167 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
169 Status
= I_RpcMapWin32Status(RpcExceptionCode());
182 LsaAddPrivilegesToAccount(IN LSA_HANDLE AccountHandle
,
183 IN PPRIVILEGE_SET PrivilegeSet
)
187 TRACE("(%p,%p) stub\n", AccountHandle
, PrivilegeSet
);
191 Status
= LsarAddPrivilegesToAccount((LSAPR_HANDLE
)AccountHandle
,
192 (PLSAPR_PRIVILEGE_SET
)PrivilegeSet
);
194 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
196 Status
= I_RpcMapWin32Status(RpcExceptionCode());
209 LsaCreateAccount(IN LSA_HANDLE PolicyHandle
,
212 OUT PLSA_HANDLE AccountHandle
)
216 TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle
, AccountSid
, Flags
, AccountHandle
);
220 Status
= LsarCreateAccount((LSAPR_HANDLE
)PolicyHandle
,
225 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
227 Status
= I_RpcMapWin32Status(RpcExceptionCode());
240 LsaCreateTrustedDomain(IN LSA_HANDLE PolicyHandle
,
241 IN PLSA_TRUST_INFORMATION TrustedDomainInformation
,
242 IN ACCESS_MASK DesiredAccess
,
243 OUT PLSA_HANDLE TrustedDomainHandle
)
247 TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle
, TrustedDomainInformation
,
248 DesiredAccess
, TrustedDomainHandle
);
252 Status
= LsarCreateTrustedDomain((LSAPR_HANDLE
)PolicyHandle
,
253 (PLSAPR_TRUST_INFORMATION
)TrustedDomainInformation
,
255 (PLSAPR_HANDLE
)TrustedDomainHandle
);
257 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
259 Status
= I_RpcMapWin32Status(RpcExceptionCode());
272 LsaCreateTrustedDomainEx(
273 LSA_HANDLE PolicyHandle
,
274 PTRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation
,
275 PTRUSTED_DOMAIN_AUTH_INFORMATION AuthenticationInformation
,
276 ACCESS_MASK DesiredAccess
,
277 PLSA_HANDLE TrustedDomainHandle
)
279 FIXME("(%p,%p,%p,0x%08x,%p) stub\n", PolicyHandle
, TrustedDomainInformation
, AuthenticationInformation
,
280 DesiredAccess
, TrustedDomainHandle
);
281 return STATUS_SUCCESS
;
290 LsaDeleteTrustedDomain(IN LSA_HANDLE PolicyHandle
,
291 IN PSID TrustedDomainSid
)
295 TRACE("(%p,%p)\n", PolicyHandle
, TrustedDomainSid
);
299 Status
= LsarDeleteTrustedDomain((LSAPR_HANDLE
)PolicyHandle
,
302 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
304 Status
= I_RpcMapWin32Status(RpcExceptionCode());
317 LsaEnumerateAccountRights(IN LSA_HANDLE PolicyHandle
,
319 OUT PLSA_UNICODE_STRING
*UserRights
,
320 OUT PULONG CountOfRights
)
322 LSAPR_USER_RIGHT_SET UserRightsSet
;
325 TRACE("(%p,%p,%p,%p) stub\n", PolicyHandle
, AccountSid
, UserRights
, CountOfRights
);
327 UserRightsSet
.Entries
= 0;
328 UserRightsSet
.UserRights
= NULL
;
332 Status
= LsarEnmuerateAccountRights((LSAPR_HANDLE
)PolicyHandle
,
336 *CountOfRights
= UserRightsSet
.Entries
;
337 *UserRights
= (PUNICODE_STRING
)UserRightsSet
.UserRights
;
339 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
341 Status
= I_RpcMapWin32Status(RpcExceptionCode());
343 if (UserRightsSet
.UserRights
!= NULL
)
345 MIDL_user_free(UserRightsSet
.UserRights
);
359 LsaEnumerateAccountsWithUserRight(
360 LSA_HANDLE PolicyHandle
,
361 OPTIONAL PLSA_UNICODE_STRING UserRights
,
362 PVOID
*EnumerationBuffer
,
363 PULONG CountReturned
)
365 FIXME("(%p,%p,%p,%p) stub\n", PolicyHandle
, UserRights
, EnumerationBuffer
, CountReturned
);
366 return STATUS_NO_MORE_ENTRIES
;
374 LsaEnumerateTrustedDomains(
375 LSA_HANDLE PolicyHandle
,
376 PLSA_ENUMERATION_HANDLE EnumerationContext
,
378 ULONG PreferedMaximumLength
,
379 PULONG CountReturned
)
381 FIXME("(%p,%p,%p,0x%08x,%p) stub\n", PolicyHandle
, EnumerationContext
,
382 Buffer
, PreferedMaximumLength
, CountReturned
);
384 if (CountReturned
) *CountReturned
= 0;
385 return STATUS_SUCCESS
;
393 LsaEnumerateTrustedDomainsEx(
394 LSA_HANDLE PolicyHandle
,
395 PLSA_ENUMERATION_HANDLE EnumerationContext
,
397 ULONG PreferedMaximumLength
,
398 PULONG CountReturned
)
400 FIXME("(%p,%p,%p,0x%08x,%p) stub\n", PolicyHandle
, EnumerationContext
, Buffer
,
401 PreferedMaximumLength
, CountReturned
);
402 if (CountReturned
) *CountReturned
= 0;
403 return STATUS_SUCCESS
;
412 LsaFreeMemory(IN PVOID Buffer
)
414 TRACE("(%p)\n", Buffer
);
415 return RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer
);
424 LsaLookupNames(IN LSA_HANDLE PolicyHandle
,
426 IN PLSA_UNICODE_STRING Names
,
427 OUT PLSA_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
428 OUT PLSA_TRANSLATED_SID
*Sids
)
430 LSAPR_TRANSLATED_SIDS TranslatedSids
= {0, NULL
};
431 ULONG MappedCount
= 0;
434 TRACE("(%p,0x%08x,%p,%p,%p)\n", PolicyHandle
, Count
, Names
,
435 ReferencedDomains
, Sids
);
437 if (ReferencedDomains
== NULL
|| Sids
== NULL
)
438 return STATUS_INVALID_PARAMETER
;
442 *ReferencedDomains
= NULL
;
445 TranslatedSids
.Entries
= Count
;
447 Status
= LsarLookupNames((LSAPR_HANDLE
)PolicyHandle
,
449 (PRPC_UNICODE_STRING
)Names
,
450 (PLSAPR_REFERENCED_DOMAIN_LIST
*)ReferencedDomains
,
455 *Sids
= (PLSA_TRANSLATED_SID
)TranslatedSids
.Sids
;
457 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
459 if (TranslatedSids
.Sids
!= NULL
)
460 MIDL_user_free(TranslatedSids
.Sids
);
462 Status
= I_RpcMapWin32Status(RpcExceptionCode());
475 LsaLookupNames2(IN LSA_HANDLE PolicyHandle
,
478 IN PLSA_UNICODE_STRING Names
,
479 OUT PLSA_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
480 OUT PLSA_TRANSLATED_SID2
*Sids
)
482 LSAPR_TRANSLATED_SIDS_EX2 TranslatedSids
= {0, NULL
};
483 ULONG MappedCount
= 0;
486 TRACE("(%p,0x%08x,0x%08x,%p,%p,%p) stub\n", PolicyHandle
, Flags
,
487 Count
, Names
, ReferencedDomains
, Sids
);
489 if (ReferencedDomains
== NULL
|| Sids
== NULL
)
490 return STATUS_INVALID_PARAMETER
;
494 *ReferencedDomains
= NULL
;
497 TranslatedSids
.Entries
= Count
;
499 Status
= LsarLookupNames3((LSAPR_HANDLE
)PolicyHandle
,
501 (PRPC_UNICODE_STRING
)Names
,
502 (PLSAPR_REFERENCED_DOMAIN_LIST
*)ReferencedDomains
,
509 *Sids
= (PLSA_TRANSLATED_SID2
)TranslatedSids
.Sids
;
511 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
513 if (TranslatedSids
.Sids
!= NULL
)
514 MIDL_user_free(TranslatedSids
.Sids
);
516 Status
= I_RpcMapWin32Status(RpcExceptionCode());
529 LsaLookupPrivilegeName(IN LSA_HANDLE PolicyHandle
,
531 OUT PUNICODE_STRING
*Name
)
533 PRPC_UNICODE_STRING NameBuffer
= NULL
;
536 TRACE("(%p,%p,%p)\n", PolicyHandle
, Value
, Name
);
540 Status
= LsarLookupPrivilegeName(PolicyHandle
,
544 *Name
= (PUNICODE_STRING
)NameBuffer
;
546 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
548 if (NameBuffer
!= NULL
)
549 MIDL_user_free(NameBuffer
);
551 Status
= I_RpcMapWin32Status(RpcExceptionCode());
564 LsaLookupPrivilegeValue(IN LSA_HANDLE PolicyHandle
,
565 IN PLSA_UNICODE_STRING Name
,
571 TRACE("(%p,%p,%p)\n", PolicyHandle
, Name
, Value
);
575 Status
= LsarLookupPrivilegeValue(PolicyHandle
,
576 (PRPC_UNICODE_STRING
)Name
,
578 if (Status
== STATUS_SUCCESS
)
581 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
583 Status
= I_RpcMapWin32Status(RpcExceptionCode());
596 LsaLookupSids(IN LSA_HANDLE PolicyHandle
,
599 OUT PLSA_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
600 OUT PLSA_TRANSLATED_NAME
*Names
)
602 LSAPR_SID_ENUM_BUFFER SidEnumBuffer
;
603 LSAPR_TRANSLATED_NAMES TranslatedNames
;
604 ULONG MappedCount
= 0;
607 TRACE("(%p,%u,%p,%p,%p)\n", PolicyHandle
, Count
, Sids
,
608 ReferencedDomains
, Names
);
611 return STATUS_INVALID_PARAMETER
;
613 SidEnumBuffer
.Entries
= Count
;
614 SidEnumBuffer
.SidInfo
= (PLSAPR_SID_INFORMATION
)Sids
;
618 *ReferencedDomains
= NULL
;
621 TranslatedNames
.Entries
= 0;
622 TranslatedNames
.Names
= NULL
;
624 Status
= LsarLookupSids((LSAPR_HANDLE
)PolicyHandle
,
626 (PLSAPR_REFERENCED_DOMAIN_LIST
*)ReferencedDomains
,
631 *Names
= (PLSA_TRANSLATED_NAME
)TranslatedNames
.Names
;
633 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
635 if (TranslatedNames
.Names
!= NULL
)
637 MIDL_user_free(TranslatedNames
.Names
);
640 Status
= I_RpcMapWin32Status(RpcExceptionCode());
648 /******************************************************************************
649 * LsaNtStatusToWinError
658 LsaNtStatusToWinError(IN NTSTATUS Status
)
660 TRACE("(%lx)\n", Status
);
661 return RtlNtStatusToDosError(Status
);
670 LsaOpenAccount(IN LSA_HANDLE PolicyHandle
,
673 OUT PLSA_HANDLE AccountHandle
)
677 TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle
, AccountSid
, Flags
, AccountHandle
);
681 Status
= LsarOpenAccount((LSAPR_HANDLE
)PolicyHandle
,
686 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
688 Status
= I_RpcMapWin32Status(RpcExceptionCode());
696 /******************************************************************************
709 LsaOpenPolicy(IN PLSA_UNICODE_STRING SystemName
,
710 IN PLSA_OBJECT_ATTRIBUTES ObjectAttributes
,
711 IN ACCESS_MASK DesiredAccess
,
712 OUT PLSA_HANDLE PolicyHandle
)
716 TRACE("LsaOpenPolicy (%s,%p,0x%08x,%p)\n",
717 SystemName
? debugstr_w(SystemName
->Buffer
) : "(null)",
718 ObjectAttributes
, DesiredAccess
, PolicyHandle
);
720 /* FIXME: RPC should take care of this */
721 if (!LsapIsLocalComputer(SystemName
))
722 return RPC_NT_SERVER_UNAVAILABLE
;
726 *PolicyHandle
= NULL
;
728 Status
= LsarOpenPolicy(SystemName
? SystemName
->Buffer
: NULL
,
729 (PLSAPR_OBJECT_ATTRIBUTES
)ObjectAttributes
,
733 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
735 Status
= I_RpcMapWin32Status(RpcExceptionCode());
739 TRACE("LsaOpenPolicy() done (Status: 0x%08lx)\n", Status
);
750 LsaOpenTrustedDomainByName(IN LSA_HANDLE PolicyHandle
,
751 IN PLSA_UNICODE_STRING TrustedDomainName
,
752 IN ACCESS_MASK DesiredAccess
,
753 OUT PLSA_HANDLE TrustedDomainHandle
)
757 TRACE("(%p,%p,0x%08x,%p)\n", PolicyHandle
, TrustedDomainName
,
758 DesiredAccess
, TrustedDomainHandle
);
762 Status
= LsarOpenTrustedDomainByName((LSAPR_HANDLE
)PolicyHandle
,
763 (PRPC_UNICODE_STRING
)TrustedDomainName
,
765 TrustedDomainHandle
);
767 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
769 Status
= I_RpcMapWin32Status(RpcExceptionCode());
782 LsaQueryDomainInformationPolicy(
783 LSA_HANDLE PolicyHandle
,
784 POLICY_DOMAIN_INFORMATION_CLASS InformationClass
,
787 FIXME("(%p,0x%08x,%p)\n", PolicyHandle
, InformationClass
, Buffer
);
788 return STATUS_NOT_IMPLEMENTED
;
797 LsaQueryForestTrustInformation(
798 LSA_HANDLE PolicyHandle
,
799 PLSA_UNICODE_STRING TrustedDomainName
,
800 PLSA_FOREST_TRUST_INFORMATION
* ForestTrustInfo
)
802 FIXME("(%p,%p,%p) stub\n", PolicyHandle
, TrustedDomainName
, ForestTrustInfo
);
803 return STATUS_NOT_IMPLEMENTED
;
812 LsaQueryInformationPolicy(IN LSA_HANDLE PolicyHandle
,
813 IN POLICY_INFORMATION_CLASS InformationClass
,
816 PLSAPR_POLICY_INFORMATION PolicyInformation
= NULL
;
819 TRACE("(%p,0x%08x,%p)\n", PolicyHandle
, InformationClass
, Buffer
);
823 Status
= LsarQueryInformationPolicy((LSAPR_HANDLE
)PolicyHandle
,
826 *Buffer
= PolicyInformation
;
828 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
830 if (PolicyInformation
!= NULL
)
831 MIDL_user_free(PolicyInformation
);
833 Status
= I_RpcMapWin32Status(RpcExceptionCode());
837 TRACE("Done (Status: 0x%08x)\n", Status
);
848 LsaQueryTrustedDomainInfo(
849 LSA_HANDLE PolicyHandle
,
850 PSID TrustedDomainSid
,
851 TRUSTED_INFORMATION_CLASS InformationClass
,
854 FIXME("(%p,%p,%d,%p) stub\n", PolicyHandle
, TrustedDomainSid
, InformationClass
, Buffer
);
855 return STATUS_OBJECT_NAME_NOT_FOUND
;
864 LsaQueryTrustedDomainInfoByName(IN LSA_HANDLE PolicyHandle
,
865 IN PLSA_UNICODE_STRING TrustedDomainName
,
866 IN TRUSTED_INFORMATION_CLASS InformationClass
,
871 TRACE("(%p,%p,%d,%p)\n", PolicyHandle
, TrustedDomainName
, InformationClass
, Buffer
);
873 if (InformationClass
== TrustedDomainAuthInformationInternal
||
874 InformationClass
== TrustedDomainFullInformationInternal
)
875 return STATUS_INVALID_INFO_CLASS
;
879 Status
= LsarQueryTrustedDomainInfoByName((LSAPR_HANDLE
)PolicyHandle
,
880 (PRPC_UNICODE_STRING
)TrustedDomainName
,
882 (unsigned long *)Buffer
); // Shuld be: (PLSAPR_POLICY_INFORMATION *)Buffer
884 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
886 Status
= I_RpcMapWin32Status(RpcExceptionCode());
899 LsaRemoveAccountRights(IN LSA_HANDLE PolicyHandle
,
901 IN BOOLEAN AllRights
,
902 IN PLSA_UNICODE_STRING UserRights
,
903 IN ULONG CountOfRights
)
905 LSAPR_USER_RIGHT_SET UserRightSet
;
907 TRACE("(%p,%p,%d,%p,0x%08x) stub\n", PolicyHandle
, AccountSid
, AllRights
, UserRights
, CountOfRights
);
909 UserRightSet
.Entries
= CountOfRights
;
910 UserRightSet
.UserRights
= (PRPC_UNICODE_STRING
)UserRights
;
914 LsarRemoveAccountRights((LSAPR_HANDLE
)PolicyHandle
,
915 (PRPC_SID
)AccountSid
,
919 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
921 I_RpcMapWin32Status(RpcExceptionCode());
925 return STATUS_SUCCESS
;
934 LsaRetrievePrivateData(
935 LSA_HANDLE PolicyHandle
,
936 PLSA_UNICODE_STRING KeyName
,
937 PLSA_UNICODE_STRING
*PrivateData
)
939 FIXME("(%p,%p,%p) stub\n", PolicyHandle
, KeyName
, PrivateData
);
940 return STATUS_OBJECT_NAME_NOT_FOUND
;
948 LsaSetDomainInformationPolicy(
949 LSA_HANDLE PolicyHandle
,
950 POLICY_DOMAIN_INFORMATION_CLASS InformationClass
,
953 FIXME("(%p,0x%08x,%p) stub\n", PolicyHandle
, InformationClass
, Buffer
);
954 return STATUS_UNSUCCESSFUL
;
963 LsaSetInformationPolicy(IN LSA_HANDLE PolicyHandle
,
964 IN POLICY_INFORMATION_CLASS InformationClass
,
969 TRACE("(%p,0x%08x,%p)\n", PolicyHandle
, InformationClass
, Buffer
);
973 Status
= LsarSetInformationPolicy((LSAPR_HANDLE
)PolicyHandle
,
975 (PLSAPR_POLICY_INFORMATION
)Buffer
);
977 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
979 Status
= I_RpcMapWin32Status(RpcExceptionCode());
990 NTSTATUS WINAPI
LsaSetSecret(
991 IN LSA_HANDLE SecretHandle
,
992 IN PLSA_UNICODE_STRING EncryptedCurrentValue
,
993 IN PLSA_UNICODE_STRING EncryptedOldValue
)
995 FIXME("(%p,%p,%p) stub\n", SecretHandle
, EncryptedCurrentValue
,
997 return STATUS_SUCCESS
;
1005 LsaSetForestTrustInformation(
1006 LSA_HANDLE PolicyHandle
,
1007 PLSA_UNICODE_STRING TrustedDomainName
,
1008 PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo
,
1010 PLSA_FOREST_TRUST_COLLISION_INFORMATION
*CollisionInfo
)
1012 FIXME("(%p,%p,%p,%d,%p) stub\n", PolicyHandle
, TrustedDomainName
, ForestTrustInfo
, CheckOnly
, CollisionInfo
);
1013 return STATUS_NOT_IMPLEMENTED
;
1021 LsaSetTrustedDomainInfoByName(
1022 LSA_HANDLE PolicyHandle
,
1023 PLSA_UNICODE_STRING TrustedDomainName
,
1024 TRUSTED_INFORMATION_CLASS InformationClass
,
1027 FIXME("(%p,%p,%d,%p) stub\n", PolicyHandle
, TrustedDomainName
, InformationClass
, Buffer
);
1028 return STATUS_SUCCESS
;
1034 NTSTATUS WINAPI
LsaRegisterPolicyChangeNotification(
1035 POLICY_NOTIFICATION_INFORMATION_CLASS
class,
1038 FIXME("(%d,%p) stub\n", class, event
);
1039 return STATUS_UNSUCCESSFUL
;
1047 LsaSetTrustedDomainInformation(
1048 LSA_HANDLE PolicyHandle
,
1049 PSID TrustedDomainSid
,
1050 TRUSTED_INFORMATION_CLASS InformationClass
,
1053 FIXME("(%p,%p,%d,%p) stub\n", PolicyHandle
, TrustedDomainSid
, InformationClass
, Buffer
);
1054 return STATUS_SUCCESS
;
1062 LsaStorePrivateData(
1063 LSA_HANDLE PolicyHandle
,
1064 PLSA_UNICODE_STRING KeyName
,
1065 PLSA_UNICODE_STRING PrivateData
)
1067 FIXME("(%p,%p,%p) stub\n", PolicyHandle
, KeyName
, PrivateData
);
1068 return STATUS_OBJECT_NAME_NOT_FOUND
;
1074 NTSTATUS WINAPI
LsaUnregisterPolicyChangeNotification(
1075 POLICY_NOTIFICATION_INFORMATION_CLASS
class,
1078 FIXME("(%d,%p) stub\n", class, event
);
1079 return STATUS_SUCCESS
;
1088 PUNICODE_STRING
*UserName
,
1089 PUNICODE_STRING
*DomainName
)
1091 FIXME("(%p,%p) stub\n", UserName
, DomainName
);
1092 return STATUS_NOT_IMPLEMENTED
;
1100 LsaQueryInfoTrustedDomain (DWORD Unknonw0
,
1104 FIXME("(%d,%d,%d) stub\n", Unknonw0
, Unknonw1
, Unknonw2
);
1105 return STATUS_NOT_IMPLEMENTED
;