Reactos
1/*
2 * PROJECT: ReactOS NetLogon Service
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: NetLogon service RPC server
5 * COPYRIGHT: Eric Kohl 2019 <eric.kohl@reactos.org>
6 */
7
8/* INCLUDES *****************************************************************/
9
10#include "precomp.h"
11
12//#include "lmerr.h"
13
14WINE_DEFAULT_DEBUG_CHANNEL(netlogon);
15
16/* FUNCTIONS *****************************************************************/
17
18DWORD
19WINAPI
20RpcThreadRoutine(
21 LPVOID lpParameter)
22{
23 RPC_STATUS Status;
24
25 Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\netlogon", NULL);
26 if (Status != RPC_S_OK)
27 {
28 ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
29 return 0;
30 }
31
32 Status = RpcServerRegisterIf(logon_v1_0_s_ifspec, NULL, NULL);
33 if (Status != RPC_S_OK)
34 {
35 ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status);
36 return 0;
37 }
38
39 Status = RpcServerListen(1, RPC_C_LISTEN_MAX_CALLS_DEFAULT, FALSE);
40 if (Status != RPC_S_OK)
41 {
42 ERR("RpcServerListen() failed (Status %lx)\n", Status);
43 }
44
45 return 0;
46}
47
48
49void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len)
50{
51 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
52}
53
54
55void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
56{
57 HeapFree(GetProcessHeap(), 0, ptr);
58}
59
60
61/* Function 0 */
62NET_API_STATUS
63__stdcall
64NetrLogonUasLogon(
65 _In_opt_ LOGONSRV_HANDLE ServerName,
66 _In_ wchar_t *UserName,
67 _In_ wchar_t *Workstation,
68 _Out_ PNETLOGON_VALIDATION_UAS_INFO *ValidationInformation)
69{
70 UNIMPLEMENTED;
71 return 0;
72}
73
74
75/* Function 1 */
76NET_API_STATUS
77__stdcall
78NetrLogonUasLogoff(
79 _In_opt_ LOGONSRV_HANDLE ServerName,
80 _In_ wchar_t *UserName,
81 _In_ wchar_t *Workstation,
82 _Out_ PNETLOGON_LOGOFF_UAS_INFO LogoffInformation)
83{
84 UNIMPLEMENTED;
85 return 0;
86}
87
88
89/* Function 2 */
90NTSTATUS
91__stdcall
92NetrLogonSamLogon(
93 _In_opt_ LOGONSRV_HANDLE LogonServer,
94 _In_opt_ wchar_t *ComputerName,
95 _In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
96 _Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
97 _In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
98 _In_ PNETLOGON_LEVEL LogonInformation,
99 _In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
100 _Out_ PNETLOGON_VALIDATION ValidationInformation,
101 _Out_ UCHAR *Authoritative)
102{
103 UNIMPLEMENTED;
104 return 0;
105}
106
107
108/* Function 3 */
109NTSTATUS
110__stdcall
111NetrLogonSamLogoff(
112 _In_opt_ LOGONSRV_HANDLE LogonServer,
113 _In_opt_ wchar_t *ComputerName,
114 _In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
115 _Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
116 _In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
117 _In_ PNETLOGON_LEVEL LogonInformation)
118{
119 UNIMPLEMENTED;
120 return 0;
121}
122
123
124/* Function 4 */
125NTSTATUS
126__stdcall
127NetrServerReqChallenge(
128 _In_opt_ LOGONSRV_HANDLE PrimaryName,
129 _In_ wchar_t *ComputerName,
130 _In_ PNETLOGON_CREDENTIAL ClientChallenge,
131 _Out_ PNETLOGON_CREDENTIAL ServerChallenge)
132{
133 UNIMPLEMENTED;
134 return 0;
135}
136
137
138/* Function 5 */
139NTSTATUS
140__stdcall
141NetrServerAuthenticate(
142 _In_opt_ LOGONSRV_HANDLE PrimaryName,
143 _In_ wchar_t *AccountName,
144 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
145 _In_ wchar_t *ComputerName,
146 _In_ PNETLOGON_CREDENTIAL ClientCredential,
147 _Out_ PNETLOGON_CREDENTIAL ServerCredential)
148{
149 UNIMPLEMENTED;
150 return 0;
151}
152
153
154/* Function 6 */
155NTSTATUS
156__stdcall
157NetrServerPasswordSet(
158 _In_opt_ LOGONSRV_HANDLE PrimaryName,
159 _In_ wchar_t *AccountName,
160 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
161 _In_ wchar_t *ComputerName,
162 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
163 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
164 _In_ PENCRYPTED_NT_OWF_PASSWORD UasNewPassword)
165{
166 UNIMPLEMENTED;
167 return 0;
168}
169
170
171/* Function 7 */
172NTSTATUS
173__stdcall
174NetrDatabaseDeltas(
175 _In_ LOGONSRV_HANDLE PrimaryName,
176 _In_ wchar_t *ComputerName,
177 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
178 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
179 _In_ DWORD DatabaseID,
180 _Inout_ PNLPR_MODIFIED_COUNT DomainModifiedCount,
181 _Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
182 _In_ DWORD PreferredMaximumLength)
183{
184 UNIMPLEMENTED;
185 return 0;
186}
187
188
189/* Function 8 */
190NTSTATUS
191__stdcall
192NetrDatabaseSync(
193 _In_ LOGONSRV_HANDLE PrimaryName,
194 _In_ wchar_t *ComputerName,
195 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
196 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
197 _In_ DWORD DatabaseID,
198 _Inout_ ULONG *SyncContext,
199 _Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
200 _In_ DWORD PreferredMaximumLength)
201{
202 UNIMPLEMENTED;
203 return 0;
204}
205
206
207/* Function 9 */
208NTSTATUS
209__stdcall
210NetrAccountDeltas(
211 _In_opt_ LOGONSRV_HANDLE PrimaryName,
212 _In_ wchar_t * ComputerName,
213 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
214 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
215 _In_ PUAS_INFO_0 RecordId,
216 _In_ DWORD Count,
217 _In_ DWORD Level,
218 _Out_ UCHAR *Buffer,
219 _In_ DWORD BufferSize,
220 _Out_ ULONG *CountReturned,
221 _Out_ ULONG *TotalEntries,
222 _Out_ PUAS_INFO_0 NextRecordId)
223{
224 UNIMPLEMENTED;
225 return 0;
226}
227
228
229/* Function 10 */
230NTSTATUS
231__stdcall
232NetrAccountSync(
233 _In_opt_ LOGONSRV_HANDLE PrimaryName,
234 _In_ wchar_t *ComputerName,
235 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
236 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
237 _In_ DWORD Reference,
238 _In_ DWORD Level,
239 _Out_ UCHAR *Buffer,
240 _In_ DWORD BufferSize,
241 _Out_ ULONG *CountReturned,
242 _Out_ ULONG *TotalEntries,
243 _Out_ ULONG *NextReference,
244 _Out_ PUAS_INFO_0 LastRecordId)
245{
246 UNIMPLEMENTED;
247 return 0;
248}
249
250
251/* Function 11 */
252NET_API_STATUS
253__stdcall
254NetrGetDCName(
255 _In_ LOGONSRV_HANDLE ServerName,
256 _In_opt_ wchar_t *DomainName,
257 _Out_ wchar_t **Buffer)
258{
259 UNIMPLEMENTED;
260 return 0;
261}
262
263
264/* Function 12 */
265NET_API_STATUS
266__stdcall
267NetrLogonControl(
268 _In_opt_ LOGONSRV_HANDLE ServerName,
269 _In_ DWORD FunctionCode,
270 _In_ DWORD QueryLevel,
271 _Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
272{
273 UNIMPLEMENTED;
274 return 0;
275}
276
277
278/* Function 13 */
279NET_API_STATUS
280__stdcall
281NetrGetAnyDCName(
282 _In_opt_ LOGONSRV_HANDLE ServerName,
283 _In_opt_ wchar_t *DomainName,
284 _Out_ wchar_t **Buffer)
285{
286 UNIMPLEMENTED;
287 return 0;
288}
289
290
291/* Function 14 */
292NET_API_STATUS
293__stdcall
294NetrLogonControl2(
295 _In_opt_ LOGONSRV_HANDLE ServerName,
296 _In_ DWORD FunctionCode,
297 _In_ DWORD QueryLevel,
298 _In_ PNETLOGON_CONTROL_DATA_INFORMATION Data,
299 _Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
300{
301 UNIMPLEMENTED;
302 return 0;
303}
304
305
306/* Function 15 */
307NTSTATUS
308__stdcall
309NetrServerAuthenticate2(
310 _In_opt_ LOGONSRV_HANDLE PrimaryName,
311 _In_ wchar_t *AccountName,
312 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
313 _In_ wchar_t *ComputerName,
314 _In_ PNETLOGON_CREDENTIAL ClientCredential,
315 _Out_ PNETLOGON_CREDENTIAL ServerCredential,
316 _Inout_ ULONG *NegotiateFlags)
317{
318 UNIMPLEMENTED;
319 return 0;
320}
321
322
323/* Function 16 */
324NTSTATUS
325__stdcall
326NetrDatabaseSync2(
327 _In_ LOGONSRV_HANDLE PrimaryName,
328 _In_ wchar_t *ComputerName,
329 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
330 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
331 _In_ DWORD DatabaseID,
332 _In_ SYNC_STATE RestartState,
333 _Inout_ ULONG *SyncContext,
334 _Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
335 _In_ DWORD PreferredMaximumLength)
336{
337 UNIMPLEMENTED;
338 return 0;
339}
340
341
342/* Function 17 */
343NTSTATUS
344__stdcall
345NetrDatabaseRedo(
346 _In_ LOGONSRV_HANDLE PrimaryName,
347 _In_ wchar_t *ComputerName,
348 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
349 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
350 _In_ UCHAR *ChangeLogEntry,
351 _In_ DWORD ChangeLogEntrySize,
352 _Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray)
353{
354 UNIMPLEMENTED;
355 return 0;
356}
357
358
359/* Function 18 */
360NET_API_STATUS
361__stdcall
362NetrLogonControl2Ex(
363 _In_opt_ LOGONSRV_HANDLE ServerName,
364 _In_ DWORD FunctionCode,
365 _In_ DWORD QueryLevel,
366 _In_ PNETLOGON_CONTROL_DATA_INFORMATION Data,
367 _Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
368{
369 UNIMPLEMENTED;
370 return 0;
371}
372
373
374/* Function 19 */
375NTSTATUS
376__stdcall
377NetrEnumerateTrustedDomains(
378 _In_opt_ LOGONSRV_HANDLE ServerName,
379 _Out_ PDOMAIN_NAME_BUFFER DomainNameBuffer)
380{
381 UNIMPLEMENTED;
382 return 0;
383}
384
385
386/* Function 20 */
387NET_API_STATUS
388__stdcall
389DsrGetDcName(
390 _In_opt_ LOGONSRV_HANDLE ComputerName,
391 _In_opt_ wchar_t *DomainName,
392 _In_opt_ GUID *DomainGuid,
393 _In_opt_ GUID *SiteGuid,
394 _In_ ULONG Flags,
395 _Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
396{
397 UNIMPLEMENTED;
398 return 0;
399}
400
401
402/* Function 21 */
403NTSTATUS
404__stdcall
405NetrLogonGetCapabilities(
406 _In_ LOGONSRV_HANDLE ServerName,
407 _In_opt_ wchar_t *ComputerName,
408 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
409 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
410 _In_ DWORD QueryLevel,
411 _Out_ PNETLOGON_CAPABILITIES ServerCapabilities)
412{
413 UNIMPLEMENTED;
414 return 0;
415}
416
417
418/* Function 22 */
419NTSTATUS
420__stdcall
421NetrLogonSetServiceBits(
422 _In_opt_ LOGONSRV_HANDLE ServerName,
423 _In_ DWORD ServiceBitsOfInterest,
424 _In_ DWORD ServiceBits)
425{
426 UNIMPLEMENTED;
427 return 0;
428}
429
430
431/* Function 23 */
432NET_API_STATUS
433__stdcall
434NetrLogonGetTrustRid(
435 _In_opt_ LOGONSRV_HANDLE ServerName,
436 _In_opt_ wchar_t *DomainName,
437 _Out_ ULONG *Rid)
438{
439 UNIMPLEMENTED;
440 return 0;
441}
442
443
444/* Function 24 */
445NET_API_STATUS
446__stdcall
447NetrLogonComputeServerDigest(
448 _In_opt_ LOGONSRV_HANDLE ServerName,
449 _In_ ULONG Rid,
450 _In_ UCHAR *Message,
451 _In_ ULONG MessageSize,
452 _Out_ CHAR NewMessageDigest[16],
453 _Out_ CHAR OldMessageDigest[16])
454{
455 UNIMPLEMENTED;
456 return 0;
457}
458
459
460/* Function 25 */
461NET_API_STATUS
462__stdcall
463NetrLogonComputeClientDigest(
464 _In_opt_ LOGONSRV_HANDLE ServerName,
465 _In_opt_ wchar_t *DomainName,
466 _In_ UCHAR *Message,
467 _In_ ULONG MessageSize,
468 _Out_ CHAR NewMessageDigest[16],
469 _Out_ CHAR OldMessageDigest[16])
470{
471 UNIMPLEMENTED;
472 return 0;
473}
474
475
476/* Function 26 */
477NTSTATUS
478__stdcall
479NetrServerAuthenticate3(
480 _In_opt_ LOGONSRV_HANDLE PrimaryName,
481 _In_ wchar_t *AccountName,
482 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
483 _In_ wchar_t *ComputerName,
484 _In_ PNETLOGON_CREDENTIAL ClientCredential,
485 _Out_ PNETLOGON_CREDENTIAL ServerCredential,
486 _Inout_ ULONG *NegotiateFlags,
487 _Out_ ULONG *AccountRid)
488{
489 UNIMPLEMENTED;
490 return 0;
491}
492
493
494/* Function 27 */
495NET_API_STATUS
496__stdcall
497DsrGetDcNameEx(
498 _In_opt_ LOGONSRV_HANDLE ComputerName,
499 _In_opt_ wchar_t *DomainName,
500 _In_opt_ GUID *DomainGuid,
501 _In_opt_ wchar_t *SiteName,
502 _In_ ULONG Flags,
503 _Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
504{
505 UNIMPLEMENTED;
506 return 0;
507}
508
509
510/* Function 28 */
511NET_API_STATUS
512__stdcall
513DsrGetSiteName(
514 _In_opt_ LOGONSRV_HANDLE ComputerName,
515 _Out_ wchar_t **SiteName)
516{
517 UNIMPLEMENTED;
518 return 0;
519}
520
521
522/* Function 29 */
523NTSTATUS
524__stdcall
525NetrLogonGetDomainInfo(
526 _In_ LOGONSRV_HANDLE ServerName,
527 _In_opt_ wchar_t *ComputerName,
528 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
529 _Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
530 _In_ DWORD Level,
531 _In_ PNETLOGON_WORKSTATION_INFORMATION WkstaBuffer,
532 _Out_ PNETLOGON_DOMAIN_INFORMATION DomBuffer)
533{
534 UNIMPLEMENTED;
535 return 0;
536}
537
538
539/* Function 30 */
540NTSTATUS
541__stdcall
542NetrServerPasswordSet2(
543 _In_opt_ LOGONSRV_HANDLE PrimaryName,
544 _In_ wchar_t *AccountName,
545 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
546 _In_ wchar_t *ComputerName,
547 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
548 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
549 _In_ PNL_TRUST_PASSWORD ClearNewPassword)
550{
551 UNIMPLEMENTED;
552 return 0;
553}
554
555
556/* Function 31 */
557NTSTATUS
558__stdcall
559NetrServerPasswordGet(
560 _In_opt_ LOGONSRV_HANDLE PrimaryName,
561 _In_ wchar_t *AccountName,
562 _In_ NETLOGON_SECURE_CHANNEL_TYPE AccountType,
563 _In_ wchar_t *ComputerName,
564 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
565 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
566 _Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNtOwfPassword)
567{
568 UNIMPLEMENTED;
569 return 0;
570}
571
572
573/* Function 32 */
574NTSTATUS
575__stdcall
576NetrLogonSendToSam(
577 _In_opt_ LOGONSRV_HANDLE PrimaryName,
578 _In_ wchar_t *ComputerName,
579 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
580 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
581 _In_ UCHAR *OpaqueBuffer,
582 _In_ ULONG OpaqueBufferSize)
583{
584 UNIMPLEMENTED;
585 return 0;
586}
587
588
589/* Function 33 */
590NET_API_STATUS
591__stdcall
592DsrAddressToSiteNamesW(
593 _In_opt_ LOGONSRV_HANDLE ComputerName,
594 _In_ DWORD EntryCount,
595 _In_ PNL_SOCKET_ADDRESS SocketAddresses,
596 _Out_ PNL_SITE_NAME_ARRAY *SiteNames)
597{
598 UNIMPLEMENTED;
599 return 0;
600}
601
602
603/* Function 34 */
604NET_API_STATUS
605__stdcall
606DsrGetDcNameEx2(
607 _In_opt_ LOGONSRV_HANDLE ComputerName,
608 _In_opt_ wchar_t *AccountName,
609 _In_ ULONG AllowableAccountControlBits,
610 _In_opt_ wchar_t *DomainName,
611 _In_opt_ GUID *DomainGuid,
612 _In_opt_ wchar_t *SiteName,
613 _In_ ULONG Flags,
614 _Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
615{
616 UNIMPLEMENTED;
617 return NERR_DCNotFound;
618}
619
620
621/* Function 35 */
622NET_API_STATUS
623__stdcall
624NetrLogonGetTimeServiceParentDomain(
625 _In_opt_ LOGONSRV_HANDLE ServerName,
626 _Out_ wchar_t **DomainName,
627 _Out_ int *PdcSameSite)
628{
629 UNIMPLEMENTED;
630 return 0;
631}
632
633
634/* Function 36 */
635NET_API_STATUS
636__stdcall
637NetrEnumerateTrustedDomainsEx(
638 _In_opt_ LOGONSRV_HANDLE ServerName,
639 _Out_ PNETLOGON_TRUSTED_DOMAIN_ARRAY Domains)
640{
641 UNIMPLEMENTED;
642 return 0;
643}
644
645
646/* Function 37 */
647NET_API_STATUS
648__stdcall
649DsrAddressToSiteNamesExW(
650 _In_opt_ LOGONSRV_HANDLE ComputerName,
651 _In_ DWORD EntryCount,
652 _In_ PNL_SOCKET_ADDRESS SocketAddresses,
653 _Out_ PNL_SITE_NAME_EX_ARRAY *SiteNames)
654{
655 UNIMPLEMENTED;
656 return 0;
657}
658
659
660/* Function 38 */
661NET_API_STATUS
662__stdcall
663DsrGetDcSiteCoverageW(
664 _In_opt_ LOGONSRV_HANDLE ServerName,
665 _Out_ PNL_SITE_NAME_ARRAY *SiteNames)
666{
667 UNIMPLEMENTED;
668 return 0;
669}
670
671
672/* Function 39 */
673NTSTATUS
674__stdcall
675NetrLogonSamLogonEx(
676 _In_ handle_t ContextHandle,
677 _In_opt_ wchar_t *LogonServer,
678 _In_opt_ wchar_t *ComputerName,
679 _In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
680 _In_ PNETLOGON_LEVEL LogonInformation,
681 _In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
682 _Out_ PNETLOGON_VALIDATION ValidationInformation,
683 _Out_ UCHAR *Authoritative,
684 _Inout_ ULONG *ExtraFlags)
685{
686 UNIMPLEMENTED;
687 return 0;
688}
689
690
691/* Function 40 */
692NET_API_STATUS
693__stdcall
694DsrEnumerateDomainTrusts(
695 _In_opt_ LOGONSRV_HANDLE ServerName,
696 _In_ ULONG Flags,
697 _Out_ PNETLOGON_TRUSTED_DOMAIN_ARRAY Domains)
698{
699 UNIMPLEMENTED;
700 return 0;
701}
702
703
704/* Function 41 */
705NET_API_STATUS
706__stdcall
707DsrDeregisterDnsHostRecords(
708 _In_opt_ LOGONSRV_HANDLE ServerName,
709 _In_opt_ wchar_t *DnsDomainName,
710 _In_opt_ GUID *DomainGuid,
711 _In_opt_ GUID *DsaGuid,
712 _In_ wchar_t *DnsHostName)
713{
714 UNIMPLEMENTED;
715 return 0;
716}
717
718
719/* Function 42 */
720NTSTATUS
721__stdcall
722NetrServerTrustPasswordsGet(
723 _In_opt_ LOGONSRV_HANDLE TrustedDcName,
724 _In_ wchar_t *AccountName,
725 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
726 _In_ wchar_t *ComputerName,
727 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
728 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
729 _Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNewOwfPassword,
730 _Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedOldOwfPassword)
731{
732 UNIMPLEMENTED;
733 return 0;
734}
735
736
737/* Function 43 */
738NET_API_STATUS
739__stdcall
740DsrGetForestTrustInformation(
741 _In_opt_ LOGONSRV_HANDLE ServerName,
742 _In_opt_ wchar_t *TrustedDomainName,
743 _In_ DWORD Flags,
744 _Out_ PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
745{
746 UNIMPLEMENTED;
747 return 0;
748}
749
750
751/* Function 44 */
752NTSTATUS
753__stdcall
754NetrGetForestTrustInformation(
755 _In_opt_ LOGONSRV_HANDLE ServerName,
756 _In_ wchar_t *ComputerName,
757 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
758 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
759 _In_ DWORD Flags,
760 _Out_ PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
761{
762 UNIMPLEMENTED;
763 return 0;
764}
765
766
767/* Function 45 */
768NTSTATUS
769__stdcall
770NetrLogonSamLogonWithFlags(
771 _In_opt_ LOGONSRV_HANDLE LogonServer,
772 _In_opt_ wchar_t *ComputerName,
773 _In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
774 _Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
775 _In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
776 _In_ PNETLOGON_LEVEL LogonInformation,
777 _In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
778 _Out_ PNETLOGON_VALIDATION ValidationInformation,
779 _Out_ UCHAR *Authoritative,
780 _Inout_ ULONG *ExtraFlags)
781{
782 UNIMPLEMENTED;
783 return 0;
784}
785
786
787/* Function 46 */
788NTSTATUS
789__stdcall
790NetrServerGetTrustInfo(
791 _In_opt_ LOGONSRV_HANDLE TrustedDcName,
792 _In_ wchar_t *AccountName,
793 _In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
794 _In_ wchar_t *ComputerName,
795 _In_ PNETLOGON_AUTHENTICATOR Authenticator,
796 _Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
797 _Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNewOwfPassword,
798 _Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedOldOwfPassword,
799 _Out_ PNL_GENERIC_RPC_DATA *TrustInfo)
800{
801 UNIMPLEMENTED;
802 return 0;
803}
804
805/* EOF */