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