Implement LsaEnumerateAccountRights.
[reactos.git] / reactos / dll / win32 / lsasrv / lsarpc.c
1 /* INCLUDES ****************************************************************/
2
3 #define WIN32_NO_STATUS
4 #include <windows.h>
5 #include <ntsecapi.h>
6 #define NTOS_MODE_USER
7 #include <ndk/ntndk.h>
8
9 #include "lsa_s.h"
10
11 #include <wine/debug.h>
12
13 typedef struct _LSA_DB_HANDLE
14 {
15 ULONG Signature;
16 ULONG Type;
17 LONG RefCount;
18 ACCESS_MASK AccessGranted;
19 } LSA_DB_HANDLE, *PLSA_DB_HANDLE;
20
21 #define LSAP_DB_SIGNATURE 0x12345678
22
23 static RTL_CRITICAL_SECTION PolicyHandleTableLock;
24
25 WINE_DEFAULT_DEBUG_CHANNEL(lsasrv);
26
27
28 /* FUNCTIONS ***************************************************************/
29
30 static LSAPR_HANDLE
31 LsapCreateDbHandle(ULONG Type)
32 {
33 PLSA_DB_HANDLE DbHandle;
34
35 // RtlEnterCriticalSection(&PolicyHandleTableLock);
36
37 DbHandle = (PLSA_DB_HANDLE)RtlAllocateHeap(RtlGetProcessHeap(),
38 0,
39 sizeof(LSA_DB_HANDLE));
40 if (DbHandle != NULL)
41 {
42 DbHandle->Signature = LSAP_DB_SIGNATURE;
43 DbHandle->RefCount = 1;
44 DbHandle->Type = Type;
45 }
46
47 // RtlLeaveCriticalSection(&PolicyHandleTableLock);
48
49 return (LSAPR_HANDLE)DbHandle;
50 }
51
52
53 static BOOL
54 LsapValidateDbHandle(LSAPR_HANDLE Handle)
55 {
56 PLSA_DB_HANDLE DbHandle = (PLSA_DB_HANDLE)Handle;
57 BOOL bValid = FALSE;
58
59 _SEH2_TRY
60 {
61 if (DbHandle->Signature == LSAP_DB_SIGNATURE)
62 bValid = TRUE;
63 }
64 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
65 {
66 bValid = FALSE;
67 }
68 _SEH2_END;
69
70
71 return bValid;
72 }
73
74
75
76
77 VOID
78 LsarStartRpcServer(VOID)
79 {
80 RPC_STATUS Status;
81
82 RtlInitializeCriticalSection(&PolicyHandleTableLock);
83
84 TRACE("LsarStartRpcServer() called");
85
86 Status = RpcServerUseProtseqEpW(L"ncacn_np",
87 10,
88 L"\\pipe\\lsarpc",
89 NULL);
90 if (Status != RPC_S_OK)
91 {
92 WARN("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
93 return;
94 }
95
96 Status = RpcServerRegisterIf(lsarpc_v0_0_s_ifspec,
97 NULL,
98 NULL);
99 if (Status != RPC_S_OK)
100 {
101 WARN("RpcServerRegisterIf() failed (Status %lx)\n", Status);
102 return;
103 }
104
105 Status = RpcServerListen(1, 20, TRUE);
106 if (Status != RPC_S_OK)
107 {
108 WARN("RpcServerListen() failed (Status %lx)\n", Status);
109 return;
110 }
111
112 TRACE("LsarStartRpcServer() done\n");
113 }
114
115
116 void __RPC_USER LSAPR_HANDLE_rundown(LSAPR_HANDLE hHandle)
117 {
118
119 }
120
121
122 /* Function 0 */
123 NTSTATUS LsarClose(
124 LSAPR_HANDLE *ObjectHandle)
125 {
126 NTSTATUS Status = STATUS_SUCCESS;
127
128 TRACE("0x%p\n", ObjectHandle);
129
130 // RtlEnterCriticalSection(&PolicyHandleTableLock);
131
132 if (LsapValidateDbHandle(*ObjectHandle))
133 {
134 RtlFreeHeap(RtlGetProcessHeap(), 0, *ObjectHandle);
135 *ObjectHandle = NULL;
136 }
137 else
138 Status = STATUS_INVALID_HANDLE;
139
140 // RtlLeaveCriticalSection(&PolicyHandleTableLock);
141
142 return Status;
143 }
144
145
146 /* Function 1 */
147 NTSTATUS LsarDelete(
148 LSAPR_HANDLE ObjectHandle)
149 {
150 /* Deprecated */
151 return STATUS_NOT_SUPPORTED;
152 }
153
154
155 /* Function 2 */
156 NTSTATUS LsarEnumeratePrivileges(
157 LSAPR_HANDLE PolicyHandle,
158 DWORD *EnumerationContext,
159 PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
160 DWORD PreferedMaximumLength)
161 {
162 UNIMPLEMENTED;
163 return STATUS_NOT_IMPLEMENTED;
164 }
165
166
167 /* Function 3 */
168 NTSTATUS LsarQuerySecurityObject(
169 LSAPR_HANDLE ObjectHandle,
170 SECURITY_INFORMATION SecurityInformation,
171 PLSAPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor)
172 {
173 UNIMPLEMENTED;
174 return STATUS_NOT_IMPLEMENTED;
175 }
176
177
178 /* Function 4 */
179 NTSTATUS LsarSetSecurityObject(
180 LSAPR_HANDLE ObjectHandle,
181 SECURITY_INFORMATION SecurityInformation,
182 PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor)
183 {
184 UNIMPLEMENTED;
185 return STATUS_NOT_IMPLEMENTED;
186 }
187
188
189 /* Function 5 */
190 NTSTATUS LsarChangePassword(
191 handle_t IDL_handle,
192 PRPC_UNICODE_STRING String1,
193 PRPC_UNICODE_STRING String2,
194 PRPC_UNICODE_STRING String3,
195 PRPC_UNICODE_STRING String4,
196 PRPC_UNICODE_STRING String5)
197 {
198 /* Deprecated */
199 return STATUS_NOT_IMPLEMENTED;
200 }
201
202
203 /* Function 6 */
204 NTSTATUS LsarOpenPolicy(
205 LPWSTR SystemName,
206 PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
207 ACCESS_MASK DesiredAccess,
208 LSAPR_HANDLE *PolicyHandle)
209 {
210 NTSTATUS Status = STATUS_SUCCESS;
211
212 TRACE("LsarOpenPolicy called!\n");
213
214 RtlEnterCriticalSection(&PolicyHandleTableLock);
215
216 *PolicyHandle = LsapCreateDbHandle(0);
217 if (*PolicyHandle == NULL)
218 Status = STATUS_INSUFFICIENT_RESOURCES;
219
220 RtlLeaveCriticalSection(&PolicyHandleTableLock);
221
222 TRACE("LsarOpenPolicy done!\n");
223
224 return Status;
225 }
226
227
228 /* Function 7 */
229 NTSTATUS LsarQueryInformationPolicy(
230 LSAPR_HANDLE PolicyHandle,
231 POLICY_INFORMATION_CLASS InformationClass,
232 unsigned long PolicyInformation)
233 {
234 UNIMPLEMENTED;
235 return STATUS_NOT_IMPLEMENTED;
236 }
237
238
239 /* Function 8 */
240 NTSTATUS LsarSetInformationPolicy(
241 LSAPR_HANDLE PolicyHandle,
242 POLICY_INFORMATION_CLASS InformationClass,
243 unsigned long *PolicyInformation)
244 {
245 UNIMPLEMENTED;
246 return STATUS_NOT_IMPLEMENTED;
247 }
248
249
250 /* Function 9 */
251 NTSTATUS LsarClearAuditLog(
252 LSAPR_HANDLE ObjectHandle)
253 {
254 /* Deprecated */
255 return STATUS_NOT_IMPLEMENTED;
256 }
257
258
259 /* Function 10 */
260 NTSTATUS LsarCreateAccount(
261 LSAPR_HANDLE PolicyHandle,
262 PRPC_SID AccountSid,
263 ACCESS_MASK DesiredAccess,
264 LSAPR_HANDLE *AccountHandle)
265 {
266 UNIMPLEMENTED;
267 return STATUS_NOT_IMPLEMENTED;
268 }
269
270
271 /* Function 11 */
272 NTSTATUS LsarEnumerateAccounts(
273 LSAPR_HANDLE PolicyHandle,
274 DWORD *EnumerationContext,
275 PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer,
276 DWORD PreferedMaximumLength)
277 {
278 UNIMPLEMENTED;
279 return STATUS_NOT_IMPLEMENTED;
280 }
281
282
283 /* Function 12 */
284 NTSTATUS LsarCreateTrustedDomain(
285 LSAPR_HANDLE PolicyHandle,
286 PLSAPR_TRUST_INFORMATION TrustedDomainInformation,
287 ACCESS_MASK DesiredAccess,
288 LSAPR_HANDLE *TrustedDomainHandle)
289 {
290 UNIMPLEMENTED;
291 return STATUS_NOT_IMPLEMENTED;
292 }
293
294
295 /* Function 13 */
296 NTSTATUS LsarEnumerateTrustedDomains(
297 LSAPR_HANDLE PolicyHandle,
298 DWORD *EnumerationContext,
299 PLSAPR_TRUSTED_ENUM_BUFFER EnumerationBuffer,
300 DWORD PreferedMaximumLength)
301 {
302 UNIMPLEMENTED;
303 return STATUS_NOT_IMPLEMENTED;
304 }
305
306
307 /* Function 14 */
308 NTSTATUS LsarLookupNames(
309 LSAPR_HANDLE PolicyHandle,
310 DWORD Count,
311 PRPC_UNICODE_STRING Names,
312 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
313 PLSAPR_TRANSLATED_SIDS TranslatedSids,
314 LSAP_LOOKUP_LEVEL LookupLevel,
315 DWORD *MappedCount)
316 {
317 UNIMPLEMENTED;
318 return STATUS_NOT_IMPLEMENTED;
319 }
320
321
322 /* Function 15 */
323 NTSTATUS LsarLookupSids(
324 LSAPR_HANDLE PolicyHandle,
325 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
326 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
327 PLSAPR_TRANSLATED_NAMES TranslatedNames,
328 LSAP_LOOKUP_LEVEL LookupLevel,
329 DWORD *MappedCount)
330 {
331 UNIMPLEMENTED;
332 return STATUS_NOT_IMPLEMENTED;
333 }
334
335
336 /* Function 16 */
337 NTSTATUS LsarCreateSecret(
338 LSAPR_HANDLE PolicyHandle,
339 PRPC_UNICODE_STRING SecretName,
340 ACCESS_MASK DesiredAccess,
341 LSAPR_HANDLE *SecretHandle)
342 {
343 UNIMPLEMENTED;
344 return STATUS_NOT_IMPLEMENTED;
345 }
346
347
348 /* Function 17 */
349 NTSTATUS LsarOpenAccount(
350 LSAPR_HANDLE PolicyHandle,
351 PRPC_SID AccountSid,
352 ACCESS_MASK DesiredAccess,
353 LSAPR_HANDLE *AccountHandle)
354 {
355 UNIMPLEMENTED;
356 return STATUS_NOT_IMPLEMENTED;
357 }
358
359
360 /* Function 18 */
361 NTSTATUS LsarEnumeratePrivilegesAccount(
362 LSAPR_HANDLE AccountHandle,
363 PLSAPR_PRIVILEGE_SET *Privileges)
364 {
365 UNIMPLEMENTED;
366 return STATUS_NOT_IMPLEMENTED;
367 }
368
369
370 /* Function 19 */
371 NTSTATUS LsarAddPrivilegesToAccount(
372 LSAPR_HANDLE AccountHandle,
373 PLSAPR_PRIVILEGE_SET Privileges)
374 {
375 UNIMPLEMENTED;
376 return STATUS_NOT_IMPLEMENTED;
377 }
378
379
380 /* Function 20 */
381 NTSTATUS LsarRemovePrivilegesFromAccount(
382 LSAPR_HANDLE AccountHandle,
383 BOOL AllPrivileges,
384 PLSAPR_PRIVILEGE_SET Privileges)
385 {
386 UNIMPLEMENTED;
387 return STATUS_NOT_IMPLEMENTED;
388 }
389
390
391 /* Function 21 */
392 NTSTATUS LsarGetQuotasForAccount(
393 LSAPR_HANDLE AccountHandle,
394 PQUOTA_LIMITS QuotaLimits)
395 {
396 UNIMPLEMENTED;
397 return STATUS_NOT_IMPLEMENTED;
398 }
399
400
401 /* Function 22 */
402 NTSTATUS LsarSetQuotasForAccount(
403 LSAPR_HANDLE AccountHandle,
404 PQUOTA_LIMITS QuotaLimits)
405 {
406 UNIMPLEMENTED;
407 return STATUS_NOT_IMPLEMENTED;
408 }
409
410
411 /* Function 23 */
412 NTSTATUS LsarGetSystemAccessAccount(
413 LSAPR_HANDLE AccountHandle,
414 ACCESS_MASK *SystemAccess)
415 {
416 UNIMPLEMENTED;
417 return STATUS_NOT_IMPLEMENTED;
418 }
419
420
421 /* Function 24 */
422 NTSTATUS LsarSetSystemAccessAccount(
423 LSAPR_HANDLE AccountHandle,
424 ACCESS_MASK SystemAccess)
425 {
426 UNIMPLEMENTED;
427 return STATUS_NOT_IMPLEMENTED;
428 }
429
430
431 /* Function 25 */
432 NTSTATUS LsarOpenTrustedDomain(
433 LSAPR_HANDLE PolicyHandle,
434 PRPC_SID TrustedDomainSid,
435 ACCESS_MASK DesiredAccess,
436 LSAPR_HANDLE *TrustedDomainHandle)
437 {
438 UNIMPLEMENTED;
439 return STATUS_NOT_IMPLEMENTED;
440 }
441
442
443 /* Function 26 */
444 NTSTATUS LsarQueryInfoTrustedDomain(
445 LSAPR_HANDLE TrustedDomainHandle,
446 TRUSTED_INFORMATION_CLASS InformationClass,
447 PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation)
448 {
449 UNIMPLEMENTED;
450 return STATUS_NOT_IMPLEMENTED;
451 }
452
453
454 /* Function 27 */
455 NTSTATUS LsarSetInformationTrustedDomain(
456 LSAPR_HANDLE TrustedDomainHandle,
457 TRUSTED_INFORMATION_CLASS InformationClass,
458 PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation)
459 {
460 UNIMPLEMENTED;
461 return STATUS_NOT_IMPLEMENTED;
462 }
463
464
465 /* Function 28 */
466 NTSTATUS LsarOpenSecret(
467 LSAPR_HANDLE PolicyHandle,
468 PRPC_UNICODE_STRING SecretName,
469 ACCESS_MASK DesiredAccess,
470 LSAPR_HANDLE *SecretHandle)
471 {
472 UNIMPLEMENTED;
473 return STATUS_NOT_IMPLEMENTED;
474 }
475
476
477 /* Function 29 */
478 NTSTATUS LsarSetSecret(
479 LSAPR_HANDLE *SecretHandle,
480 PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue,
481 PLSAPR_CR_CIPHER_VALUE EncryptedOldValue)
482 {
483 UNIMPLEMENTED;
484 return STATUS_NOT_IMPLEMENTED;
485 }
486
487
488 /* Function 30 */
489 NTSTATUS LsarQuerySecret(
490 LSAPR_HANDLE SecretHandle,
491 PLSAPR_CR_CIPHER_VALUE *EncryptedCurrentValue,
492 PLARGE_INTEGER CurrentValueSetTime,
493 PLSAPR_CR_CIPHER_VALUE *EncryptedOldValue,
494 PLARGE_INTEGER OldValueSetTime)
495 {
496 UNIMPLEMENTED;
497 return STATUS_NOT_IMPLEMENTED;
498 }
499
500
501 /* Function 31 */
502 NTSTATUS LsarLookupPrivilegeValue(
503 LSAPR_HANDLE PolicyHandle,
504 PRPC_UNICODE_STRING Name,
505 PLUID Value)
506 {
507 UNIMPLEMENTED;
508 return STATUS_NOT_IMPLEMENTED;
509 }
510
511
512 /* Function 32 */
513 NTSTATUS LsarLookupPrivilegeName(
514 LSAPR_HANDLE PolicyHandle,
515 PLUID Value,
516 PRPC_UNICODE_STRING *Name)
517 {
518 UNIMPLEMENTED;
519 return STATUS_NOT_IMPLEMENTED;
520 }
521
522
523 /* Function 33 */
524 NTSTATUS LsarLookupPrivilegeDisplayName(
525 LSAPR_HANDLE PolicyHandle,
526 PRPC_UNICODE_STRING Name,
527 USHORT ClientLanguage,
528 USHORT ClientSystemDefaultLanguage,
529 PRPC_UNICODE_STRING *DisplayName,
530 USHORT *LanguageReturned)
531 {
532 UNIMPLEMENTED;
533 return STATUS_NOT_IMPLEMENTED;
534 }
535
536
537 /* Function 34 */
538 NTSTATUS LsarDeleteObject(
539 LSAPR_HANDLE *ObjectHandle)
540 {
541 UNIMPLEMENTED;
542 return STATUS_NOT_IMPLEMENTED;
543 }
544
545
546 /* Function 35 */
547 NTSTATUS LsarEnumerateAccountsWithUserRight(
548 LSAPR_HANDLE PolicyHandle,
549 PRPC_UNICODE_STRING UserRight,
550 PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer)
551 {
552 UNIMPLEMENTED;
553 return STATUS_NOT_IMPLEMENTED;
554 }
555
556
557 /* Function 36 */
558 NTSTATUS LsarEnmuerateAccountRights(
559 LSAPR_HANDLE PolicyHandle,
560 PRPC_SID AccountSid,
561 PLSAPR_USER_RIGHT_SET UserRights)
562 {
563 FIXME("(%p,%p,%p) stub\n", PolicyHandle, AccountSid, UserRights);
564
565 if (!LsapValidateDbHandle(PolicyHandle))
566 return STATUS_INVALID_HANDLE;
567
568 UserRights->Entries = 0;
569 UserRights->UserRights = NULL;
570 return STATUS_OBJECT_NAME_NOT_FOUND;
571 }
572
573
574 /* Function 37 */
575 NTSTATUS LsarAddAccountRights(
576 LSAPR_HANDLE PolicyHandle,
577 PRPC_SID AccountSid,
578 PLSAPR_USER_RIGHT_SET UserRights)
579 {
580 UNIMPLEMENTED;
581 return STATUS_NOT_IMPLEMENTED;
582 }
583
584
585 /* Function 38 */
586 NTSTATUS LsarRemoveAccountRights(
587 LSAPR_HANDLE PolicyHandle,
588 PRPC_SID AccountSid,
589 BOOL AllRights,
590 PLSAPR_USER_RIGHT_SET UserRights)
591 {
592 UNIMPLEMENTED;
593 return STATUS_NOT_IMPLEMENTED;
594 }
595
596
597 /* Function 39 */
598 NTSTATUS LsarQueryTrustedDomainInfo(
599 LSAPR_HANDLE PolicyHandle,
600 PRPC_SID TrustedDomainSid,
601 TRUSTED_INFORMATION_CLASS InformationClass,
602 PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation)
603 {
604 UNIMPLEMENTED;
605 return STATUS_NOT_IMPLEMENTED;
606 }
607
608
609 /* Function 40 */
610 NTSTATUS LsarSetTrustedDomainInfo(
611 LSAPR_HANDLE PolicyHandle,
612 PRPC_SID TrustedDomainSid,
613 TRUSTED_INFORMATION_CLASS InformationClass,
614 PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation)
615 {
616 UNIMPLEMENTED;
617 return STATUS_NOT_IMPLEMENTED;
618 }
619
620
621 /* Function 41 */
622 NTSTATUS LsarDeleteTrustedDomain(
623 LSAPR_HANDLE PolicyHandle,
624 PRPC_SID TrustedDomainSid)
625 {
626 UNIMPLEMENTED;
627 return STATUS_NOT_IMPLEMENTED;
628 }
629
630
631 /* Function 42 */
632 NTSTATUS LsarStorePrivateData(
633 LSAPR_HANDLE PolicyHandle,
634 PRPC_UNICODE_STRING KeyName,
635 PLSAPR_CR_CIPHER_VALUE EncryptedData)
636 {
637 UNIMPLEMENTED;
638 return STATUS_NOT_IMPLEMENTED;
639 }
640
641
642 /* Function 43 */
643 NTSTATUS LsarRetrievePrivateData(
644 LSAPR_HANDLE PolicyHandle,
645 PRPC_UNICODE_STRING KeyName,
646 PLSAPR_CR_CIPHER_VALUE *EncryptedData)
647 {
648 UNIMPLEMENTED;
649 return STATUS_NOT_IMPLEMENTED;
650 }
651
652
653 /* Function 44 */
654 NTSTATUS LsarOpenPolicy2(
655 LPWSTR SystemName,
656 PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
657 ACCESS_MASK DesiredAccess,
658 LSAPR_HANDLE *PolicyHandle)
659 {
660 UNIMPLEMENTED;
661 return STATUS_NOT_IMPLEMENTED;
662 }
663
664
665 /* Function 45 */
666 NTSTATUS LsarGetUserName(
667 LPWSTR SystemName,
668 PRPC_UNICODE_STRING *UserName,
669 PRPC_UNICODE_STRING *DomainName)
670 {
671 UNIMPLEMENTED;
672 return STATUS_NOT_IMPLEMENTED;
673 }
674
675
676 /* Function 46 */
677 NTSTATUS LsarQueryInformationPolicy2(
678 LSAPR_HANDLE PolicyHandle,
679 POLICY_INFORMATION_CLASS InformationClass,
680 unsigned long *PolicyInformation)
681 {
682 UNIMPLEMENTED;
683 return STATUS_NOT_IMPLEMENTED;
684 }
685
686
687 /* Function 47 */
688 NTSTATUS LsarSetInformationPolicy2(
689 LSAPR_HANDLE PolicyHandle,
690 POLICY_INFORMATION_CLASS InformationClass,
691 unsigned long PolicyInformation)
692 {
693 UNIMPLEMENTED;
694 return STATUS_NOT_IMPLEMENTED;
695 }
696
697
698 /* Function 48 */
699 NTSTATUS LsarQueryTrustedDomainInfoByName(
700 LSAPR_HANDLE PolicyHandle,
701 PRPC_UNICODE_STRING TrustedDomainName,
702 POLICY_INFORMATION_CLASS InformationClass,
703 unsigned long *PolicyInformation)
704 {
705 UNIMPLEMENTED;
706 return STATUS_NOT_IMPLEMENTED;
707 }
708
709
710 /* Function 49 */
711 NTSTATUS LsarSetTrustedDomainInfoByName(
712 LSAPR_HANDLE PolicyHandle,
713 PRPC_UNICODE_STRING TrustedDomainName,
714 POLICY_INFORMATION_CLASS InformationClass,
715 unsigned long PolicyInformation)
716 {
717 UNIMPLEMENTED;
718 return STATUS_NOT_IMPLEMENTED;
719 }
720
721
722 /* Function 50 */
723 NTSTATUS LsarEnumerateTrustedDomainsEx(
724 LSAPR_HANDLE PolicyHandle,
725 DWORD *EnumerationContext,
726 PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer,
727 DWORD PreferedMaximumLength)
728 {
729 UNIMPLEMENTED;
730 return STATUS_NOT_IMPLEMENTED;
731 }
732
733
734 /* Function 51 */
735 NTSTATUS LsarCreateTrustedDomainEx(
736 LSAPR_HANDLE PolicyHandle,
737 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
738 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation,
739 ACCESS_MASK DesiredAccess,
740 LSAPR_HANDLE *TrustedDomainHandle)
741 {
742 UNIMPLEMENTED;
743 return STATUS_NOT_IMPLEMENTED;
744 }
745
746
747 /* Function 52 */
748 NTSTATUS LsarSetPolicyReplicationHandle(
749 PLSAPR_HANDLE PolicyHandle)
750 {
751 /* Deprecated */
752 return STATUS_NOT_IMPLEMENTED;
753 }
754
755
756 /* Function 53 */
757 NTSTATUS LsarQueryDomainInformationPolicy(
758 LSAPR_HANDLE PolicyHandle,
759 POLICY_INFORMATION_CLASS InformationClass,
760 unsigned long *PolicyInformation)
761 {
762 UNIMPLEMENTED;
763 return STATUS_NOT_IMPLEMENTED;
764 }
765
766
767 /* Function 54 */
768 NTSTATUS LsarSetDomainInformationPolicy(
769 LSAPR_HANDLE PolicyHandle,
770 POLICY_INFORMATION_CLASS InformationClass,
771 unsigned long PolicyInformation)
772 {
773 UNIMPLEMENTED;
774 return STATUS_NOT_IMPLEMENTED;
775 }
776
777
778 /* Function 55 */
779 NTSTATUS LsarOpenTrustedDomainByName(
780 LSAPR_HANDLE PolicyHandle,
781 PRPC_UNICODE_STRING TrustedDomainName,
782 ACCESS_MASK DesiredAccess,
783 LSAPR_HANDLE *TrustedDomainHandle)
784 {
785 UNIMPLEMENTED;
786 return STATUS_NOT_IMPLEMENTED;
787 }
788
789
790 /* Function 56 */
791 NTSTATUS LsarTestCall(
792 handle_t hBinding)
793 {
794 UNIMPLEMENTED;
795 return STATUS_NOT_IMPLEMENTED;
796 }
797
798
799 /* Function 57 */
800 NTSTATUS LsarLookupSids2(
801 LSAPR_HANDLE PolicyHandle,
802 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
803 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
804 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
805 LSAP_LOOKUP_LEVEL LookupLevel,
806 DWORD *MappedCount,
807 DWORD LookupOptions,
808 DWORD ClientRevision)
809 {
810 UNIMPLEMENTED;
811 return STATUS_NOT_IMPLEMENTED;
812 }
813
814
815 /* Function 58 */
816 NTSTATUS LsarLookupNames2(
817 LSAPR_HANDLE PolicyHandle,
818 DWORD Count,
819 PRPC_UNICODE_STRING Names,
820 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
821 PLSAPR_TRANSLATED_SID_EX TranslatedSids,
822 LSAP_LOOKUP_LEVEL LookupLevel,
823 DWORD *MappedCount,
824 DWORD LookupOptions,
825 DWORD ClientRevision)
826 {
827 UNIMPLEMENTED;
828 return STATUS_NOT_IMPLEMENTED;
829 }
830
831
832 /* Function 59 */
833 NTSTATUS LsarCreateTrustedDomainEx2(
834 LSAPR_HANDLE PolicyHandle,
835 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
836 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation,
837 ACCESS_MASK DesiredAccess,
838 LSAPR_HANDLE *TrustedDomainHandle)
839 {
840 UNIMPLEMENTED;
841 return STATUS_NOT_IMPLEMENTED;
842 }
843
844
845 /* Function 60 */
846 NTSTATUS CredrWrite(
847 handle_t hBinding)
848 {
849 UNIMPLEMENTED;
850 return STATUS_NOT_IMPLEMENTED;
851 }
852
853
854 /* Function 61 */
855 NTSTATUS CredrRead(
856 handle_t hBinding)
857 {
858 UNIMPLEMENTED;
859 return STATUS_NOT_IMPLEMENTED;
860 }
861
862
863 /* Function 62 */
864 NTSTATUS CredrEnumerate(
865 handle_t hBinding)
866 {
867 UNIMPLEMENTED;
868 return STATUS_NOT_IMPLEMENTED;
869 }
870
871
872 /* Function 63 */
873 NTSTATUS CredrWriteDomainCredentials(
874 handle_t hBinding)
875 {
876 UNIMPLEMENTED;
877 return STATUS_NOT_IMPLEMENTED;
878 }
879
880
881 /* Function 64 */
882 NTSTATUS CredrReadDomainCredentials(
883 handle_t hBinding)
884 {
885 UNIMPLEMENTED;
886 return STATUS_NOT_IMPLEMENTED;
887 }
888
889
890 /* Function 65 */
891 NTSTATUS CredrDelete(
892 handle_t hBinding)
893 {
894 UNIMPLEMENTED;
895 return STATUS_NOT_IMPLEMENTED;
896 }
897
898
899 /* Function 66 */
900 NTSTATUS CredrGetTargetInfo(
901 handle_t hBinding)
902 {
903 UNIMPLEMENTED;
904 return STATUS_NOT_IMPLEMENTED;
905 }
906
907
908 /* Function 67 */
909 NTSTATUS CredrProfileLoaded(
910 handle_t hBinding)
911 {
912 UNIMPLEMENTED;
913 return STATUS_NOT_IMPLEMENTED;
914 }
915
916
917 /* Function 68 */
918 NTSTATUS LsarLookupNames3(
919 LSAPR_HANDLE PolicyHandle,
920 DWORD Count,
921 PRPC_UNICODE_STRING Names,
922 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
923 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids,
924 LSAP_LOOKUP_LEVEL LookupLevel,
925 DWORD *MappedCount,
926 DWORD LookupOptions,
927 DWORD ClientRevision)
928 {
929 UNIMPLEMENTED;
930 return STATUS_NOT_IMPLEMENTED;
931 }
932
933
934 /* Function 69 */
935 NTSTATUS CredrGetSessionTypes(
936 handle_t hBinding)
937 {
938 UNIMPLEMENTED;
939 return STATUS_NOT_IMPLEMENTED;
940 }
941
942
943 /* Function 70 */
944 NTSTATUS LsarRegisterAuditEvent(
945 handle_t hBinding)
946 {
947 UNIMPLEMENTED;
948 return STATUS_NOT_IMPLEMENTED;
949 }
950
951
952 /* Function 71 */
953 NTSTATUS LsarGenAuditEvent(
954 handle_t hBinding)
955 {
956 UNIMPLEMENTED;
957 return STATUS_NOT_IMPLEMENTED;
958 }
959
960
961 /* Function 72 */
962 NTSTATUS LsarUnregisterAuditEvent(
963 handle_t hBinding)
964 {
965 UNIMPLEMENTED;
966 return STATUS_NOT_IMPLEMENTED;
967 }
968
969
970 /* Function 73 */
971 NTSTATUS LsarQueryForestTrustInformation(
972 LSAPR_HANDLE PolicyHandle,
973 PLSA_UNICODE_STRING TrustedDomainName,
974 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
975 PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
976 {
977 UNIMPLEMENTED;
978 return STATUS_NOT_IMPLEMENTED;
979 }
980
981
982 /* Function 74 */
983 NTSTATUS LsarSetForestTrustInformation(
984 LSAPR_HANDLE PolicyHandle,
985 PLSA_UNICODE_STRING TrustedDomainName,
986 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
987 PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo,
988 BOOL CheckOnly,
989 PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo)
990 {
991 UNIMPLEMENTED;
992 return STATUS_NOT_IMPLEMENTED;
993 }
994
995
996 /* Function 75 */
997 NTSTATUS CredrRename(
998 handle_t hBinding)
999 {
1000 UNIMPLEMENTED;
1001 return STATUS_NOT_IMPLEMENTED;
1002 }
1003
1004
1005 /* Function 76 */
1006 NTSTATUS LsarLookupSids3(
1007 LSAPR_HANDLE PolicyHandle,
1008 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
1009 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1010 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
1011 LSAP_LOOKUP_LEVEL LookupLevel,
1012 DWORD *MappedCount,
1013 DWORD LookupOptions,
1014 DWORD ClientRevision)
1015 {
1016 UNIMPLEMENTED;
1017 return STATUS_NOT_IMPLEMENTED;
1018 }
1019
1020
1021 /* Function 77 */
1022 NTSTATUS LsarLookupNames4(
1023 handle_t RpcHandle,
1024 DWORD Count,
1025 PRPC_UNICODE_STRING Names,
1026 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1027 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids,
1028 LSAP_LOOKUP_LEVEL LookupLevel,
1029 DWORD *MappedCount,
1030 DWORD LookupOptions,
1031 DWORD ClientRevision)
1032 {
1033 UNIMPLEMENTED;
1034 return STATUS_NOT_IMPLEMENTED;
1035 }
1036
1037
1038 /* Function 78 */
1039 NTSTATUS LsarOpenPolicySce(
1040 handle_t hBinding)
1041 {
1042 UNIMPLEMENTED;
1043 return STATUS_NOT_IMPLEMENTED;
1044 }
1045
1046
1047 /* Function 79 */
1048 NTSTATUS LsarAdtRegisterSecurityEventSource(
1049 handle_t hBinding)
1050 {
1051 UNIMPLEMENTED;
1052 return STATUS_NOT_IMPLEMENTED;
1053 }
1054
1055
1056 /* Function 80 */
1057 NTSTATUS LsarAdtUnregisterSecurityEventSource(
1058 handle_t hBinding)
1059 {
1060 UNIMPLEMENTED;
1061 return STATUS_NOT_IMPLEMENTED;
1062 }
1063
1064
1065 /* Function 81 */
1066 NTSTATUS LsarAdtReportSecurityEvent(
1067 handle_t hBinding)
1068 {
1069 UNIMPLEMENTED;
1070 return STATUS_NOT_IMPLEMENTED;
1071 }
1072
1073
1074 /* Function 82 */
1075 NTSTATUS CredrFindBestCredential(
1076 handle_t hBinding)
1077 {
1078 UNIMPLEMENTED;
1079 return STATUS_NOT_IMPLEMENTED;
1080 }
1081
1082
1083 /* Function 83 */
1084 NTSTATUS LsarSetAuditPolicy(
1085 handle_t hBinding)
1086 {
1087 UNIMPLEMENTED;
1088 return STATUS_NOT_IMPLEMENTED;
1089 }
1090
1091
1092 /* Function 84 */
1093 NTSTATUS LsarQueryAuditPolicy(
1094 handle_t hBinding)
1095 {
1096 UNIMPLEMENTED;
1097 return STATUS_NOT_IMPLEMENTED;
1098 }
1099
1100
1101 /* Function 85 */
1102 NTSTATUS LsarEnumerateAuditPolicy(
1103 handle_t hBinding)
1104 {
1105 UNIMPLEMENTED;
1106 return STATUS_NOT_IMPLEMENTED;
1107 }
1108
1109
1110 /* Function 86 */
1111 NTSTATUS LsarEnumerateAuditCategories(
1112 handle_t hBinding)
1113 {
1114 UNIMPLEMENTED;
1115 return STATUS_NOT_IMPLEMENTED;
1116 }
1117
1118
1119 /* Function 87 */
1120 NTSTATUS LsarEnumerateAuditSubCategories(
1121 handle_t hBinding)
1122 {
1123 UNIMPLEMENTED;
1124 return STATUS_NOT_IMPLEMENTED;
1125 }
1126
1127
1128 /* Function 88 */
1129 NTSTATUS LsarLookupAuditCategoryName(
1130 handle_t hBinding)
1131 {
1132 UNIMPLEMENTED;
1133 return STATUS_NOT_IMPLEMENTED;
1134 }
1135
1136
1137 /* Function 89 */
1138 NTSTATUS LsarLookupAuditSubCategoryName(
1139 handle_t hBinding)
1140 {
1141 UNIMPLEMENTED;
1142 return STATUS_NOT_IMPLEMENTED;
1143 }
1144
1145
1146 /* Function 90 */
1147 NTSTATUS LsarSetAuditSecurity(
1148 handle_t hBinding)
1149 {
1150 UNIMPLEMENTED;
1151 return STATUS_NOT_IMPLEMENTED;
1152 }
1153
1154
1155 /* Function 91 */
1156 NTSTATUS LsarQueryAuditSecurity(
1157 handle_t hBinding)
1158 {
1159 UNIMPLEMENTED;
1160 return STATUS_NOT_IMPLEMENTED;
1161 }
1162
1163
1164 /* Function 92 */
1165 NTSTATUS CredReadByTokenHandle(
1166 handle_t hBinding)
1167 {
1168 UNIMPLEMENTED;
1169 return STATUS_NOT_IMPLEMENTED;
1170 }
1171
1172
1173 /* Function 93 */
1174 NTSTATUS CredrRestoreCredentials(
1175 handle_t hBinding)
1176 {
1177 UNIMPLEMENTED;
1178 return STATUS_NOT_IMPLEMENTED;
1179 }
1180
1181
1182 /* Function 94 */
1183 NTSTATUS CredrBackupCredentials(
1184 handle_t hBinding)
1185 {
1186 UNIMPLEMENTED;
1187 return STATUS_NOT_IMPLEMENTED;
1188 }
1189
1190 /* EOF */