1 /* INCLUDES ****************************************************************/
3 #define WIN32_NO_STATUS
14 #include <wine/debug.h>
16 typedef enum _LSA_DB_HANDLE_TYPE
21 } LSA_DB_HANDLE_TYPE
, *PLSA_DB_HANDLE_TYPE
;
23 typedef struct _LSA_DB_HANDLE
26 LSA_DB_HANDLE_TYPE HandleType
;
29 } LSA_DB_HANDLE
, *PLSA_DB_HANDLE
;
31 #define LSAP_DB_SIGNATURE 0x12345678
33 static RTL_CRITICAL_SECTION PolicyHandleTableLock
;
35 WINE_DEFAULT_DEBUG_CHANNEL(lsasrv
);
38 /* FUNCTIONS ***************************************************************/
41 LsapCreateDbHandle(LSA_DB_HANDLE_TYPE HandleType
,
42 ACCESS_MASK DesiredAccess
)
44 PLSA_DB_HANDLE DbHandle
;
46 // RtlEnterCriticalSection(&PolicyHandleTableLock);
48 DbHandle
= (PLSA_DB_HANDLE
)RtlAllocateHeap(RtlGetProcessHeap(),
50 sizeof(LSA_DB_HANDLE
));
53 DbHandle
->Signature
= LSAP_DB_SIGNATURE
;
54 DbHandle
->RefCount
= 1;
55 DbHandle
->HandleType
= HandleType
;
56 DbHandle
->Access
= DesiredAccess
;
59 // RtlLeaveCriticalSection(&PolicyHandleTableLock);
61 return (LSAPR_HANDLE
)DbHandle
;
66 LsapValidateDbHandle(LSAPR_HANDLE Handle
,
67 LSA_DB_HANDLE_TYPE HandleType
)
69 PLSA_DB_HANDLE DbHandle
= (PLSA_DB_HANDLE
)Handle
;
74 if (DbHandle
->Signature
== LSAP_DB_SIGNATURE
)
76 if (HandleType
== LsaDbIgnoreHandle
)
78 else if (DbHandle
->HandleType
== HandleType
)
82 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
96 LsarStartRpcServer(VOID
)
100 RtlInitializeCriticalSection(&PolicyHandleTableLock
);
102 TRACE("LsarStartRpcServer() called\n");
104 Status
= RpcServerUseProtseqEpW(L
"ncacn_np",
108 if (Status
!= RPC_S_OK
)
110 WARN("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status
);
114 Status
= RpcServerRegisterIf(lsarpc_v0_0_s_ifspec
,
117 if (Status
!= RPC_S_OK
)
119 WARN("RpcServerRegisterIf() failed (Status %lx)\n", Status
);
123 Status
= RpcServerListen(1, 20, TRUE
);
124 if (Status
!= RPC_S_OK
)
126 WARN("RpcServerListen() failed (Status %lx)\n", Status
);
130 TRACE("LsarStartRpcServer() done\n");
134 void __RPC_USER
LSAPR_HANDLE_rundown(LSAPR_HANDLE hHandle
)
142 LSAPR_HANDLE
*ObjectHandle
)
144 NTSTATUS Status
= STATUS_SUCCESS
;
146 TRACE("0x%p\n", ObjectHandle
);
148 // RtlEnterCriticalSection(&PolicyHandleTableLock);
150 if (LsapValidateDbHandle(*ObjectHandle
, LsaDbIgnoreHandle
))
152 RtlFreeHeap(RtlGetProcessHeap(), 0, *ObjectHandle
);
153 *ObjectHandle
= NULL
;
156 Status
= STATUS_INVALID_HANDLE
;
158 // RtlLeaveCriticalSection(&PolicyHandleTableLock);
166 LSAPR_HANDLE ObjectHandle
)
169 return STATUS_NOT_SUPPORTED
;
174 NTSTATUS
LsarEnumeratePrivileges(
175 LSAPR_HANDLE PolicyHandle
,
176 DWORD
*EnumerationContext
,
177 PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer
,
178 DWORD PreferedMaximumLength
)
181 return STATUS_NOT_IMPLEMENTED
;
186 NTSTATUS
LsarQuerySecurityObject(
187 LSAPR_HANDLE ObjectHandle
,
188 SECURITY_INFORMATION SecurityInformation
,
189 PLSAPR_SR_SECURITY_DESCRIPTOR
*SecurityDescriptor
)
192 return STATUS_NOT_IMPLEMENTED
;
197 NTSTATUS
LsarSetSecurityObject(
198 LSAPR_HANDLE ObjectHandle
,
199 SECURITY_INFORMATION SecurityInformation
,
200 PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor
)
203 return STATUS_NOT_IMPLEMENTED
;
208 NTSTATUS
LsarChangePassword(
210 PRPC_UNICODE_STRING String1
,
211 PRPC_UNICODE_STRING String2
,
212 PRPC_UNICODE_STRING String3
,
213 PRPC_UNICODE_STRING String4
,
214 PRPC_UNICODE_STRING String5
)
217 return STATUS_NOT_IMPLEMENTED
;
222 NTSTATUS
LsarOpenPolicy(
224 PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes
,
225 ACCESS_MASK DesiredAccess
,
226 LSAPR_HANDLE
*PolicyHandle
)
228 NTSTATUS Status
= STATUS_SUCCESS
;
230 TRACE("LsarOpenPolicy called!\n");
232 RtlEnterCriticalSection(&PolicyHandleTableLock
);
234 *PolicyHandle
= LsapCreateDbHandle(LsaDbPolicyHandle
,
236 if (*PolicyHandle
== NULL
)
237 Status
= STATUS_INSUFFICIENT_RESOURCES
;
239 RtlLeaveCriticalSection(&PolicyHandleTableLock
);
241 TRACE("LsarOpenPolicy done!\n");
248 NTSTATUS
LsarQueryInformationPolicy(
249 LSAPR_HANDLE PolicyHandle
,
250 POLICY_INFORMATION_CLASS InformationClass
,
251 PLSAPR_POLICY_INFORMATION
*PolicyInformation
)
254 return STATUS_NOT_IMPLEMENTED
;
259 NTSTATUS
LsarSetInformationPolicy(
260 LSAPR_HANDLE PolicyHandle
,
261 POLICY_INFORMATION_CLASS InformationClass
,
262 PLSAPR_POLICY_INFORMATION PolicyInformation
)
265 return STATUS_NOT_IMPLEMENTED
;
270 NTSTATUS
LsarClearAuditLog(
271 LSAPR_HANDLE ObjectHandle
)
274 return STATUS_NOT_IMPLEMENTED
;
279 NTSTATUS
LsarCreateAccount(
280 LSAPR_HANDLE PolicyHandle
,
282 ACCESS_MASK DesiredAccess
,
283 LSAPR_HANDLE
*AccountHandle
)
286 return STATUS_NOT_IMPLEMENTED
;
291 NTSTATUS
LsarEnumerateAccounts(
292 LSAPR_HANDLE PolicyHandle
,
293 DWORD
*EnumerationContext
,
294 PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer
,
295 DWORD PreferedMaximumLength
)
298 return STATUS_NOT_IMPLEMENTED
;
303 NTSTATUS
LsarCreateTrustedDomain(
304 LSAPR_HANDLE PolicyHandle
,
305 PLSAPR_TRUST_INFORMATION TrustedDomainInformation
,
306 ACCESS_MASK DesiredAccess
,
307 LSAPR_HANDLE
*TrustedDomainHandle
)
310 return STATUS_NOT_IMPLEMENTED
;
315 NTSTATUS
LsarEnumerateTrustedDomains(
316 LSAPR_HANDLE PolicyHandle
,
317 DWORD
*EnumerationContext
,
318 PLSAPR_TRUSTED_ENUM_BUFFER EnumerationBuffer
,
319 DWORD PreferedMaximumLength
)
322 return STATUS_NOT_IMPLEMENTED
;
327 NTSTATUS
LsarLookupNames(
328 LSAPR_HANDLE PolicyHandle
,
330 PRPC_UNICODE_STRING Names
,
331 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
332 PLSAPR_TRANSLATED_SIDS TranslatedSids
,
333 LSAP_LOOKUP_LEVEL LookupLevel
,
337 return STATUS_NOT_IMPLEMENTED
;
342 NTSTATUS
LsarLookupSids(
343 LSAPR_HANDLE PolicyHandle
,
344 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer
,
345 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
346 PLSAPR_TRANSLATED_NAMES TranslatedNames
,
347 LSAP_LOOKUP_LEVEL LookupLevel
,
350 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
= {SECURITY_NT_AUTHORITY
};
351 static const UNICODE_STRING DomainName
= RTL_CONSTANT_STRING(L
"DOMAIN");
352 static const UNICODE_STRING UserName
= RTL_CONSTANT_STRING(L
"Administrator");
353 PLSAPR_REFERENCED_DOMAIN_LIST OutputDomains
= NULL
;
354 PLSAPR_TRANSLATED_NAME OutputNames
= NULL
;
355 ULONG OutputNamesLength
;
361 TRACE("LsarLookupSids(%p, %p, %p, %p, %d, %p)\n",
362 PolicyHandle
, SidEnumBuffer
, ReferencedDomains
, TranslatedNames
,
363 LookupLevel
, MappedCount
);
365 TranslatedNames
->Entries
= SidEnumBuffer
->Entries
;
366 TranslatedNames
->Names
= NULL
;
367 *ReferencedDomains
= NULL
;
369 OutputNamesLength
= SidEnumBuffer
->Entries
* sizeof(LSA_TRANSLATED_NAME
);
370 OutputNames
= MIDL_user_allocate(OutputNamesLength
);
371 if (OutputNames
== NULL
)
373 return STATUS_INSUFFICIENT_RESOURCES
;
376 RtlZeroMemory(OutputNames
, OutputNamesLength
);
378 OutputDomains
= MIDL_user_allocate(sizeof(LSAPR_REFERENCED_DOMAIN_LIST
));
379 if (OutputDomains
== NULL
)
381 MIDL_user_free(OutputNames
);
382 return STATUS_INSUFFICIENT_RESOURCES
;
385 OutputDomains
->Entries
= SidEnumBuffer
->Entries
;
386 OutputDomains
->Domains
= MIDL_user_allocate(SidEnumBuffer
->Entries
* sizeof(LSA_TRUST_INFORMATION
));
387 if (OutputDomains
->Domains
== NULL
)
389 MIDL_user_free(OutputDomains
);
390 MIDL_user_free(OutputNames
);
391 return STATUS_INSUFFICIENT_RESOURCES
;
394 Status
= RtlAllocateAndInitializeSid(&IdentifierAuthority
,
396 SECURITY_BUILTIN_DOMAIN_RID
,
397 DOMAIN_ALIAS_RID_ADMINS
,
400 if (!NT_SUCCESS(Status
))
402 MIDL_user_free(OutputDomains
->Domains
);
403 MIDL_user_free(OutputDomains
);
404 MIDL_user_free(OutputNames
);
408 SidLength
= RtlLengthSid(Sid
);
410 for (i
= 0; i
< SidEnumBuffer
->Entries
; i
++)
412 OutputDomains
->Domains
[i
].Sid
= MIDL_user_allocate(SidLength
);
413 RtlCopyMemory(OutputDomains
->Domains
[i
].Sid
, Sid
, SidLength
);
415 OutputDomains
->Domains
[i
].Name
.Buffer
= MIDL_user_allocate(DomainName
.MaximumLength
);
416 OutputDomains
->Domains
[i
].Name
.Length
= DomainName
.Length
;
417 OutputDomains
->Domains
[i
].Name
.MaximumLength
= DomainName
.MaximumLength
;
418 RtlCopyMemory(OutputDomains
->Domains
[i
].Name
.Buffer
, DomainName
.Buffer
, DomainName
.MaximumLength
);
422 for (i
= 0; i
< SidEnumBuffer
->Entries
; i
++)
424 OutputNames
[i
].Use
= SidTypeWellKnownGroup
;
425 OutputNames
[i
].DomainIndex
= i
;
426 OutputNames
[i
].Name
.Buffer
= MIDL_user_allocate(UserName
.MaximumLength
);
427 OutputNames
[i
].Name
.Length
= UserName
.Length
;
428 OutputNames
[i
].Name
.MaximumLength
= UserName
.MaximumLength
;
429 RtlCopyMemory(OutputNames
[i
].Name
.Buffer
, UserName
.Buffer
, UserName
.MaximumLength
);
432 *ReferencedDomains
= OutputDomains
;
434 *MappedCount
= SidEnumBuffer
->Entries
;
436 TranslatedNames
->Entries
= SidEnumBuffer
->Entries
;
437 TranslatedNames
->Names
= OutputNames
;
439 return STATUS_SUCCESS
;
444 NTSTATUS
LsarCreateSecret(
445 LSAPR_HANDLE PolicyHandle
,
446 PRPC_UNICODE_STRING SecretName
,
447 ACCESS_MASK DesiredAccess
,
448 LSAPR_HANDLE
*SecretHandle
)
451 return STATUS_NOT_IMPLEMENTED
;
456 NTSTATUS
LsarOpenAccount(
457 LSAPR_HANDLE PolicyHandle
,
459 ACCESS_MASK DesiredAccess
,
460 LSAPR_HANDLE
*AccountHandle
)
463 return STATUS_NOT_IMPLEMENTED
;
468 NTSTATUS
LsarEnumeratePrivilegesAccount(
469 LSAPR_HANDLE AccountHandle
,
470 PLSAPR_PRIVILEGE_SET
*Privileges
)
473 return STATUS_NOT_IMPLEMENTED
;
478 NTSTATUS
LsarAddPrivilegesToAccount(
479 LSAPR_HANDLE AccountHandle
,
480 PLSAPR_PRIVILEGE_SET Privileges
)
483 return STATUS_NOT_IMPLEMENTED
;
488 NTSTATUS
LsarRemovePrivilegesFromAccount(
489 LSAPR_HANDLE AccountHandle
,
491 PLSAPR_PRIVILEGE_SET Privileges
)
494 return STATUS_NOT_IMPLEMENTED
;
499 NTSTATUS
LsarGetQuotasForAccount(
500 LSAPR_HANDLE AccountHandle
,
501 PQUOTA_LIMITS QuotaLimits
)
504 return STATUS_NOT_IMPLEMENTED
;
509 NTSTATUS
LsarSetQuotasForAccount(
510 LSAPR_HANDLE AccountHandle
,
511 PQUOTA_LIMITS QuotaLimits
)
514 return STATUS_NOT_IMPLEMENTED
;
519 NTSTATUS
LsarGetSystemAccessAccount(
520 LSAPR_HANDLE AccountHandle
,
521 ACCESS_MASK
*SystemAccess
)
524 return STATUS_NOT_IMPLEMENTED
;
529 NTSTATUS
LsarSetSystemAccessAccount(
530 LSAPR_HANDLE AccountHandle
,
531 ACCESS_MASK SystemAccess
)
534 return STATUS_NOT_IMPLEMENTED
;
539 NTSTATUS
LsarOpenTrustedDomain(
540 LSAPR_HANDLE PolicyHandle
,
541 PRPC_SID TrustedDomainSid
,
542 ACCESS_MASK DesiredAccess
,
543 LSAPR_HANDLE
*TrustedDomainHandle
)
546 return STATUS_NOT_IMPLEMENTED
;
551 NTSTATUS
LsarQueryInfoTrustedDomain(
552 LSAPR_HANDLE TrustedDomainHandle
,
553 TRUSTED_INFORMATION_CLASS InformationClass
,
554 PLSAPR_TRUSTED_DOMAIN_INFO
*TrustedDomainInformation
)
557 return STATUS_NOT_IMPLEMENTED
;
562 NTSTATUS
LsarSetInformationTrustedDomain(
563 LSAPR_HANDLE TrustedDomainHandle
,
564 TRUSTED_INFORMATION_CLASS InformationClass
,
565 PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation
)
568 return STATUS_NOT_IMPLEMENTED
;
573 NTSTATUS
LsarOpenSecret(
574 LSAPR_HANDLE PolicyHandle
,
575 PRPC_UNICODE_STRING SecretName
,
576 ACCESS_MASK DesiredAccess
,
577 LSAPR_HANDLE
*SecretHandle
)
580 return STATUS_NOT_IMPLEMENTED
;
585 NTSTATUS
LsarSetSecret(
586 LSAPR_HANDLE
*SecretHandle
,
587 PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue
,
588 PLSAPR_CR_CIPHER_VALUE EncryptedOldValue
)
591 return STATUS_NOT_IMPLEMENTED
;
596 NTSTATUS
LsarQuerySecret(
597 LSAPR_HANDLE SecretHandle
,
598 PLSAPR_CR_CIPHER_VALUE
*EncryptedCurrentValue
,
599 PLARGE_INTEGER CurrentValueSetTime
,
600 PLSAPR_CR_CIPHER_VALUE
*EncryptedOldValue
,
601 PLARGE_INTEGER OldValueSetTime
)
604 return STATUS_NOT_IMPLEMENTED
;
609 NTSTATUS
LsarLookupPrivilegeValue(
610 LSAPR_HANDLE PolicyHandle
,
611 PRPC_UNICODE_STRING Name
,
616 TRACE("LsarLookupPrivilegeValue(%p, %wZ, %p)\n",
617 PolicyHandle
, Name
, Value
);
619 if (!LsapValidateDbHandle(PolicyHandle
, LsaDbPolicyHandle
))
621 ERR("Invalid handle\n");
622 return STATUS_INVALID_HANDLE
;
625 TRACE("Privilege: %wZ\n", Name
);
627 Status
= LsarpLookupPrivilegeValue((PUNICODE_STRING
)Name
,
635 NTSTATUS
LsarLookupPrivilegeName(
636 LSAPR_HANDLE PolicyHandle
,
638 PRPC_UNICODE_STRING
*Name
)
642 TRACE("LsarLookupPrivilegeName(%p, %p, %p)\n",
643 PolicyHandle
, Value
, Name
);
645 if (!LsapValidateDbHandle(PolicyHandle
, LsaDbPolicyHandle
))
647 ERR("Invalid handle\n");
648 return STATUS_INVALID_HANDLE
;
651 Status
= LsarpLookupPrivilegeName(Value
, (PUNICODE_STRING
*)Name
);
658 NTSTATUS
LsarLookupPrivilegeDisplayName(
659 LSAPR_HANDLE PolicyHandle
,
660 PRPC_UNICODE_STRING Name
,
661 USHORT ClientLanguage
,
662 USHORT ClientSystemDefaultLanguage
,
663 PRPC_UNICODE_STRING
*DisplayName
,
664 USHORT
*LanguageReturned
)
667 return STATUS_NOT_IMPLEMENTED
;
672 NTSTATUS
LsarDeleteObject(
673 LSAPR_HANDLE
*ObjectHandle
)
676 return STATUS_NOT_IMPLEMENTED
;
681 NTSTATUS
LsarEnumerateAccountsWithUserRight(
682 LSAPR_HANDLE PolicyHandle
,
683 PRPC_UNICODE_STRING UserRight
,
684 PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer
)
687 return STATUS_NOT_IMPLEMENTED
;
692 NTSTATUS
LsarEnmuerateAccountRights(
693 LSAPR_HANDLE PolicyHandle
,
695 PLSAPR_USER_RIGHT_SET UserRights
)
697 FIXME("(%p,%p,%p) stub\n", PolicyHandle
, AccountSid
, UserRights
);
699 if (!LsapValidateDbHandle(PolicyHandle
, LsaDbPolicyHandle
))
700 return STATUS_INVALID_HANDLE
;
702 UserRights
->Entries
= 0;
703 UserRights
->UserRights
= NULL
;
704 return STATUS_OBJECT_NAME_NOT_FOUND
;
709 NTSTATUS
LsarAddAccountRights(
710 LSAPR_HANDLE PolicyHandle
,
712 PLSAPR_USER_RIGHT_SET UserRights
)
715 return STATUS_NOT_IMPLEMENTED
;
720 NTSTATUS
LsarRemoveAccountRights(
721 LSAPR_HANDLE PolicyHandle
,
724 PLSAPR_USER_RIGHT_SET UserRights
)
727 return STATUS_NOT_IMPLEMENTED
;
732 NTSTATUS
LsarQueryTrustedDomainInfo(
733 LSAPR_HANDLE PolicyHandle
,
734 PRPC_SID TrustedDomainSid
,
735 TRUSTED_INFORMATION_CLASS InformationClass
,
736 PLSAPR_TRUSTED_DOMAIN_INFO
*TrustedDomainInformation
)
739 return STATUS_NOT_IMPLEMENTED
;
744 NTSTATUS
LsarSetTrustedDomainInfo(
745 LSAPR_HANDLE PolicyHandle
,
746 PRPC_SID TrustedDomainSid
,
747 TRUSTED_INFORMATION_CLASS InformationClass
,
748 PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation
)
751 return STATUS_NOT_IMPLEMENTED
;
756 NTSTATUS
LsarDeleteTrustedDomain(
757 LSAPR_HANDLE PolicyHandle
,
758 PRPC_SID TrustedDomainSid
)
761 return STATUS_NOT_IMPLEMENTED
;
766 NTSTATUS
LsarStorePrivateData(
767 LSAPR_HANDLE PolicyHandle
,
768 PRPC_UNICODE_STRING KeyName
,
769 PLSAPR_CR_CIPHER_VALUE EncryptedData
)
772 return STATUS_NOT_IMPLEMENTED
;
777 NTSTATUS
LsarRetrievePrivateData(
778 LSAPR_HANDLE PolicyHandle
,
779 PRPC_UNICODE_STRING KeyName
,
780 PLSAPR_CR_CIPHER_VALUE
*EncryptedData
)
783 return STATUS_NOT_IMPLEMENTED
;
788 NTSTATUS
LsarOpenPolicy2(
790 PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes
,
791 ACCESS_MASK DesiredAccess
,
792 LSAPR_HANDLE
*PolicyHandle
)
795 return STATUS_NOT_IMPLEMENTED
;
800 NTSTATUS
LsarGetUserName(
802 PRPC_UNICODE_STRING
*UserName
,
803 PRPC_UNICODE_STRING
*DomainName
)
806 return STATUS_NOT_IMPLEMENTED
;
811 NTSTATUS
LsarQueryInformationPolicy2(
812 LSAPR_HANDLE PolicyHandle
,
813 POLICY_INFORMATION_CLASS InformationClass
,
814 unsigned long *PolicyInformation
)
817 return STATUS_NOT_IMPLEMENTED
;
822 NTSTATUS
LsarSetInformationPolicy2(
823 LSAPR_HANDLE PolicyHandle
,
824 POLICY_INFORMATION_CLASS InformationClass
,
825 unsigned long PolicyInformation
)
828 return STATUS_NOT_IMPLEMENTED
;
833 NTSTATUS
LsarQueryTrustedDomainInfoByName(
834 LSAPR_HANDLE PolicyHandle
,
835 PRPC_UNICODE_STRING TrustedDomainName
,
836 POLICY_INFORMATION_CLASS InformationClass
,
837 unsigned long *PolicyInformation
)
840 return STATUS_NOT_IMPLEMENTED
;
845 NTSTATUS
LsarSetTrustedDomainInfoByName(
846 LSAPR_HANDLE PolicyHandle
,
847 PRPC_UNICODE_STRING TrustedDomainName
,
848 POLICY_INFORMATION_CLASS InformationClass
,
849 unsigned long PolicyInformation
)
852 return STATUS_NOT_IMPLEMENTED
;
857 NTSTATUS
LsarEnumerateTrustedDomainsEx(
858 LSAPR_HANDLE PolicyHandle
,
859 DWORD
*EnumerationContext
,
860 PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer
,
861 DWORD PreferedMaximumLength
)
864 return STATUS_NOT_IMPLEMENTED
;
869 NTSTATUS
LsarCreateTrustedDomainEx(
870 LSAPR_HANDLE PolicyHandle
,
871 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation
,
872 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation
,
873 ACCESS_MASK DesiredAccess
,
874 LSAPR_HANDLE
*TrustedDomainHandle
)
877 return STATUS_NOT_IMPLEMENTED
;
882 NTSTATUS
LsarSetPolicyReplicationHandle(
883 PLSAPR_HANDLE PolicyHandle
)
886 return STATUS_NOT_IMPLEMENTED
;
891 NTSTATUS
LsarQueryDomainInformationPolicy(
892 LSAPR_HANDLE PolicyHandle
,
893 POLICY_INFORMATION_CLASS InformationClass
,
894 unsigned long *PolicyInformation
)
897 return STATUS_NOT_IMPLEMENTED
;
902 NTSTATUS
LsarSetDomainInformationPolicy(
903 LSAPR_HANDLE PolicyHandle
,
904 POLICY_INFORMATION_CLASS InformationClass
,
905 unsigned long PolicyInformation
)
908 return STATUS_NOT_IMPLEMENTED
;
913 NTSTATUS
LsarOpenTrustedDomainByName(
914 LSAPR_HANDLE PolicyHandle
,
915 PRPC_UNICODE_STRING TrustedDomainName
,
916 ACCESS_MASK DesiredAccess
,
917 LSAPR_HANDLE
*TrustedDomainHandle
)
920 return STATUS_NOT_IMPLEMENTED
;
925 NTSTATUS
LsarTestCall(
929 return STATUS_NOT_IMPLEMENTED
;
934 NTSTATUS
LsarLookupSids2(
935 LSAPR_HANDLE PolicyHandle
,
936 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer
,
937 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
938 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames
,
939 LSAP_LOOKUP_LEVEL LookupLevel
,
942 DWORD ClientRevision
)
945 return STATUS_NOT_IMPLEMENTED
;
950 NTSTATUS
LsarLookupNames2(
951 LSAPR_HANDLE PolicyHandle
,
953 PRPC_UNICODE_STRING Names
,
954 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
955 PLSAPR_TRANSLATED_SID_EX TranslatedSids
,
956 LSAP_LOOKUP_LEVEL LookupLevel
,
959 DWORD ClientRevision
)
962 return STATUS_NOT_IMPLEMENTED
;
967 NTSTATUS
LsarCreateTrustedDomainEx2(
968 LSAPR_HANDLE PolicyHandle
,
969 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation
,
970 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation
,
971 ACCESS_MASK DesiredAccess
,
972 LSAPR_HANDLE
*TrustedDomainHandle
)
975 return STATUS_NOT_IMPLEMENTED
;
984 return STATUS_NOT_IMPLEMENTED
;
993 return STATUS_NOT_IMPLEMENTED
;
998 NTSTATUS
CredrEnumerate(
1002 return STATUS_NOT_IMPLEMENTED
;
1007 NTSTATUS
CredrWriteDomainCredentials(
1011 return STATUS_NOT_IMPLEMENTED
;
1016 NTSTATUS
CredrReadDomainCredentials(
1020 return STATUS_NOT_IMPLEMENTED
;
1025 NTSTATUS
CredrDelete(
1029 return STATUS_NOT_IMPLEMENTED
;
1034 NTSTATUS
CredrGetTargetInfo(
1038 return STATUS_NOT_IMPLEMENTED
;
1043 NTSTATUS
CredrProfileLoaded(
1047 return STATUS_NOT_IMPLEMENTED
;
1052 NTSTATUS
LsarLookupNames3(
1053 LSAPR_HANDLE PolicyHandle
,
1055 PRPC_UNICODE_STRING Names
,
1056 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
1057 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids
,
1058 LSAP_LOOKUP_LEVEL LookupLevel
,
1060 DWORD LookupOptions
,
1061 DWORD ClientRevision
)
1064 return STATUS_NOT_IMPLEMENTED
;
1069 NTSTATUS
CredrGetSessionTypes(
1073 return STATUS_NOT_IMPLEMENTED
;
1078 NTSTATUS
LsarRegisterAuditEvent(
1082 return STATUS_NOT_IMPLEMENTED
;
1087 NTSTATUS
LsarGenAuditEvent(
1091 return STATUS_NOT_IMPLEMENTED
;
1096 NTSTATUS
LsarUnregisterAuditEvent(
1100 return STATUS_NOT_IMPLEMENTED
;
1105 NTSTATUS
LsarQueryForestTrustInformation(
1106 LSAPR_HANDLE PolicyHandle
,
1107 PLSA_UNICODE_STRING TrustedDomainName
,
1108 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType
,
1109 PLSA_FOREST_TRUST_INFORMATION
*ForestTrustInfo
)
1112 return STATUS_NOT_IMPLEMENTED
;
1117 NTSTATUS
LsarSetForestTrustInformation(
1118 LSAPR_HANDLE PolicyHandle
,
1119 PLSA_UNICODE_STRING TrustedDomainName
,
1120 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType
,
1121 PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo
,
1123 PLSA_FOREST_TRUST_COLLISION_INFORMATION
*CollisionInfo
)
1126 return STATUS_NOT_IMPLEMENTED
;
1131 NTSTATUS
CredrRename(
1135 return STATUS_NOT_IMPLEMENTED
;
1140 NTSTATUS
LsarLookupSids3(
1141 LSAPR_HANDLE PolicyHandle
,
1142 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer
,
1143 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
1144 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames
,
1145 LSAP_LOOKUP_LEVEL LookupLevel
,
1147 DWORD LookupOptions
,
1148 DWORD ClientRevision
)
1151 return STATUS_NOT_IMPLEMENTED
;
1156 NTSTATUS
LsarLookupNames4(
1159 PRPC_UNICODE_STRING Names
,
1160 PLSAPR_REFERENCED_DOMAIN_LIST
*ReferencedDomains
,
1161 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids
,
1162 LSAP_LOOKUP_LEVEL LookupLevel
,
1164 DWORD LookupOptions
,
1165 DWORD ClientRevision
)
1168 return STATUS_NOT_IMPLEMENTED
;
1173 NTSTATUS
LsarOpenPolicySce(
1177 return STATUS_NOT_IMPLEMENTED
;
1182 NTSTATUS
LsarAdtRegisterSecurityEventSource(
1186 return STATUS_NOT_IMPLEMENTED
;
1191 NTSTATUS
LsarAdtUnregisterSecurityEventSource(
1195 return STATUS_NOT_IMPLEMENTED
;
1200 NTSTATUS
LsarAdtReportSecurityEvent(
1204 return STATUS_NOT_IMPLEMENTED
;
1209 NTSTATUS
CredrFindBestCredential(
1213 return STATUS_NOT_IMPLEMENTED
;
1218 NTSTATUS
LsarSetAuditPolicy(
1222 return STATUS_NOT_IMPLEMENTED
;
1227 NTSTATUS
LsarQueryAuditPolicy(
1231 return STATUS_NOT_IMPLEMENTED
;
1236 NTSTATUS
LsarEnumerateAuditPolicy(
1240 return STATUS_NOT_IMPLEMENTED
;
1245 NTSTATUS
LsarEnumerateAuditCategories(
1249 return STATUS_NOT_IMPLEMENTED
;
1254 NTSTATUS
LsarEnumerateAuditSubCategories(
1258 return STATUS_NOT_IMPLEMENTED
;
1263 NTSTATUS
LsarLookupAuditCategoryName(
1267 return STATUS_NOT_IMPLEMENTED
;
1272 NTSTATUS
LsarLookupAuditSubCategoryName(
1276 return STATUS_NOT_IMPLEMENTED
;
1281 NTSTATUS
LsarSetAuditSecurity(
1285 return STATUS_NOT_IMPLEMENTED
;
1290 NTSTATUS
LsarQueryAuditSecurity(
1294 return STATUS_NOT_IMPLEMENTED
;
1299 NTSTATUS
CredReadByTokenHandle(
1303 return STATUS_NOT_IMPLEMENTED
;
1308 NTSTATUS
CredrRestoreCredentials(
1312 return STATUS_NOT_IMPLEMENTED
;
1317 NTSTATUS
CredrBackupCredentials(
1321 return STATUS_NOT_IMPLEMENTED
;