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