LSA: Get rid of the globally created binding handle and use the WIDL-generated custom...
[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 void __RPC_USER LSAPR_HANDLE_rundown(LSAPR_HANDLE hHandle)
127 {
128
129 }
130
131
132 /* Function 0 */
133 NTSTATUS LsarClose(
134 LSAPR_HANDLE *ObjectHandle)
135 {
136 #if 0
137 PLSAR_POLICY_HANDLE Policy = NULL;
138 NTSTATUS Status;
139
140 TRACE("0x%p\n", ObjectHandle);
141
142 Status = ReferencePolicyHandle(*ObjectHandle,
143 0,
144 &Policy);
145 if (NT_SUCCESS(Status))
146 {
147 /* delete the handle */
148 DereferencePolicyHandle(Policy,
149 TRUE);
150 }
151
152 return Status;
153 #endif
154 UNIMPLEMENTED;
155 return STATUS_NOT_IMPLEMENTED;
156 }
157
158
159 /* Function 1 */
160 NTSTATUS LsarDelete(
161 LSAPR_HANDLE ObjectHandle)
162 {
163 /* Deprecated */
164 return STATUS_NOT_SUPPORTED;
165 }
166
167
168 /* Function 2 */
169 NTSTATUS LsarEnumeratePrivileges(
170 LSAPR_HANDLE PolicyHandle,
171 DWORD *EnumerationContext,
172 PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
173 DWORD PreferedMaximumLength)
174 {
175 UNIMPLEMENTED;
176 return STATUS_NOT_IMPLEMENTED;
177 }
178
179
180 /* Function 3 */
181 NTSTATUS LsarQuerySecurityObject(
182 LSAPR_HANDLE ObjectHandle,
183 SECURITY_INFORMATION SecurityInformation,
184 PLSAPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor)
185 {
186 UNIMPLEMENTED;
187 return STATUS_NOT_IMPLEMENTED;
188 }
189
190
191 /* Function 4 */
192 NTSTATUS LsarSetSecurityObject(
193 LSAPR_HANDLE ObjectHandle,
194 SECURITY_INFORMATION SecurityInformation,
195 PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor)
196 {
197 UNIMPLEMENTED;
198 return STATUS_NOT_IMPLEMENTED;
199 }
200
201
202 /* Function 5 */
203 NTSTATUS LsarChangePassword(
204 handle_t hBinding, /* FIXME */
205 PRPC_UNICODE_STRING String1,
206 PRPC_UNICODE_STRING String2,
207 PRPC_UNICODE_STRING String3,
208 PRPC_UNICODE_STRING String4,
209 PRPC_UNICODE_STRING String5)
210 {
211 /* Deprecated */
212 return STATUS_NOT_IMPLEMENTED;
213 }
214
215
216 /* Function 6 */
217 NTSTATUS LsarOpenPolicy(
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 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, /* FIXME */
526 USHORT *LanguageReturned)
527 {
528 UNIMPLEMENTED;
529 return STATUS_NOT_IMPLEMENTED;
530 }
531
532
533 /* Function 34 */
534 NTSTATUS LsarDeleteObject(
535 LSAPR_HANDLE *ObjectHandle)
536 {
537 UNIMPLEMENTED;
538 return STATUS_NOT_IMPLEMENTED;
539 }
540
541
542 /* Function 35 */
543 NTSTATUS LsarEnumerateAccountsWithUserRight(
544 LSAPR_HANDLE PolicyHandle,
545 PRPC_UNICODE_STRING UserRight,
546 PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer)
547 {
548 UNIMPLEMENTED;
549 return STATUS_NOT_IMPLEMENTED;
550 }
551
552
553 /* Function 36 */
554 NTSTATUS LsarEnmuerateAccountRights(
555 LSAPR_HANDLE PolicyHandle,
556 PRPC_SID AccountSid,
557 PLSAPR_USER_RIGHT_SET UserRights)
558 {
559 UNIMPLEMENTED;
560 return STATUS_NOT_IMPLEMENTED;
561 }
562
563
564 /* Function 37 */
565 NTSTATUS LsarAddAccountRights(
566 LSAPR_HANDLE PolicyHandle,
567 PRPC_SID AccountSid,
568 PLSAPR_USER_RIGHT_SET UserRights)
569 {
570 UNIMPLEMENTED;
571 return STATUS_NOT_IMPLEMENTED;
572 }
573
574
575 /* Function 38 */
576 NTSTATUS LsarRemoveAccountRights(
577 LSAPR_HANDLE PolicyHandle,
578 PRPC_SID AccountSid,
579 BOOL AllRights,
580 PLSAPR_USER_RIGHT_SET UserRights)
581 {
582 UNIMPLEMENTED;
583 return STATUS_NOT_IMPLEMENTED;
584 }
585
586
587 /* Function 39 */
588 NTSTATUS LsarQueryTrustedDomainInfo(
589 LSAPR_HANDLE PolicyHandle,
590 PRPC_SID TrustedDomainSid,
591 TRUSTED_INFORMATION_CLASS InformationClass,
592 PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation)
593 {
594 UNIMPLEMENTED;
595 return STATUS_NOT_IMPLEMENTED;
596 }
597
598
599 /* Function 40 */
600 NTSTATUS LsarSetTrustedDomainInfo(
601 LSAPR_HANDLE PolicyHandle,
602 PRPC_SID TrustedDomainSid,
603 TRUSTED_INFORMATION_CLASS InformationClass,
604 PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation)
605 {
606 UNIMPLEMENTED;
607 return STATUS_NOT_IMPLEMENTED;
608 }
609
610
611 /* Function 41 */
612 NTSTATUS LsarDeleteTrustedDomain(
613 LSAPR_HANDLE PolicyHandle,
614 PRPC_SID TrustedDomainSid)
615 {
616 UNIMPLEMENTED;
617 return STATUS_NOT_IMPLEMENTED;
618 }
619
620
621 /* Function 42 */
622 NTSTATUS LsarStorePrivateData(
623 LSAPR_HANDLE PolicyHandle,
624 PRPC_UNICODE_STRING KeyName,
625 PLSAPR_CR_CIPHER_VALUE EncryptedData)
626 {
627 UNIMPLEMENTED;
628 return STATUS_NOT_IMPLEMENTED;
629 }
630
631
632 /* Function 43 */
633 NTSTATUS LsarRetrievePrivateData(
634 LSAPR_HANDLE PolicyHandle,
635 PRPC_UNICODE_STRING KeyName,
636 PLSAPR_CR_CIPHER_VALUE *EncryptedData)
637 {
638 UNIMPLEMENTED;
639 return STATUS_NOT_IMPLEMENTED;
640 }
641
642
643 /* Function 44 */
644 NTSTATUS LsarOpenPolicy2(
645 LPWSTR SystemName,
646 PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
647 ACCESS_MASK DesiredAccess,
648 LSAPR_HANDLE *PolicyHandle)
649 {
650 UNIMPLEMENTED;
651 return STATUS_NOT_IMPLEMENTED;
652 }
653
654
655 /* Function 45 */
656 NTSTATUS LsarGetUserName(
657 LPWSTR SystemName,
658 PRPC_UNICODE_STRING *UserName,
659 PRPC_UNICODE_STRING *DomainName)
660 {
661 UNIMPLEMENTED;
662 return STATUS_NOT_IMPLEMENTED;
663 }
664
665
666 /* Function 46 */
667 NTSTATUS LsarQueryInformationPolicy2(
668 LSAPR_HANDLE PolicyHandle,
669 POLICY_INFORMATION_CLASS InformationClass,
670 unsigned long *PolicyInformation)
671 {
672 UNIMPLEMENTED;
673 return STATUS_NOT_IMPLEMENTED;
674 }
675
676
677 /* Function 47 */
678 NTSTATUS LsarSetInformationPolicy2(
679 LSAPR_HANDLE PolicyHandle,
680 POLICY_INFORMATION_CLASS InformationClass,
681 unsigned long PolicyInformation)
682 {
683 UNIMPLEMENTED;
684 return STATUS_NOT_IMPLEMENTED;
685 }
686
687
688 /* Function 48 */
689 NTSTATUS LsarQueryTrustedDomainInfoByName(
690 LSAPR_HANDLE PolicyHandle,
691 PRPC_UNICODE_STRING TrustedDomainName,
692 POLICY_INFORMATION_CLASS InformationClass,
693 unsigned long *PolicyInformation)
694 {
695 UNIMPLEMENTED;
696 return STATUS_NOT_IMPLEMENTED;
697 }
698
699
700 /* Function 49 */
701 NTSTATUS LsarSetTrustedDomainInfoByName(
702 LSAPR_HANDLE PolicyHandle,
703 PRPC_UNICODE_STRING TrustedDomainName,
704 POLICY_INFORMATION_CLASS InformationClass,
705 unsigned long PolicyInformation)
706 {
707 UNIMPLEMENTED;
708 return STATUS_NOT_IMPLEMENTED;
709 }
710
711
712 /* Function 50 */
713 NTSTATUS LsarEnumerateTrustedDomainsEx(
714 LSAPR_HANDLE PolicyHandle,
715 DWORD *EnumerationContext,
716 PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer,
717 DWORD PreferedMaximumLength)
718 {
719 UNIMPLEMENTED;
720 return STATUS_NOT_IMPLEMENTED;
721 }
722
723
724 /* Function 51 */
725 NTSTATUS LsarCreateTrustedDomainEx(
726 LSAPR_HANDLE PolicyHandle,
727 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
728 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation,
729 ACCESS_MASK DesiredAccess,
730 LSAPR_HANDLE *TrustedDomainHandle)
731 {
732 UNIMPLEMENTED;
733 return STATUS_NOT_IMPLEMENTED;
734 }
735
736
737 /* Function 52 */
738 NTSTATUS LsarSetPolicyReplicationHandle(
739 PLSAPR_HANDLE PolicyHandle)
740 {
741 /* Deprecated */
742 return STATUS_NOT_IMPLEMENTED;
743 }
744
745
746 /* Function 53 */
747 NTSTATUS LsarQueryDomainInformationPolicy(
748 LSAPR_HANDLE PolicyHandle,
749 POLICY_INFORMATION_CLASS InformationClass,
750 unsigned long *PolicyInformation)
751 {
752 UNIMPLEMENTED;
753 return STATUS_NOT_IMPLEMENTED;
754 }
755
756
757 /* Function 54 */
758 NTSTATUS LsarSetDomainInformationPolicy(
759 LSAPR_HANDLE PolicyHandle,
760 POLICY_INFORMATION_CLASS InformationClass,
761 unsigned long PolicyInformation)
762 {
763 UNIMPLEMENTED;
764 return STATUS_NOT_IMPLEMENTED;
765 }
766
767
768 /* Function 55 */
769 NTSTATUS LsarOpenTrustedDomainByName(
770 LSAPR_HANDLE PolicyHandle,
771 PRPC_UNICODE_STRING TrustedDomainName,
772 ACCESS_MASK DesiredAccess,
773 LSAPR_HANDLE *TrustedDomainHandle)
774 {
775 UNIMPLEMENTED;
776 return STATUS_NOT_IMPLEMENTED;
777 }
778
779
780 /* Function 56 */
781 NTSTATUS LsarTestCall(
782 handle_t hBinding)
783 {
784 UNIMPLEMENTED;
785 return STATUS_NOT_IMPLEMENTED;
786 }
787
788
789 /* Function 57 */
790 NTSTATUS LsarLookupSids2(
791 LSAPR_HANDLE PolicyHandle,
792 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
793 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
794 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
795 LSAP_LOOKUP_LEVEL LookupLevel,
796 DWORD *MappedCount,
797 DWORD LookupOptions,
798 DWORD ClientRevision)
799 {
800 UNIMPLEMENTED;
801 return STATUS_NOT_IMPLEMENTED;
802 }
803
804
805 /* Function 58 */
806 NTSTATUS LsarLookupNames2(
807 LSAPR_HANDLE PolicyHandle,
808 DWORD Count,
809 PRPC_UNICODE_STRING Names,
810 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
811 PLSAPR_TRANSLATED_SID_EX TranslatedSids,
812 LSAP_LOOKUP_LEVEL LookupLevel,
813 DWORD *MappedCount,
814 DWORD LookupOptions,
815 DWORD ClientRevision)
816 {
817 UNIMPLEMENTED;
818 return STATUS_NOT_IMPLEMENTED;
819 }
820
821
822 /* Function 59 */
823 NTSTATUS LsarCreateTrustedDomainEx2(
824 LSAPR_HANDLE PolicyHandle,
825 PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
826 PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation,
827 ACCESS_MASK DesiredAccess,
828 LSAPR_HANDLE *TrustedDomainHandle)
829 {
830 UNIMPLEMENTED;
831 return STATUS_NOT_IMPLEMENTED;
832 }
833
834
835 /* Function 60 */
836 NTSTATUS CredrWrite(
837 handle_t hBinding)
838 {
839 UNIMPLEMENTED;
840 return STATUS_NOT_IMPLEMENTED;
841 }
842
843
844 /* Function 61 */
845 NTSTATUS CredrRead(
846 handle_t hBinding)
847 {
848 UNIMPLEMENTED;
849 return STATUS_NOT_IMPLEMENTED;
850 }
851
852
853 /* Function 62 */
854 NTSTATUS CredrEnumerate(
855 handle_t hBinding)
856 {
857 UNIMPLEMENTED;
858 return STATUS_NOT_IMPLEMENTED;
859 }
860
861
862 /* Function 63 */
863 NTSTATUS CredrWriteDomainCredentials(
864 handle_t hBinding)
865 {
866 UNIMPLEMENTED;
867 return STATUS_NOT_IMPLEMENTED;
868 }
869
870
871 /* Function 64 */
872 NTSTATUS CredrReadDomainCredentials(
873 handle_t hBinding)
874 {
875 UNIMPLEMENTED;
876 return STATUS_NOT_IMPLEMENTED;
877 }
878
879
880 /* Function 65 */
881 NTSTATUS CredrDelete(
882 handle_t hBinding)
883 {
884 UNIMPLEMENTED;
885 return STATUS_NOT_IMPLEMENTED;
886 }
887
888
889 /* Function 66 */
890 NTSTATUS CredrGetTargetInfo(
891 handle_t hBinding)
892 {
893 UNIMPLEMENTED;
894 return STATUS_NOT_IMPLEMENTED;
895 }
896
897
898 /* Function 67 */
899 NTSTATUS CredrProfileLoaded(
900 handle_t hBinding)
901 {
902 UNIMPLEMENTED;
903 return STATUS_NOT_IMPLEMENTED;
904 }
905
906
907 /* Function 68 */
908 NTSTATUS LsarLookupNames3(
909 LSAPR_HANDLE PolicyHandle,
910 DWORD Count,
911 PRPC_UNICODE_STRING Names,
912 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
913 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids,
914 LSAP_LOOKUP_LEVEL LookupLevel,
915 DWORD *MappedCount,
916 DWORD LookupOptions,
917 DWORD ClientRevision)
918 {
919 UNIMPLEMENTED;
920 return STATUS_NOT_IMPLEMENTED;
921 }
922
923
924 /* Function 69 */
925 NTSTATUS CredrGetSessionTypes(
926 handle_t hBinding)
927 {
928 UNIMPLEMENTED;
929 return STATUS_NOT_IMPLEMENTED;
930 }
931
932
933 /* Function 70 */
934 NTSTATUS LsarRegisterAuditEvent(
935 handle_t hBinding)
936 {
937 UNIMPLEMENTED;
938 return STATUS_NOT_IMPLEMENTED;
939 }
940
941
942 /* Function 71 */
943 NTSTATUS LsarGenAuditEvent(
944 handle_t hBinding)
945 {
946 UNIMPLEMENTED;
947 return STATUS_NOT_IMPLEMENTED;
948 }
949
950
951 /* Function 72 */
952 NTSTATUS LsarUnregisterAuditEvent(
953 handle_t hBinding)
954 {
955 UNIMPLEMENTED;
956 return STATUS_NOT_IMPLEMENTED;
957 }
958
959
960 /* Function 73 */
961 NTSTATUS LsarQueryForestTrustInformation(
962 LSAPR_HANDLE PolicyHandle,
963 PLSA_UNICODE_STRING TrustedDomainName,
964 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
965 PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
966 {
967 UNIMPLEMENTED;
968 return STATUS_NOT_IMPLEMENTED;
969 }
970
971
972 /* Function 74 */
973 NTSTATUS LsarSetForestTrustInformation(
974 LSAPR_HANDLE PolicyHandle,
975 PLSA_UNICODE_STRING TrustedDomainName,
976 LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
977 PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo,
978 BOOL CheckOnly,
979 PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo)
980 {
981 UNIMPLEMENTED;
982 return STATUS_NOT_IMPLEMENTED;
983 }
984
985
986 /* Function 75 */
987 NTSTATUS CredrRename(
988 handle_t hBinding)
989 {
990 UNIMPLEMENTED;
991 return STATUS_NOT_IMPLEMENTED;
992 }
993
994
995 /* Function 76 */
996 NTSTATUS LsarLookupSids3(
997 handle_t hBinding,
998 PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
999 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1000 PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
1001 LSAP_LOOKUP_LEVEL LookupLevel,
1002 DWORD *MappedCount,
1003 DWORD LookupOptions,
1004 DWORD ClientRevision)
1005 {
1006 UNIMPLEMENTED;
1007 return STATUS_NOT_IMPLEMENTED;
1008 }
1009
1010
1011 /* Function 77 */
1012 NTSTATUS LsarLookupNames4(
1013 handle_t hBinding,
1014 handle_t RpcHandle,
1015 DWORD Count,
1016 PRPC_UNICODE_STRING Names,
1017 PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
1018 PLSAPR_TRANSLATED_SID_EX2 TranslatedSids,
1019 LSAP_LOOKUP_LEVEL LookupLevel,
1020 DWORD *MappedCount,
1021 DWORD LookupOptions,
1022 DWORD ClientRevision)
1023 {
1024 UNIMPLEMENTED;
1025 return STATUS_NOT_IMPLEMENTED;
1026 }
1027
1028
1029 /* Function 78 */
1030 NTSTATUS LsarOpenPolicySce(
1031 handle_t hBinding)
1032 {
1033 UNIMPLEMENTED;
1034 return STATUS_NOT_IMPLEMENTED;
1035 }
1036
1037
1038 /* Function 79 */
1039 NTSTATUS LsarAdtRegisterSecurityEventSource(
1040 handle_t hBinding)
1041 {
1042 UNIMPLEMENTED;
1043 return STATUS_NOT_IMPLEMENTED;
1044 }
1045
1046
1047 /* Function 80 */
1048 NTSTATUS LsarAdtUnregisterSecurityEventSource(
1049 handle_t hBinding)
1050 {
1051 UNIMPLEMENTED;
1052 return STATUS_NOT_IMPLEMENTED;
1053 }
1054
1055
1056 /* Function 81 */
1057 NTSTATUS LsarAdtReportSecurityEvent(
1058 handle_t hBinding)
1059 {
1060 UNIMPLEMENTED;
1061 return STATUS_NOT_IMPLEMENTED;
1062 }
1063
1064 /* EOF */