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 14 WINE_DEFAULT_DEBUG_CHANNEL(netlogon); 15 16 /* FUNCTIONS *****************************************************************/ 17 18 DWORD 19 WINAPI 20 RpcThreadRoutine( 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 49 void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len) 50 { 51 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len); 52 } 53 54 55 void __RPC_USER midl_user_free(void __RPC_FAR * ptr) 56 { 57 HeapFree(GetProcessHeap(), 0, ptr); 58 } 59 60 61 /* Function 0 */ 62 NET_API_STATUS 63 __stdcall 64 NetrLogonUasLogon( 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 */ 76 NET_API_STATUS 77 __stdcall 78 NetrLogonUasLogoff( 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 */ 90 NTSTATUS 91 __stdcall 92 NetrLogonSamLogon( 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 */ 109 NTSTATUS 110 __stdcall 111 NetrLogonSamLogoff( 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 */ 125 NTSTATUS 126 __stdcall 127 NetrServerReqChallenge( 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 */ 139 NTSTATUS 140 __stdcall 141 NetrServerAuthenticate( 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 */ 155 NTSTATUS 156 __stdcall 157 NetrServerPasswordSet( 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 */ 172 NTSTATUS 173 __stdcall 174 NetrDatabaseDeltas( 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 */ 190 NTSTATUS 191 __stdcall 192 NetrDatabaseSync( 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 */ 208 NTSTATUS 209 __stdcall 210 NetrAccountDeltas( 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 */ 230 NTSTATUS 231 __stdcall 232 NetrAccountSync( 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 */ 252 NET_API_STATUS 253 __stdcall 254 NetrGetDCName( 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 */ 265 NET_API_STATUS 266 __stdcall 267 NetrLogonControl( 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 */ 279 NET_API_STATUS 280 __stdcall 281 NetrGetAnyDCName( 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 */ 292 NET_API_STATUS 293 __stdcall 294 NetrLogonControl2( 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 */ 307 NTSTATUS 308 __stdcall 309 NetrServerAuthenticate2( 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 */ 324 NTSTATUS 325 __stdcall 326 NetrDatabaseSync2( 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 */ 343 NTSTATUS 344 __stdcall 345 NetrDatabaseRedo( 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 */ 360 NET_API_STATUS 361 __stdcall 362 NetrLogonControl2Ex( 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 */ 375 NTSTATUS 376 __stdcall 377 NetrEnumerateTrustedDomains( 378 _In_opt_ LOGONSRV_HANDLE ServerName, 379 _Out_ PDOMAIN_NAME_BUFFER DomainNameBuffer) 380 { 381 UNIMPLEMENTED; 382 return 0; 383 } 384 385 386 /* Function 20 */ 387 NET_API_STATUS 388 __stdcall 389 DsrGetDcName( 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 */ 403 NTSTATUS 404 __stdcall 405 NetrLogonGetCapabilities( 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 */ 419 NTSTATUS 420 __stdcall 421 NetrLogonSetServiceBits( 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 */ 432 NET_API_STATUS 433 __stdcall 434 NetrLogonGetTrustRid( 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 */ 445 NET_API_STATUS 446 __stdcall 447 NetrLogonComputeServerDigest( 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 */ 461 NET_API_STATUS 462 __stdcall 463 NetrLogonComputeClientDigest( 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 */ 477 NTSTATUS 478 __stdcall 479 NetrServerAuthenticate3( 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 */ 495 NET_API_STATUS 496 __stdcall 497 DsrGetDcNameEx( 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 */ 511 NET_API_STATUS 512 __stdcall 513 DsrGetSiteName( 514 _In_opt_ LOGONSRV_HANDLE ComputerName, 515 _Out_ wchar_t **SiteName) 516 { 517 UNIMPLEMENTED; 518 return 0; 519 } 520 521 522 /* Function 29 */ 523 NTSTATUS 524 __stdcall 525 NetrLogonGetDomainInfo( 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 */ 540 NTSTATUS 541 __stdcall 542 NetrServerPasswordSet2( 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 */ 557 NTSTATUS 558 __stdcall 559 NetrServerPasswordGet( 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 */ 574 NTSTATUS 575 __stdcall 576 NetrLogonSendToSam( 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 */ 590 NET_API_STATUS 591 __stdcall 592 DsrAddressToSiteNamesW( 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 */ 604 NET_API_STATUS 605 __stdcall 606 DsrGetDcNameEx2( 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 */ 622 NET_API_STATUS 623 __stdcall 624 NetrLogonGetTimeServiceParentDomain( 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 */ 635 NET_API_STATUS 636 __stdcall 637 NetrEnumerateTrustedDomainsEx( 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 */ 647 NET_API_STATUS 648 __stdcall 649 DsrAddressToSiteNamesExW( 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 */ 661 NET_API_STATUS 662 __stdcall 663 DsrGetDcSiteCoverageW( 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 */ 673 NTSTATUS 674 __stdcall 675 NetrLogonSamLogonEx( 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 */ 692 NET_API_STATUS 693 __stdcall 694 DsrEnumerateDomainTrusts( 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 */ 705 NET_API_STATUS 706 __stdcall 707 DsrDeregisterDnsHostRecords( 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 */ 720 NTSTATUS 721 __stdcall 722 NetrServerTrustPasswordsGet( 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 */ 738 NET_API_STATUS 739 __stdcall 740 DsrGetForestTrustInformation( 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 */ 752 NTSTATUS 753 __stdcall 754 NetrGetForestTrustInformation( 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 */ 768 NTSTATUS 769 __stdcall 770 NetrLogonSamLogonWithFlags( 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 */ 788 NTSTATUS 789 __stdcall 790 NetrServerGetTrustInfo( 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 */ 806