@@ -130,14 +130,17 @@ NetpGetClientLogonId(
130130unsigned long
131131__stdcall
132132NetrWkstaGetInfo (
133- WKSSVC_IDENTIFY_HANDLE ServerName ,
134- unsigned long Level ,
135- LPWKSTA_INFO * WkstaInfo )
133+ _In_ WKSSVC_IDENTIFY_HANDLE ServerName ,
134+ _In_ unsigned long Level ,
135+ _Out_ LPWKSTA_INFO WkstaInfo )
136136{
137137 WCHAR szComputerName [MAX_COMPUTERNAME_LENGTH + 1 ];
138138 DWORD dwComputerNameLength ;
139139 LPCWSTR pszLanRoot = L"" ;
140- PWKSTA_INFO pWkstaInfo = NULL ;
140+ PWKSTA_INFO_100 pWkstaInfo100 = NULL ;
141+ PWKSTA_INFO_101 pWkstaInfo101 = NULL ;
142+ PWKSTA_INFO_102 pWkstaInfo102 = NULL ;
143+ PWKSTA_INFO_502 pWkstaInfo502 = NULL ;
141144 LSA_OBJECT_ATTRIBUTES ObjectAttributes ;
142145 LSA_HANDLE PolicyHandle ;
143146 PPOLICY_PRIMARY_DOMAIN_INFO DomainInfo = NULL ;
@@ -204,98 +207,98 @@ NetrWkstaGetInfo(
204207 switch (Level )
205208 {
206209 case 100 :
207- pWkstaInfo = midl_user_allocate (sizeof (WKSTA_INFO_100 ));
208- if (pWkstaInfo == NULL )
210+ pWkstaInfo100 = midl_user_allocate (sizeof (WKSTA_INFO_100 ));
211+ if (pWkstaInfo100 == NULL )
209212 {
210213 dwResult = ERROR_NOT_ENOUGH_MEMORY ;
211214 break ;
212215 }
213216
214- pWkstaInfo -> WkstaInfo100 . wki100_platform_id = PLATFORM_ID_NT ;
217+ pWkstaInfo100 -> wki100_platform_id = PLATFORM_ID_NT ;
215218
216- pWkstaInfo -> WkstaInfo100 . wki100_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
217- if (pWkstaInfo -> WkstaInfo100 . wki100_computername != NULL )
218- wcscpy (pWkstaInfo -> WkstaInfo100 . wki100_computername , szComputerName );
219+ pWkstaInfo100 -> wki100_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
220+ if (pWkstaInfo100 -> wki100_computername != NULL )
221+ wcscpy (pWkstaInfo100 -> wki100_computername , szComputerName );
219222
220- pWkstaInfo -> WkstaInfo100 . wki100_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
221- if (pWkstaInfo -> WkstaInfo100 . wki100_langroup != NULL )
222- wcscpy (pWkstaInfo -> WkstaInfo100 . wki100_langroup , DomainInfo -> Name .Buffer );
223+ pWkstaInfo100 -> wki100_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
224+ if (pWkstaInfo100 -> wki100_langroup != NULL )
225+ wcscpy (pWkstaInfo100 -> wki100_langroup , DomainInfo -> Name .Buffer );
223226
224- pWkstaInfo -> WkstaInfo100 . wki100_ver_major = VersionInfo .dwMajorVersion ;
225- pWkstaInfo -> WkstaInfo100 . wki100_ver_minor = VersionInfo .dwMinorVersion ;
227+ pWkstaInfo100 -> wki100_ver_major = VersionInfo .dwMajorVersion ;
228+ pWkstaInfo100 -> wki100_ver_minor = VersionInfo .dwMinorVersion ;
226229
227- * WkstaInfo = pWkstaInfo ;
230+ WkstaInfo -> WkstaInfo100 = pWkstaInfo100 ;
228231 break ;
229232
230233 case 101 :
231- pWkstaInfo = midl_user_allocate (sizeof (WKSTA_INFO_101 ));
232- if (pWkstaInfo == NULL )
234+ pWkstaInfo101 = midl_user_allocate (sizeof (WKSTA_INFO_101 ));
235+ if (pWkstaInfo101 == NULL )
233236 {
234237 dwResult = ERROR_NOT_ENOUGH_MEMORY ;
235238 break ;
236239 }
237240
238- pWkstaInfo -> WkstaInfo101 . wki101_platform_id = PLATFORM_ID_NT ;
241+ pWkstaInfo101 -> wki101_platform_id = PLATFORM_ID_NT ;
239242
240- pWkstaInfo -> WkstaInfo101 . wki101_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
241- if (pWkstaInfo -> WkstaInfo101 . wki101_computername != NULL )
242- wcscpy (pWkstaInfo -> WkstaInfo101 . wki101_computername , szComputerName );
243+ pWkstaInfo101 -> wki101_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
244+ if (pWkstaInfo101 -> wki101_computername != NULL )
245+ wcscpy (pWkstaInfo101 -> wki101_computername , szComputerName );
243246
244- pWkstaInfo -> WkstaInfo101 . wki101_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
245- if (pWkstaInfo -> WkstaInfo101 . wki101_langroup != NULL )
246- wcscpy (pWkstaInfo -> WkstaInfo101 . wki101_langroup , DomainInfo -> Name .Buffer );
247+ pWkstaInfo101 -> wki101_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
248+ if (pWkstaInfo101 -> wki101_langroup != NULL )
249+ wcscpy (pWkstaInfo101 -> wki101_langroup , DomainInfo -> Name .Buffer );
247250
248- pWkstaInfo -> WkstaInfo101 . wki101_ver_major = VersionInfo .dwMajorVersion ;
249- pWkstaInfo -> WkstaInfo101 . wki101_ver_minor = VersionInfo .dwMinorVersion ;
251+ pWkstaInfo101 -> wki101_ver_major = VersionInfo .dwMajorVersion ;
252+ pWkstaInfo101 -> wki101_ver_minor = VersionInfo .dwMinorVersion ;
250253
251- pWkstaInfo -> WkstaInfo101 . wki101_lanroot = midl_user_allocate ((wcslen (pszLanRoot ) + 1 ) * sizeof (WCHAR ));
252- if (pWkstaInfo -> WkstaInfo101 . wki101_lanroot != NULL )
253- wcscpy (pWkstaInfo -> WkstaInfo101 . wki101_lanroot , pszLanRoot );
254+ pWkstaInfo101 -> wki101_lanroot = midl_user_allocate ((wcslen (pszLanRoot ) + 1 ) * sizeof (WCHAR ));
255+ if (pWkstaInfo101 -> wki101_lanroot != NULL )
256+ wcscpy (pWkstaInfo101 -> wki101_lanroot , pszLanRoot );
254257
255- * WkstaInfo = pWkstaInfo ;
258+ WkstaInfo -> WkstaInfo101 = pWkstaInfo101 ;
256259 break ;
257260
258261 case 102 :
259- pWkstaInfo = midl_user_allocate (sizeof (WKSTA_INFO_102 ));
260- if (pWkstaInfo == NULL )
262+ pWkstaInfo102 = midl_user_allocate (sizeof (WKSTA_INFO_102 ));
263+ if (pWkstaInfo102 == NULL )
261264 {
262265 dwResult = ERROR_NOT_ENOUGH_MEMORY ;
263266 break ;
264267 }
265268
266- pWkstaInfo -> WkstaInfo102 . wki102_platform_id = PLATFORM_ID_NT ;
269+ pWkstaInfo102 -> wki102_platform_id = PLATFORM_ID_NT ;
267270
268- pWkstaInfo -> WkstaInfo102 . wki102_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
269- if (pWkstaInfo -> WkstaInfo102 . wki102_computername != NULL )
270- wcscpy (pWkstaInfo -> WkstaInfo102 . wki102_computername , szComputerName );
271+ pWkstaInfo102 -> wki102_computername = midl_user_allocate (dwComputerNameLength * sizeof (WCHAR ));
272+ if (pWkstaInfo102 -> wki102_computername != NULL )
273+ wcscpy (pWkstaInfo102 -> wki102_computername , szComputerName );
271274
272- pWkstaInfo -> WkstaInfo102 . wki102_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
273- if (pWkstaInfo -> WkstaInfo102 . wki102_langroup != NULL )
274- wcscpy (pWkstaInfo -> WkstaInfo102 . wki102_langroup , DomainInfo -> Name .Buffer );
275+ pWkstaInfo102 -> wki102_langroup = midl_user_allocate ((wcslen (DomainInfo -> Name .Buffer ) + 1 ) * sizeof (WCHAR ));
276+ if (pWkstaInfo102 -> wki102_langroup != NULL )
277+ wcscpy (pWkstaInfo102 -> wki102_langroup , DomainInfo -> Name .Buffer );
275278
276- pWkstaInfo -> WkstaInfo102 . wki102_ver_major = VersionInfo .dwMajorVersion ;
277- pWkstaInfo -> WkstaInfo102 . wki102_ver_minor = VersionInfo .dwMinorVersion ;
279+ pWkstaInfo102 -> wki102_ver_major = VersionInfo .dwMajorVersion ;
280+ pWkstaInfo102 -> wki102_ver_minor = VersionInfo .dwMinorVersion ;
278281
279- pWkstaInfo -> WkstaInfo102 . wki102_lanroot = midl_user_allocate ((wcslen (pszLanRoot ) + 1 ) * sizeof (WCHAR ));
280- if (pWkstaInfo -> WkstaInfo102 . wki102_lanroot != NULL )
281- wcscpy (pWkstaInfo -> WkstaInfo102 . wki102_lanroot , pszLanRoot );
282+ pWkstaInfo102 -> wki102_lanroot = midl_user_allocate ((wcslen (pszLanRoot ) + 1 ) * sizeof (WCHAR ));
283+ if (pWkstaInfo102 -> wki102_lanroot != NULL )
284+ wcscpy (pWkstaInfo102 -> wki102_lanroot , pszLanRoot );
282285
283- pWkstaInfo -> WkstaInfo102 . wki102_logged_on_users = LoggedOnUsers ;
286+ pWkstaInfo102 -> wki102_logged_on_users = LoggedOnUsers ;
284287
285- * WkstaInfo = pWkstaInfo ;
288+ WkstaInfo -> WkstaInfo102 = pWkstaInfo102 ;
286289 break ;
287290
288291 case 502 :
289- pWkstaInfo = midl_user_allocate (sizeof (WKSTA_INFO_502 ));
290- if (pWkstaInfo == NULL )
292+ pWkstaInfo502 = midl_user_allocate (sizeof (WKSTA_INFO_502 ));
293+ if (pWkstaInfo502 == NULL )
291294 {
292295 dwResult = ERROR_NOT_ENOUGH_MEMORY ;
293296 break ;
294297 }
295298
296- CopyMemory (& pWkstaInfo -> WkstaInfo502 , & WkstaInfo502 , sizeof (WKSTA_INFO_502 ));
299+ CopyMemory (pWkstaInfo502 , & WkstaInfo502 , sizeof (WKSTA_INFO_502 ));
297300
298- * WkstaInfo = pWkstaInfo ;
301+ WkstaInfo -> WkstaInfo502 = pWkstaInfo502 ;
299302 break ;
300303
301304 default :
@@ -330,9 +333,9 @@ NetrWkstaSetInfo(
330333 switch (Level )
331334 {
332335 case 502 :
333- if (WkstaInfo -> WkstaInfo502 . wki502_keep_conn >= 1 && WkstaInfo -> WkstaInfo502 . wki502_keep_conn <= 65535 )
336+ if (WkstaInfo -> WkstaInfo502 -> wki502_keep_conn >= 1 && WkstaInfo -> WkstaInfo502 -> wki502_keep_conn <= 65535 )
334337 {
335- WkstaInfo502 .wki502_keep_conn = WkstaInfo -> WkstaInfo502 . wki502_keep_conn ;
338+ WkstaInfo502 .wki502_keep_conn = WkstaInfo -> WkstaInfo502 -> wki502_keep_conn ;
336339 }
337340 else
338341 {
@@ -342,9 +345,9 @@ NetrWkstaSetInfo(
342345
343346 if (dwResult == NERR_Success )
344347 {
345- if (WkstaInfo -> WkstaInfo502 . wki502_max_cmds >= 50 && WkstaInfo -> WkstaInfo502 . wki502_max_cmds <= 65535 )
348+ if (WkstaInfo -> WkstaInfo502 -> wki502_max_cmds >= 50 && WkstaInfo -> WkstaInfo502 -> wki502_max_cmds <= 65535 )
346349 {
347- WkstaInfo502 .wki502_max_cmds = WkstaInfo -> WkstaInfo502 . wki502_max_cmds ;
350+ WkstaInfo502 .wki502_max_cmds = WkstaInfo -> WkstaInfo502 -> wki502_max_cmds ;
348351 }
349352 else
350353 {
@@ -355,9 +358,9 @@ NetrWkstaSetInfo(
355358
356359 if (dwResult == NERR_Success )
357360 {
358- if (WkstaInfo -> WkstaInfo502 . wki502_sess_timeout >= 60 && WkstaInfo -> WkstaInfo502 . wki502_sess_timeout <= 65535 )
361+ if (WkstaInfo -> WkstaInfo502 -> wki502_sess_timeout >= 60 && WkstaInfo -> WkstaInfo502 -> wki502_sess_timeout <= 65535 )
359362 {
360- WkstaInfo502 .wki502_sess_timeout = WkstaInfo -> WkstaInfo502 . wki502_sess_timeout ;
363+ WkstaInfo502 .wki502_sess_timeout = WkstaInfo -> WkstaInfo502 -> wki502_sess_timeout ;
361364 }
362365 else
363366 {
@@ -368,9 +371,9 @@ NetrWkstaSetInfo(
368371
369372 if (dwResult == NERR_Success )
370373 {
371- if (WkstaInfo -> WkstaInfo502 . wki502_dormant_file_limit != 0 )
374+ if (WkstaInfo -> WkstaInfo502 -> wki502_dormant_file_limit != 0 )
372375 {
373- WkstaInfo502 .wki502_dormant_file_limit = WkstaInfo -> WkstaInfo502 . wki502_dormant_file_limit ;
376+ WkstaInfo502 .wki502_dormant_file_limit = WkstaInfo -> WkstaInfo502 -> wki502_dormant_file_limit ;
374377 }
375378 else
376379 {
@@ -381,9 +384,9 @@ NetrWkstaSetInfo(
381384 break ;
382385
383386 case 1013 :
384- if (WkstaInfo -> WkstaInfo1013 . wki1013_keep_conn >= 1 && WkstaInfo -> WkstaInfo1013 . wki1013_keep_conn <= 65535 )
387+ if (WkstaInfo -> WkstaInfo1013 -> wki1013_keep_conn >= 1 && WkstaInfo -> WkstaInfo1013 -> wki1013_keep_conn <= 65535 )
385388 {
386- WkstaInfo502 .wki502_keep_conn = WkstaInfo -> WkstaInfo1013 . wki1013_keep_conn ;
389+ WkstaInfo502 .wki502_keep_conn = WkstaInfo -> WkstaInfo1013 -> wki1013_keep_conn ;
387390 }
388391 else
389392 {
@@ -393,9 +396,9 @@ NetrWkstaSetInfo(
393396 break ;
394397
395398 case 1018 :
396- if (WkstaInfo -> WkstaInfo1018 . wki1018_sess_timeout >= 60 && WkstaInfo -> WkstaInfo1018 . wki1018_sess_timeout <= 65535 )
399+ if (WkstaInfo -> WkstaInfo1018 -> wki1018_sess_timeout >= 60 && WkstaInfo -> WkstaInfo1018 -> wki1018_sess_timeout <= 65535 )
397400 {
398- WkstaInfo502 .wki502_sess_timeout = WkstaInfo -> WkstaInfo1018 . wki1018_sess_timeout ;
401+ WkstaInfo502 .wki502_sess_timeout = WkstaInfo -> WkstaInfo1018 -> wki1018_sess_timeout ;
399402 }
400403 else
401404 {
@@ -405,9 +408,9 @@ NetrWkstaSetInfo(
405408 break ;
406409
407410 case 1046 :
408- if (WkstaInfo -> WkstaInfo1046 . wki1046_dormant_file_limit != 0 )
411+ if (WkstaInfo -> WkstaInfo1046 -> wki1046_dormant_file_limit != 0 )
409412 {
410- WkstaInfo502 .wki502_dormant_file_limit = WkstaInfo -> WkstaInfo1046 . wki1046_dormant_file_limit ;
413+ WkstaInfo502 .wki502_dormant_file_limit = WkstaInfo -> WkstaInfo1046 -> wki1046_dormant_file_limit ;
411414 }
412415 else
413416 {
0 commit comments