Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

584 lines
19 KiB

  1. /*++
  2. Copyright (c) 1991-1992 Microsoft Corporation
  3. Module Name:
  4. wstsend.c
  5. Abstract:
  6. Test program for the NetServerEnum API. Run this test after
  7. starting the Workstation service.
  8. wstenum [domain]
  9. Author:
  10. Rita Wong (ritaw) 24-Oct-1991
  11. Revision History:
  12. --*/
  13. #include <stdio.h>
  14. #include <string.h>
  15. #include <stdlib.h>
  16. #include <nt.h>
  17. #include <ntrtl.h>
  18. #include <nturtl.h>
  19. #include <winerror.h>
  20. #include <windef.h> // Win32 type definitions
  21. #include <winbase.h> // Win32 base API prototypes
  22. #include <lm.h> // LAN Man definitions
  23. #include <lmserver.h>
  24. #include <tstring.h>
  25. #include <netdebug.h> // NetpDbgDisplay routines.
  26. #include <dlserver.h>
  27. #define FIXED_WIDTH_STRING "%-30ws: "
  28. #define INDENT " "
  29. VOID
  30. DisplayServerInfo(
  31. IN DWORD Level,
  32. IN LPVOID Info
  33. );
  34. VOID
  35. DisplayDword(
  36. IN LPTSTR Tag,
  37. IN DWORD Value
  38. );
  39. VOID
  40. DisplayBool(
  41. IN LPTSTR Tag,
  42. IN BOOL Value
  43. );
  44. VOID
  45. TestServerEnum(
  46. IN LPTSTR DomainName OPTIONAL,
  47. IN DWORD PreferedMaximumLength,
  48. IN OUT LPDWORD ResumeHandle OPTIONAL
  49. );
  50. VOID
  51. _cdecl
  52. main(
  53. int argc,
  54. char *argv[]
  55. )
  56. {
  57. LPTSTR DomainName = NULL;
  58. if (argc > 2) {
  59. printf("Usage: wstenum [domain].\n");
  60. return;
  61. }
  62. if (argc == 2) {
  63. #ifdef UNICODE
  64. OEM_STRING AString;
  65. UNICODE_STRING UString;
  66. NetpInitOemString(&AString, argv[1]);
  67. RtlOemStringToUnicodeString(&UString, &AString, TRUE);
  68. DomainName = UString.Buffer;
  69. #else
  70. DomainName = argv[1];
  71. #endif
  72. }
  73. //
  74. // Enumerate all servers
  75. //
  76. TestServerEnum(DomainName, MAXULONG, NULL);
  77. }
  78. VOID
  79. TestServerEnum(
  80. IN LPTSTR DomainName OPTIONAL,
  81. IN DWORD PreferedMaximumLength,
  82. IN OUT LPDWORD ResumeHandle OPTIONAL
  83. )
  84. {
  85. DWORD i;
  86. NET_API_STATUS status;
  87. DWORD EntriesRead,
  88. TotalEntries;
  89. PSERVER_INFO_101 ServerInfo, saveptr;
  90. if (ARGUMENT_PRESENT(ResumeHandle)) {
  91. printf("\nInput ResumeHandle=x%08lx\n", *ResumeHandle);
  92. }
  93. status = NetServerEnum(
  94. NULL,
  95. 101,
  96. (LPBYTE *) &ServerInfo,
  97. PreferedMaximumLength,
  98. &EntriesRead,
  99. &TotalEntries,
  100. SV_TYPE_ALL,
  101. DomainName,
  102. ResumeHandle
  103. );
  104. saveptr = ServerInfo;
  105. if (status != NERR_Success && status != ERROR_MORE_DATA) {
  106. printf("NetServerEnum FAILED %lu\n", status);
  107. }
  108. else {
  109. printf("Return code from NetServerEnum %lu\n", status);
  110. printf("EntriesRead=%lu, TotalEntries=%lu\n",
  111. EntriesRead, TotalEntries);
  112. if (ARGUMENT_PRESENT(ResumeHandle)) {
  113. printf("Output ResumeHandle=x%08lx\n", *ResumeHandle);
  114. }
  115. for (i = 0; i < EntriesRead; i++, ServerInfo++) {
  116. DisplayServerInfo(101, ServerInfo);
  117. }
  118. //
  119. // Free buffer allocated for us.
  120. //
  121. NetApiBufferFree(saveptr);
  122. }
  123. }
  124. VOID
  125. DisplayTag(
  126. IN LPTSTR Tag
  127. )
  128. {
  129. printf(INDENT FIXED_WIDTH_STRING, Tag);
  130. } // NetpDbgDisplayTag
  131. VOID
  132. DisplayString(
  133. IN LPTSTR Tag,
  134. IN LPTSTR Value
  135. )
  136. {
  137. DisplayTag( Tag );
  138. if (Value != NULL) {
  139. printf(FORMAT_LPTSTR "\n", Value);
  140. } else {
  141. printf("(none)\n");
  142. }
  143. } // NetpDbgDisplayString
  144. VOID
  145. DisplayDwordHex(
  146. IN LPTSTR Tag,
  147. IN DWORD Value
  148. )
  149. {
  150. DisplayTag( Tag );
  151. printf(FORMAT_HEX_DWORD, Value);
  152. printf("\n");
  153. } // NetpDbgDisplayDwordHex
  154. DBGSTATIC VOID
  155. DisplayServerType(
  156. IN DWORD Type
  157. )
  158. {
  159. // Longest name is "POTENTIAL_BROWSER" (14 chars)
  160. TCHAR str[(17+2)*17]; // 17 chars per name, 2 spaces, for 17 names.
  161. str[0] = '\0';
  162. #define DO(name) \
  163. if (Type & SV_TYPE_ ## name) { \
  164. (void) STRCAT(str, TEXT(#name)); \
  165. (void) STRCAT(str, TEXT(" ")); \
  166. Type &= ~(SV_TYPE_ ## name); \
  167. }
  168. NetpAssert(Type != 0);
  169. DO(WORKSTATION)
  170. DO(SERVER)
  171. DO(SQLSERVER)
  172. DO(DOMAIN_CTRL)
  173. DO(DOMAIN_BAKCTRL)
  174. DO(TIME_SOURCE)
  175. DO(AFP)
  176. DO(NOVELL)
  177. DO(DOMAIN_MEMBER)
  178. DO(PRINTQ_SERVER)
  179. DO(DIALIN_SERVER)
  180. DO(XENIX_SERVER)
  181. DO(NT)
  182. DO(POTENTIAL_BROWSER)
  183. DO(BACKUP_BROWSER)
  184. DO(MASTER_BROWSER)
  185. DO(DOMAIN_MASTER)
  186. DisplayString(TEXT("Server Type"), str);
  187. if (Type != 0) {
  188. DisplayDwordHex( TEXT("UNEXPECTED TYPE BIT(S)"), Type );
  189. }
  190. } // DisplayServerType
  191. VOID
  192. DisplayLanManVersion(
  193. IN DWORD MajorVersion,
  194. IN DWORD MinorVersion
  195. )
  196. {
  197. DisplayTag( TEXT("LanMan version") );
  198. printf(FORMAT_DWORD "." FORMAT_DWORD "\n",
  199. (DWORD) (MajorVersion & (MAJOR_VERSION_MASK)),
  200. (DWORD) (MinorVersion) );
  201. } // DisplayLanManVersion
  202. DBGSTATIC VOID
  203. DisplayDisconnectTime(
  204. IN LONG DiscTime
  205. )
  206. {
  207. DisplayTag( TEXT("Idle session time (min)") );
  208. if (DiscTime == SV_NODISC) {
  209. printf("infinite\n" );
  210. } else {
  211. printf(FORMAT_LONG "\n", DiscTime );
  212. }
  213. } // NetpDbgDisplayDisconnectTime
  214. DBGSTATIC VOID
  215. DisplayLicenses(
  216. IN DWORD MajorVersion,
  217. IN DWORD Licenses
  218. )
  219. {
  220. UNREFERENCED_PARAMETER( MajorVersion );
  221. DisplayDword( TEXT("Licenses (NOT users)"), Licenses );
  222. }
  223. VOID
  224. DisplayPlatformId(
  225. IN DWORD Value
  226. )
  227. {
  228. LPTSTR String;
  229. switch (Value) {
  230. case PLATFORM_ID_DOS : String = TEXT("DOS"); break;
  231. case PLATFORM_ID_OS2 : String = TEXT("OS2"); break;
  232. case PLATFORM_ID_NT : String = TEXT("NT"); break;
  233. default : String = TEXT("unknown"); break;
  234. }
  235. DisplayString( TEXT("Platform ID"), String );
  236. }
  237. VOID
  238. DisplayBool(
  239. IN LPTSTR Tag,
  240. IN BOOL Value
  241. )
  242. {
  243. DisplayTag( Tag );
  244. printf(Value ? "Yes" : "No");
  245. printf("\n");
  246. }
  247. VOID
  248. DisplayDword(
  249. IN LPTSTR Tag,
  250. IN DWORD Value
  251. )
  252. {
  253. DisplayTag( Tag );
  254. printf(FORMAT_DWORD, Value);
  255. printf("\n");
  256. } // DbgDisplayDword
  257. VOID
  258. DisplayServerInfo(
  259. IN DWORD Level,
  260. IN LPVOID Info
  261. )
  262. {
  263. printf("server info (level " FORMAT_DWORD ") at "
  264. FORMAT_LPVOID ":\n", Level, (LPVOID) Info);
  265. NetpAssert(Info != NULL);
  266. switch (Level) {
  267. case 0 :
  268. {
  269. LPSERVER_INFO_0 psv0 = Info;
  270. DisplayString(TEXT("name"), psv0->sv0_name);
  271. }
  272. break;
  273. case 1 :
  274. {
  275. LPSERVER_INFO_1 psv1 = Info;
  276. DisplayString(TEXT("name"), psv1->sv1_name);
  277. DisplayLanManVersion(
  278. psv1->sv1_version_major,
  279. psv1->sv1_version_minor);
  280. DisplayServerType( psv1->sv1_type );
  281. DisplayString(TEXT("comment"), psv1->sv1_comment);
  282. }
  283. break;
  284. case 2 :
  285. {
  286. LPSERVER_INFO_2 psv2 = Info;
  287. DisplayString(TEXT("name"), psv2->sv2_name);
  288. DisplayLanManVersion(
  289. psv2->sv2_version_major,
  290. psv2->sv2_version_minor);
  291. DisplayServerType( psv2->sv2_type );
  292. DisplayString(TEXT("comment"), psv2->sv2_comment);
  293. DisplayDword(TEXT("ulist_mtime"), psv2->sv2_ulist_mtime);
  294. DisplayDword(TEXT("glist_mtime"), psv2->sv2_glist_mtime);
  295. DisplayDword(TEXT("alist_mtime"), psv2->sv2_alist_mtime);
  296. DisplayDword(TEXT("users"), psv2->sv2_users);
  297. DisplayDisconnectTime( psv2->sv2_disc);
  298. DisplayString(TEXT("alerts"), psv2->sv2_alerts);
  299. DisplayDword(TEXT("security"), psv2->sv2_security);
  300. DisplayDword(TEXT("auditing"), psv2->sv2_auditing);
  301. DisplayDword(TEXT("numadmin"), psv2->sv2_numadmin);
  302. DisplayDword(TEXT("lanmask"), psv2->sv2_lanmask);
  303. DisplayDword(TEXT("hidden"), psv2->sv2_hidden);
  304. DisplayDword(TEXT("announce"), psv2->sv2_announce);
  305. DisplayDword(TEXT("anndelta"), psv2->sv2_anndelta);
  306. DisplayString(TEXT("guestacct"), psv2->sv2_guestacct);
  307. DisplayLicenses(
  308. psv2->sv2_version_major,
  309. psv2->sv2_licenses );
  310. DisplayString(TEXT("userpath"), psv2->sv2_userpath);
  311. DisplayDword(TEXT("chdevs"), psv2->sv2_chdevs);
  312. DisplayDword(TEXT("chdevq"), psv2->sv2_chdevq);
  313. DisplayDword(TEXT("chdevjobs"), psv2->sv2_chdevjobs);
  314. DisplayDword(TEXT("connections"), psv2->sv2_connections);
  315. DisplayDword(TEXT("shares"), psv2->sv2_shares);
  316. DisplayDword(TEXT("openfiles"), psv2->sv2_openfiles);
  317. DisplayDword(TEXT("sessopens"), psv2->sv2_sessopens);
  318. DisplayDword(TEXT("sessvcs"), psv2->sv2_sessvcs);
  319. DisplayDword(TEXT("sessreqs"), psv2->sv2_sessreqs);
  320. DisplayDword(TEXT("opensearch"), psv2->sv2_opensearch);
  321. DisplayDword(TEXT("activelocks"), psv2->sv2_activelocks);
  322. DisplayDword(TEXT("numreqbuf"), psv2->sv2_numreqbuf);
  323. DisplayDword(TEXT("sizreqbuf"), psv2->sv2_sizreqbuf);
  324. DisplayDword(TEXT("numbigbuf"), psv2->sv2_numbigbuf);
  325. DisplayDword(TEXT("numfiletasks"), psv2->sv2_numfiletasks);
  326. DisplayDword(TEXT("alertsched"), psv2->sv2_alertsched);
  327. DisplayDword(TEXT("erroralert"), psv2->sv2_erroralert);
  328. DisplayDword(TEXT("logonalert"), psv2->sv2_logonalert);
  329. DisplayDword(TEXT("accessalert"), psv2->sv2_accessalert);
  330. DisplayDword(TEXT("diskalert"), psv2->sv2_diskalert);
  331. DisplayDword(TEXT("netioalert"), psv2->sv2_netioalert);
  332. DisplayDword(TEXT("maxauditsz"), psv2->sv2_maxauditsz);
  333. DisplayString(TEXT("srvheuristics"), psv2->sv2_srvheuristics);
  334. }
  335. break;
  336. case 3 :
  337. {
  338. LPSERVER_INFO_3 psv3 = Info;
  339. DisplayString(TEXT("name"), psv3->sv3_name);
  340. DisplayLanManVersion(
  341. psv3->sv3_version_major,
  342. psv3->sv3_version_minor);
  343. DisplayServerType( psv3->sv3_type );
  344. DisplayString(TEXT("comment"), psv3->sv3_comment);
  345. DisplayDword(TEXT("ulist_mtime"), psv3->sv3_ulist_mtime);
  346. DisplayDword(TEXT("glist_mtime"), psv3->sv3_glist_mtime);
  347. DisplayDword(TEXT("alist_mtime"), psv3->sv3_alist_mtime);
  348. DisplayDword(TEXT("users"), psv3->sv3_users);
  349. DisplayDisconnectTime( psv3->sv3_disc );
  350. DisplayString(TEXT("alerts"), psv3->sv3_alerts);
  351. DisplayDword(TEXT("security"), psv3->sv3_security);
  352. DisplayDword(TEXT("auditing"), psv3->sv3_auditing);
  353. DisplayDword(TEXT("numadmin"), psv3->sv3_numadmin);
  354. DisplayDword(TEXT("lanmask"), psv3->sv3_lanmask);
  355. DisplayDword(TEXT("hidden"), psv3->sv3_hidden);
  356. DisplayDword(TEXT("announce"), psv3->sv3_announce);
  357. DisplayDword(TEXT("anndelta"), psv3->sv3_anndelta);
  358. DisplayString(TEXT("guestacct"), psv3->sv3_guestacct);
  359. DisplayLicenses(
  360. psv3->sv3_version_major,
  361. psv3->sv3_licenses );
  362. DisplayString(TEXT("userpath"), psv3->sv3_userpath);
  363. DisplayDword(TEXT("chdevs"), psv3->sv3_chdevs);
  364. DisplayDword(TEXT("chdevq"), psv3->sv3_chdevq);
  365. DisplayDword(TEXT("chdevjobs"), psv3->sv3_chdevjobs);
  366. DisplayDword(TEXT("connections"), psv3->sv3_connections);
  367. DisplayDword(TEXT("shares"), psv3->sv3_shares);
  368. DisplayDword(TEXT("openfiles"), psv3->sv3_openfiles);
  369. DisplayDword(TEXT("sessopens"), psv3->sv3_sessopens);
  370. DisplayDword(TEXT("sessvcs"), psv3->sv3_sessvcs);
  371. DisplayDword(TEXT("sessreqs"), psv3->sv3_sessreqs);
  372. DisplayDword(TEXT("opensearch"), psv3->sv3_opensearch);
  373. DisplayDword(TEXT("activelocks"), psv3->sv3_activelocks);
  374. DisplayDword(TEXT("numreqbuf"), psv3->sv3_numreqbuf);
  375. DisplayDword(TEXT("sizreqbuf"), psv3->sv3_sizreqbuf);
  376. DisplayDword(TEXT("numbigbuf"), psv3->sv3_numbigbuf);
  377. DisplayDword(TEXT("numfiletasks"), psv3->sv3_numfiletasks);
  378. DisplayDword(TEXT("alertsched"), psv3->sv3_alertsched);
  379. DisplayDword(TEXT("erroralert"), psv3->sv3_erroralert);
  380. DisplayDword(TEXT("logonalert"), psv3->sv3_logonalert);
  381. DisplayDword(TEXT("accessalert"), psv3->sv3_accessalert);
  382. DisplayDword(TEXT("diskalert"), psv3->sv3_diskalert);
  383. DisplayDword(TEXT("netioalert"), psv3->sv3_netioalert);
  384. DisplayDword(TEXT("maxauditsz"), psv3->sv3_maxauditsz);
  385. DisplayString(TEXT("srvheuristics"), psv3->sv3_srvheuristics);
  386. DisplayDword(TEXT("auditedevents"), psv3->sv3_auditedevents);
  387. DisplayDword(TEXT("autoprofile"), psv3->sv3_autoprofile);
  388. DisplayString(TEXT("autopath"), psv3->sv3_autopath);
  389. }
  390. break;
  391. case 100 :
  392. {
  393. LPSERVER_INFO_100 psv100 = Info;
  394. DisplayPlatformId( psv100->sv100_platform_id );
  395. DisplayString(TEXT("Server Name"), psv100->sv100_name);
  396. }
  397. break;
  398. case 101 :
  399. {
  400. LPSERVER_INFO_101 psv101 = Info;
  401. DisplayPlatformId( psv101->sv101_platform_id );
  402. DisplayString(TEXT("Server Name"), psv101->sv101_name);
  403. DisplayLanManVersion(
  404. psv101->sv101_version_major,
  405. psv101->sv101_version_minor);
  406. DisplayServerType( psv101->sv101_type );
  407. DisplayString(TEXT( "Server Comment"), psv101->sv101_comment);
  408. }
  409. break;
  410. case 102 :
  411. {
  412. LPSERVER_INFO_102 psv102 = Info;
  413. DisplayPlatformId( psv102->sv102_platform_id );
  414. DisplayString(TEXT("Server Name"), psv102->sv102_name);
  415. DisplayLanManVersion(
  416. psv102->sv102_version_major,
  417. psv102->sv102_version_minor );
  418. DisplayServerType( psv102->sv102_type );
  419. DisplayString(TEXT( "Server Comment"), psv102->sv102_comment );
  420. DisplayDword(TEXT( "users"), psv102->sv102_users );
  421. DisplayBool(TEXT( "Server hidden"), psv102->sv102_hidden );
  422. DisplayDword(TEXT( "announce"), psv102->sv102_announce );
  423. DisplayDword(TEXT( "announce delta"), psv102->sv102_anndelta );
  424. DisplayLicenses(
  425. psv102->sv102_version_major,
  426. psv102->sv102_licenses );
  427. DisplayString(TEXT( "user path"), psv102->sv102_userpath );
  428. }
  429. break;
  430. case 402 :
  431. {
  432. LPSERVER_INFO_402 psv402 = Info;
  433. DisplayDword(TEXT("ulist mtime"), psv402->sv402_ulist_mtime);
  434. DisplayDword(TEXT("glist mtime"), psv402->sv402_glist_mtime);
  435. DisplayDword(TEXT("alist mtime"), psv402->sv402_alist_mtime);
  436. DisplayString(TEXT("alerts"), psv402->sv402_alerts);
  437. DisplayDword(TEXT("security"), psv402->sv402_security);
  438. DisplayDword(TEXT("numadmin"), psv402->sv402_numadmin);
  439. DisplayDwordHex(TEXT("lanmask"), psv402->sv402_lanmask);
  440. DisplayString(TEXT("guestacct"), psv402->sv402_guestacct);
  441. DisplayDword(TEXT("chdevs"), psv402->sv402_chdevs);
  442. DisplayDword(TEXT("chdevq"), psv402->sv402_chdevq);
  443. DisplayDword(TEXT("chdevjobs"), psv402->sv402_chdevjobs);
  444. DisplayDword(TEXT("connections"), psv402->sv402_connections);
  445. DisplayDword(TEXT("shares"), psv402->sv402_shares);
  446. DisplayDword(TEXT("openfiles"), psv402->sv402_openfiles);
  447. DisplayDword(TEXT("sessopens"), psv402->sv402_sessopens);
  448. DisplayDword(TEXT("sessvcs"), psv402->sv402_sessvcs);
  449. DisplayDword(TEXT("sessreqs"), psv402->sv402_sessreqs);
  450. DisplayDword(TEXT("opensearch"), psv402->sv402_opensearch);
  451. DisplayDword(TEXT("activelocks"), psv402->sv402_activelocks);
  452. DisplayDword(TEXT("numreqbuf"), psv402->sv402_numreqbuf);
  453. DisplayDword(TEXT("sizreqbuf"), psv402->sv402_sizreqbuf);
  454. DisplayDword(TEXT("numbigbuf"), psv402->sv402_numbigbuf);
  455. DisplayDword(TEXT("numfiletasks"), psv402->sv402_numfiletasks);
  456. DisplayDword(TEXT("alertsched"), psv402->sv402_alertsched);
  457. DisplayDword(TEXT("erroralert"), psv402->sv402_erroralert);
  458. DisplayDword(TEXT("logonalert"), psv402->sv402_logonalert);
  459. DisplayDword(TEXT("diskalert"), psv402->sv402_diskalert);
  460. DisplayDword(TEXT("accessalert"), psv402->sv402_accessalert);
  461. DisplayDword(TEXT("diskalert"), psv402->sv402_diskalert);
  462. DisplayDword(TEXT("netioalert"), psv402->sv402_netioalert);
  463. DisplayDword(TEXT("maxauditsz"), psv402->sv402_maxauditsz);
  464. DisplayString(TEXT("srvheuristics"), psv402->sv402_srvheuristics);
  465. }
  466. break;
  467. case 403 :
  468. {
  469. LPSERVER_INFO_403 psv403 = Info;
  470. DisplayDword(TEXT("ulist mtime"), psv403->sv403_ulist_mtime);
  471. DisplayDword(TEXT("glist mtime"), psv403->sv403_glist_mtime);
  472. DisplayDword(TEXT("alist mtime"), psv403->sv403_alist_mtime);
  473. DisplayString(TEXT("alerts"), psv403->sv403_alerts);
  474. DisplayDword(TEXT("security"), psv403->sv403_security);
  475. DisplayDword(TEXT("numadmin"), psv403->sv403_numadmin);
  476. DisplayDwordHex(TEXT("lanmask"), psv403->sv403_lanmask);
  477. DisplayString(TEXT("guestacct"), psv403->sv403_guestacct);
  478. DisplayDword(TEXT("chdevs"), psv403->sv403_chdevs);
  479. DisplayDword(TEXT("chdevq"), psv403->sv403_chdevq);
  480. DisplayDword(TEXT("chdevjobs"), psv403->sv403_chdevjobs);
  481. DisplayDword(TEXT("connections"), psv403->sv403_connections);
  482. DisplayDword(TEXT("shares"), psv403->sv403_shares);
  483. DisplayDword(TEXT("openfiles"), psv403->sv403_openfiles);
  484. DisplayDword(TEXT("sessopens"), psv403->sv403_sessopens);
  485. DisplayDword(TEXT("sessvcs"), psv403->sv403_sessvcs);
  486. DisplayDword(TEXT("sessreqs"), psv403->sv403_sessreqs);
  487. DisplayDword(TEXT("opensearch"), psv403->sv403_opensearch);
  488. DisplayDword(TEXT("activelocks"), psv403->sv403_activelocks);
  489. DisplayDword(TEXT("numreqbuf"), psv403->sv403_numreqbuf);
  490. DisplayDword(TEXT("sizreqbuf"), psv403->sv403_sizreqbuf);
  491. DisplayDword(TEXT("numbigbuf"), psv403->sv403_numbigbuf);
  492. DisplayDword(TEXT("numfiletasks"), psv403->sv403_numfiletasks);
  493. DisplayDword(TEXT("alertsched"), psv403->sv403_alertsched);
  494. DisplayDword(TEXT("erroralert"), psv403->sv403_erroralert);
  495. DisplayDword(TEXT("logonalert"), psv403->sv403_logonalert);
  496. DisplayDword(TEXT("diskalert"), psv403->sv403_diskalert);
  497. DisplayDword(TEXT("accessalert"), psv403->sv403_accessalert);
  498. DisplayDword(TEXT("diskalert"), psv403->sv403_diskalert);
  499. DisplayDword(TEXT("netioalert"), psv403->sv403_netioalert);
  500. DisplayDword(TEXT("maxauditsz"), psv403->sv403_maxauditsz);
  501. DisplayString(TEXT("srvheuristics"), psv403->sv403_srvheuristics);
  502. DisplayDword(TEXT("auditedevents"), psv403->sv403_auditedevents);
  503. DisplayDword(TEXT("autoprofile"), psv403->sv403_autoprofile);
  504. DisplayString(TEXT("autopath"), psv403->sv403_autopath);
  505. }
  506. break;
  507. default :
  508. NetpAssert(FALSE);
  509. }
  510. } // DisplayServerInfo