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