mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
805 lines
17 KiB
C
805 lines
17 KiB
C
/*
|
|
* PROJECT: ReactOS NetLogon Service
|
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
|
* PURPOSE: NetLogon service RPC server
|
|
* COPYRIGHT: Eric Kohl 2019 <eric.kohl@reactos.org>
|
|
*/
|
|
|
|
/* INCLUDES *****************************************************************/
|
|
|
|
#include "precomp.h"
|
|
|
|
//#include "lmerr.h"
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(netlogon);
|
|
|
|
/* FUNCTIONS *****************************************************************/
|
|
|
|
DWORD
|
|
WINAPI
|
|
RpcThreadRoutine(
|
|
LPVOID lpParameter)
|
|
{
|
|
RPC_STATUS Status;
|
|
|
|
Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\netlogon", NULL);
|
|
if (Status != RPC_S_OK)
|
|
{
|
|
ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status);
|
|
return 0;
|
|
}
|
|
|
|
Status = RpcServerRegisterIf(logon_v1_0_s_ifspec, NULL, NULL);
|
|
if (Status != RPC_S_OK)
|
|
{
|
|
ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status);
|
|
return 0;
|
|
}
|
|
|
|
Status = RpcServerListen(1, RPC_C_LISTEN_MAX_CALLS_DEFAULT, FALSE);
|
|
if (Status != RPC_S_OK)
|
|
{
|
|
ERR("RpcServerListen() failed (Status %lx)\n", Status);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len)
|
|
{
|
|
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
|
|
}
|
|
|
|
|
|
void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
|
|
{
|
|
HeapFree(GetProcessHeap(), 0, ptr);
|
|
}
|
|
|
|
|
|
/* Function 0 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonUasLogon(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ wchar_t *UserName,
|
|
_In_ wchar_t *Workstation,
|
|
_Out_ PNETLOGON_VALIDATION_UAS_INFO *ValidationInformation)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 1 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonUasLogoff(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ wchar_t *UserName,
|
|
_In_ wchar_t *Workstation,
|
|
_Out_ PNETLOGON_LOGOFF_UAS_INFO LogoffInformation)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 2 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSamLogon(
|
|
_In_opt_ LOGONSRV_HANDLE LogonServer,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
|
|
_In_ PNETLOGON_LEVEL LogonInformation,
|
|
_In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
|
|
_Out_ PNETLOGON_VALIDATION ValidationInformation,
|
|
_Out_ UCHAR *Authoritative)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 3 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSamLogoff(
|
|
_In_opt_ LOGONSRV_HANDLE LogonServer,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
|
|
_In_ PNETLOGON_LEVEL LogonInformation)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 4 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerReqChallenge(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_CREDENTIAL ClientChallenge,
|
|
_Out_ PNETLOGON_CREDENTIAL ServerChallenge)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 5 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerAuthenticate(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_CREDENTIAL ClientCredential,
|
|
_Out_ PNETLOGON_CREDENTIAL ServerCredential)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 6 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerPasswordSet(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ PENCRYPTED_NT_OWF_PASSWORD UasNewPassword)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 7 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrDatabaseDeltas(
|
|
_In_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD DatabaseID,
|
|
_Inout_ PNLPR_MODIFIED_COUNT DomainModifiedCount,
|
|
_Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
|
|
_In_ DWORD PreferredMaximumLength)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 8 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrDatabaseSync(
|
|
_In_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD DatabaseID,
|
|
_Inout_ ULONG *SyncContext,
|
|
_Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
|
|
_In_ DWORD PreferredMaximumLength)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 9 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrAccountDeltas(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t * ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ PUAS_INFO_0 RecordId,
|
|
_In_ DWORD Count,
|
|
_In_ DWORD Level,
|
|
_Out_ UCHAR *Buffer,
|
|
_In_ DWORD BufferSize,
|
|
_Out_ ULONG *CountReturned,
|
|
_Out_ ULONG *TotalEntries,
|
|
_Out_ PUAS_INFO_0 NextRecordId)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 10 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrAccountSync(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD Reference,
|
|
_In_ DWORD Level,
|
|
_Out_ UCHAR *Buffer,
|
|
_In_ DWORD BufferSize,
|
|
_Out_ ULONG *CountReturned,
|
|
_Out_ ULONG *TotalEntries,
|
|
_Out_ ULONG *NextReference,
|
|
_Out_ PUAS_INFO_0 LastRecordId)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 11 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrGetDCName(
|
|
_In_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_Out_ wchar_t **Buffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 12 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonControl(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ DWORD FunctionCode,
|
|
_In_ DWORD QueryLevel,
|
|
_Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 13 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrGetAnyDCName(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_Out_ wchar_t **Buffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 14 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonControl2(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ DWORD FunctionCode,
|
|
_In_ DWORD QueryLevel,
|
|
_In_ PNETLOGON_CONTROL_DATA_INFORMATION Data,
|
|
_Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 15 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerAuthenticate2(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_CREDENTIAL ClientCredential,
|
|
_Out_ PNETLOGON_CREDENTIAL ServerCredential,
|
|
_Inout_ ULONG *NegotiateFlags)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 16 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrDatabaseSync2(
|
|
_In_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD DatabaseID,
|
|
_In_ SYNC_STATE RestartState,
|
|
_Inout_ ULONG *SyncContext,
|
|
_Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray,
|
|
_In_ DWORD PreferredMaximumLength)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 17 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrDatabaseRedo(
|
|
_In_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ UCHAR *ChangeLogEntry,
|
|
_In_ DWORD ChangeLogEntrySize,
|
|
_Out_ PNETLOGON_DELTA_ENUM_ARRAY *DeltaArray)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 18 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonControl2Ex(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ DWORD FunctionCode,
|
|
_In_ DWORD QueryLevel,
|
|
_In_ PNETLOGON_CONTROL_DATA_INFORMATION Data,
|
|
_Out_ PNETLOGON_CONTROL_QUERY_INFORMATION Buffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 19 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrEnumerateTrustedDomains(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_Out_ PDOMAIN_NAME_BUFFER DomainNameBuffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 20 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetDcName(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_In_opt_ GUID *DomainGuid,
|
|
_In_opt_ GUID *SiteGuid,
|
|
_In_ ULONG Flags,
|
|
_Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 21 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonGetCapabilities(
|
|
_In_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD QueryLevel,
|
|
_Out_ PNETLOGON_CAPABILITIES ServerCapabilities)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 22 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSetServiceBits(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ DWORD ServiceBitsOfInterest,
|
|
_In_ DWORD ServiceBits)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 23 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonGetTrustRid(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_Out_ ULONG *Rid)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 24 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonComputeServerDigest(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ ULONG Rid,
|
|
_In_ UCHAR *Message,
|
|
_In_ ULONG MessageSize,
|
|
_Out_ CHAR NewMessageDigest[16],
|
|
_Out_ CHAR OldMessageDigest[16])
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 25 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonComputeClientDigest(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_In_ UCHAR *Message,
|
|
_In_ ULONG MessageSize,
|
|
_Out_ CHAR NewMessageDigest[16],
|
|
_Out_ CHAR OldMessageDigest[16])
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 26 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerAuthenticate3(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_CREDENTIAL ClientCredential,
|
|
_Out_ PNETLOGON_CREDENTIAL ServerCredential,
|
|
_Inout_ ULONG *NegotiateFlags,
|
|
_Out_ ULONG *AccountRid)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 27 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetDcNameEx(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_In_opt_ GUID *DomainGuid,
|
|
_In_opt_ wchar_t *SiteName,
|
|
_In_ ULONG Flags,
|
|
_Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 28 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetSiteName(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_Out_ wchar_t **SiteName)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 29 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonGetDomainInfo(
|
|
_In_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD Level,
|
|
_In_ PNETLOGON_WORKSTATION_INFORMATION WkstaBuffer,
|
|
_Out_ PNETLOGON_DOMAIN_INFORMATION DomBuffer)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 30 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerPasswordSet2(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ PNL_TRUST_PASSWORD ClearNewPassword)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 31 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerPasswordGet(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE AccountType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNtOwfPassword)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 32 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSendToSam(
|
|
_In_opt_ LOGONSRV_HANDLE PrimaryName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ UCHAR *OpaqueBuffer,
|
|
_In_ ULONG OpaqueBufferSize)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 33 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrAddressToSiteNamesW(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_In_ DWORD EntryCount,
|
|
_In_ PNL_SOCKET_ADDRESS SocketAddresses,
|
|
_Out_ PNL_SITE_NAME_ARRAY *SiteNames)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 34 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetDcNameEx2(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_In_opt_ wchar_t *AccountName,
|
|
_In_ ULONG AllowableAccountControlBits,
|
|
_In_opt_ wchar_t *DomainName,
|
|
_In_opt_ GUID *DomainGuid,
|
|
_In_opt_ wchar_t *SiteName,
|
|
_In_ ULONG Flags,
|
|
_Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return NERR_DCNotFound;
|
|
}
|
|
|
|
|
|
/* Function 35 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrLogonGetTimeServiceParentDomain(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_Out_ wchar_t **DomainName,
|
|
_Out_ int *PdcSameSite)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 36 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
NetrEnumerateTrustedDomainsEx(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_Out_ PNETLOGON_TRUSTED_DOMAIN_ARRAY Domains)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 37 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrAddressToSiteNamesExW(
|
|
_In_opt_ LOGONSRV_HANDLE ComputerName,
|
|
_In_ DWORD EntryCount,
|
|
_In_ PNL_SOCKET_ADDRESS SocketAddresses,
|
|
_Out_ PNL_SITE_NAME_EX_ARRAY *SiteNames)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 38 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetDcSiteCoverageW(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_Out_ PNL_SITE_NAME_ARRAY *SiteNames)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 39 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSamLogonEx(
|
|
_In_ handle_t ContextHandle,
|
|
_In_opt_ wchar_t *LogonServer,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
|
|
_In_ PNETLOGON_LEVEL LogonInformation,
|
|
_In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
|
|
_Out_ PNETLOGON_VALIDATION ValidationInformation,
|
|
_Out_ UCHAR *Authoritative,
|
|
_Inout_ ULONG *ExtraFlags)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 40 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrEnumerateDomainTrusts(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ ULONG Flags,
|
|
_Out_ PNETLOGON_TRUSTED_DOMAIN_ARRAY Domains)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 41 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrDeregisterDnsHostRecords(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *DnsDomainName,
|
|
_In_opt_ GUID *DomainGuid,
|
|
_In_opt_ GUID *DsaGuid,
|
|
_In_ wchar_t *DnsHostName)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 42 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerTrustPasswordsGet(
|
|
_In_opt_ LOGONSRV_HANDLE TrustedDcName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNewOwfPassword,
|
|
_Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedOldOwfPassword)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 43 */
|
|
NET_API_STATUS
|
|
__stdcall
|
|
DsrGetForestTrustInformation(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_opt_ wchar_t *TrustedDomainName,
|
|
_In_ DWORD Flags,
|
|
_Out_ PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 44 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrGetForestTrustInformation(
|
|
_In_opt_ LOGONSRV_HANDLE ServerName,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ DWORD Flags,
|
|
_Out_ PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 45 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrLogonSamLogonWithFlags(
|
|
_In_opt_ LOGONSRV_HANDLE LogonServer,
|
|
_In_opt_ wchar_t *ComputerName,
|
|
_In_opt_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Inout_opt_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_In_ NETLOGON_LOGON_INFO_CLASS LogonLevel,
|
|
_In_ PNETLOGON_LEVEL LogonInformation,
|
|
_In_ NETLOGON_VALIDATION_INFO_CLASS ValidationLevel,
|
|
_Out_ PNETLOGON_VALIDATION ValidationInformation,
|
|
_Out_ UCHAR *Authoritative,
|
|
_Inout_ ULONG *ExtraFlags)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* Function 46 */
|
|
NTSTATUS
|
|
__stdcall
|
|
NetrServerGetTrustInfo(
|
|
_In_opt_ LOGONSRV_HANDLE TrustedDcName,
|
|
_In_ wchar_t *AccountName,
|
|
_In_ NETLOGON_SECURE_CHANNEL_TYPE SecureChannelType,
|
|
_In_ wchar_t *ComputerName,
|
|
_In_ PNETLOGON_AUTHENTICATOR Authenticator,
|
|
_Out_ PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
|
|
_Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedNewOwfPassword,
|
|
_Out_ PENCRYPTED_NT_OWF_PASSWORD EncryptedOldOwfPassword,
|
|
_Out_ PNL_GENERIC_RPC_DATA *TrustInfo)
|
|
{
|
|
UNIMPLEMENTED;
|
|
return 0;
|
|
}
|
|
|
|
/* EOF */
|