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