4 srvsvc interface definitions
7 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
9 endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
10 pointer_default(unique),
11 pointer_default_top(unique),
12 helpstring("Server Service"),
13 depends(security,svcctl)
16 declare bitmap svcctl_ServerType;
18 /**************************/
19 /* srvsvc_NetCharDev */
20 /**************************/
22 [string,charset(UTF16)] uint16 *device;
23 } srvsvc_NetCharDevInfo0;
27 [size_is(count)] srvsvc_NetCharDevInfo0 *array;
28 } srvsvc_NetCharDevCtr0;
31 [string,charset(UTF16)] uint16 *device;
33 [string,charset(UTF16)] uint16 *user;
35 } srvsvc_NetCharDevInfo1;
39 [size_is(count)] srvsvc_NetCharDevInfo1 *array;
40 } srvsvc_NetCharDevCtr1;
43 [case(0)] srvsvc_NetCharDevInfo0 *info0;
44 [case(1)] srvsvc_NetCharDevInfo1 *info1;
46 } srvsvc_NetCharDevInfo;
49 [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
50 [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
52 } srvsvc_NetCharDevCtr;
56 WERROR srvsvc_NetCharDevEnum(
57 [in] [string,charset(UTF16)] uint16 *server_unc,
58 [in,out] uint32 level,
59 [in,out,switch_is(level)] srvsvc_NetCharDevCtr ctr,
60 [in] uint32 max_buffer,
61 [out] uint32 totalentries,
62 [in,out] uint32 *resume_handle
67 WERROR srvsvc_NetCharDevGetInfo(
68 [in] [string,charset(UTF16)] uint16 *server_unc,
69 [in] [string,charset(UTF16)] uint16 device_name[],
71 [out,switch_is(level)] srvsvc_NetCharDevInfo info
76 WERROR srvsvc_NetCharDevControl(
77 [in] [string,charset(UTF16)] uint16 *server_unc,
78 [in] [string,charset(UTF16)] uint16 device_name[],
82 /**************************/
83 /* srvsvc_NetCharDevQ */
84 /**************************/
86 [string,charset(UTF16)] uint16 *device;
87 } srvsvc_NetCharDevQInfo0;
91 [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
92 } srvsvc_NetCharDevQCtr0;
95 [string,charset(UTF16)] uint16 *device;
97 [string,charset(UTF16)] uint16 *devices;
100 } srvsvc_NetCharDevQInfo1;
104 [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
105 } srvsvc_NetCharDevQCtr1;
108 [case(0)] srvsvc_NetCharDevQInfo0 *info0;
109 [case(1)] srvsvc_NetCharDevQInfo1 *info1;
111 } srvsvc_NetCharDevQInfo;
114 [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
115 [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
117 } srvsvc_NetCharDevQCtr;
121 WERROR srvsvc_NetCharDevQEnum(
122 [in] [string,charset(UTF16)] uint16 *server_unc,
123 [in] [string,charset(UTF16)] uint16 *user,
124 [in,out] uint32 level,
125 [in,out,switch_is(level)] srvsvc_NetCharDevQCtr ctr,
126 [in] uint32 max_buffer,
127 [out] uint32 totalentries,
128 [in,out] uint32 *resume_handle
133 WERROR srvsvc_NetCharDevQGetInfo(
134 [in] [string,charset(UTF16)] uint16 *server_unc,
135 [in] [string,charset(UTF16)] uint16 queue_name[],
136 [in] [string,charset(UTF16)] uint16 user[],
138 [out,switch_is(level)] srvsvc_NetCharDevQInfo info
143 WERROR srvsvc_NetCharDevQSetInfo(
144 [in] [string,charset(UTF16)] uint16 *server_unc,
145 [in] [string,charset(UTF16)] uint16 queue_name[],
147 [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
148 [in,out] uint32 *parm_error
153 WERROR srvsvc_NetCharDevQPurge(
154 [in] [string,charset(UTF16)] uint16 *server_unc,
155 [in] [string,charset(UTF16)] uint16 queue_name[]
160 WERROR srvsvc_NetCharDevQPurgeSelf(
161 [in] [string,charset(UTF16)] uint16 *server_unc,
162 [in] [string,charset(UTF16)] uint16 queue_name[],
163 [in] [string,charset(UTF16)] uint16 computer_name[]
166 /**************************/
168 /**************************/
171 } srvsvc_NetConnInfo0;
175 [size_is(count)] srvsvc_NetConnInfo0 *array;
176 } srvsvc_NetConnCtr0;
184 [string,charset(UTF16)] uint16 *user;
185 [string,charset(UTF16)] uint16 *share;
186 } srvsvc_NetConnInfo1;
190 [size_is(count)] srvsvc_NetConnInfo1 *array;
191 } srvsvc_NetConnCtr1;
194 [case(0)] srvsvc_NetConnCtr0 *ctr0;
195 [case(1)] srvsvc_NetConnCtr1 *ctr1;
201 WERROR srvsvc_NetConnEnum(
202 [in] [string,charset(UTF16)] uint16 *server_unc,
203 [in] [string,charset(UTF16)] uint16 *path,
204 [in,out] uint32 level,
205 [in,out,switch_is(level)] srvsvc_NetConnCtr ctr,
206 [in] uint32 max_buffer,
207 [out] uint32 totalentries,
208 [in,out] uint32 *resume_handle
211 /**************************/
213 /**************************/
216 } srvsvc_NetFileInfo2;
220 [size_is(count)] srvsvc_NetFileInfo2 *array;
221 } srvsvc_NetFileCtr2;
227 [string,charset(UTF16)] uint16 *path;
228 [string,charset(UTF16)] uint16 *user;
229 } srvsvc_NetFileInfo3;
233 [size_is(count)] srvsvc_NetFileInfo3 *array;
234 } srvsvc_NetFileCtr3;
237 [case(2)] srvsvc_NetFileInfo2 *info2;
238 [case(3)] srvsvc_NetFileInfo3 *info3;
240 } srvsvc_NetFileInfo;
243 [case(2)] srvsvc_NetFileCtr2 *ctr2;
244 [case(3)] srvsvc_NetFileCtr3 *ctr3;
250 WERROR srvsvc_NetFileEnum(
251 [in] [string,charset(UTF16)] uint16 *server_unc,
252 [in] [string,charset(UTF16)] uint16 *path,
253 [in] [string,charset(UTF16)] uint16 *user,
254 [in,out] uint32 level,
255 [in,out,switch_is(level)] srvsvc_NetFileCtr ctr,
256 [in] uint32 max_buffer,
257 [out] uint32 totalentries,
258 [in,out] uint32 *resume_handle
263 WERROR srvsvc_NetFileGetInfo(
264 [in] [string,charset(UTF16)] uint16 *server_unc,
267 [out,switch_is(level)] srvsvc_NetFileInfo info
272 WERROR srvsvc_NetFileClose(
273 [in] [string,charset(UTF16)] uint16 *server_unc,
277 /**************************/
279 /**************************/
281 [string,charset(UTF16)] uint16 *client;
282 } srvsvc_NetSessInfo0;
286 [size_is(count)] srvsvc_NetSessInfo0 *array;
287 } srvsvc_NetSessCtr0;
290 [string,charset(UTF16)] uint16 *client;
291 [string,charset(UTF16)] uint16 *user;
296 } srvsvc_NetSessInfo1;
300 [size_is(count)] srvsvc_NetSessInfo1 *array;
301 } srvsvc_NetSessCtr1;
304 [string,charset(UTF16)] uint16 *client;
305 [string,charset(UTF16)] uint16 *user;
310 [string,charset(UTF16)] uint16 *client_type;
311 } srvsvc_NetSessInfo2;
315 [size_is(count)] srvsvc_NetSessInfo2 *array;
316 } srvsvc_NetSessCtr2;
319 [string,charset(UTF16)] uint16 *client;
320 [string,charset(UTF16)] uint16 *user;
323 } srvsvc_NetSessInfo10;
327 [size_is(count)] srvsvc_NetSessInfo10 *array;
328 } srvsvc_NetSessCtr10;
331 [string,charset(UTF16)] uint16 *client;
332 [string,charset(UTF16)] uint16 *user;
337 [string,charset(UTF16)] uint16 *client_type;
338 [string,charset(UTF16)] uint16 *transport;
339 } srvsvc_NetSessInfo502;
343 [size_is(count)] srvsvc_NetSessInfo502 *array;
344 } srvsvc_NetSessCtr502;
347 [case(0)] srvsvc_NetSessCtr0 *ctr0;
348 [case(1)] srvsvc_NetSessCtr1 *ctr1;
349 [case(2)] srvsvc_NetSessCtr2 *ctr2;
350 [case(10)] srvsvc_NetSessCtr10 *ctr10;
351 [case(502)] srvsvc_NetSessCtr502 *ctr502;
357 WERROR srvsvc_NetSessEnum(
358 [in] [string,charset(UTF16)] uint16 *server_unc,
359 [in] [string,charset(UTF16)] uint16 *client,
360 [in] [string,charset(UTF16)] uint16 *user,
361 [in,out] uint32 level,
362 [in,out,switch_is(level)] srvsvc_NetSessCtr ctr,
363 [in] uint32 max_buffer,
364 [out] uint32 totalentries,
365 [in,out] uint32 *resume_handle
370 WERROR srvsvc_NetSessDel(
371 [in] [string,charset(UTF16)] uint16 *server_unc,
372 [in] [string,charset(UTF16)] uint16 *client,
373 [in] [string,charset(UTF16)] uint16 *user
376 /**************************/
377 /* srvsvc_NetShare */
378 /**************************/
381 const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
382 const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
384 typedef [v1_enum, flag(NDR_PAHEX)] enum {
386 STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
387 STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
389 STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
390 STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
391 STYPE_DEVICE = 2, /* Serial device */
392 STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
393 STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
394 STYPE_IPC = 3, /* Interprocess communication (IPC) */
395 STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
396 STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
400 [string,charset(UTF16)] uint16 *name;
401 } srvsvc_NetShareInfo0;
405 [size_is(count)] srvsvc_NetShareInfo0 *array;
406 } srvsvc_NetShareCtr0;
409 [string,charset(UTF16)] uint16 *name;
410 srvsvc_ShareType type;
411 [string,charset(UTF16)] uint16 *comment;
412 } srvsvc_NetShareInfo1;
416 [size_is(count)] srvsvc_NetShareInfo1 *array;
417 } srvsvc_NetShareCtr1;
420 [string,charset(UTF16)] uint16 *name;
421 srvsvc_ShareType type;
422 [string,charset(UTF16)] uint16 *comment;
425 uint32 current_users;
426 [string,charset(UTF16)] uint16 *path;
427 [string,charset(UTF16)] uint16 *password;
428 } srvsvc_NetShareInfo2;
432 [size_is(count)] srvsvc_NetShareInfo2 *array;
433 } srvsvc_NetShareCtr2;
436 [string,charset(UTF16)] uint16 *name;
437 srvsvc_ShareType type;
438 [string,charset(UTF16)] uint16 *comment;
440 } srvsvc_NetShareInfo501;
444 [size_is(count)] srvsvc_NetShareInfo501 *array;
445 } srvsvc_NetShareCtr501;
448 [string,charset(UTF16)] uint16 *name;
449 srvsvc_ShareType type;
450 [string,charset(UTF16)] uint16 *comment;
453 uint32 current_users;
454 [string,charset(UTF16)] uint16 *path;
455 [string,charset(UTF16)] uint16 *password;
457 [subcontext(4)] security_descriptor *sd;
458 } srvsvc_NetShareInfo502;
462 [size_is(count)] srvsvc_NetShareInfo502 *array;
463 } srvsvc_NetShareCtr502;
466 [string,charset(UTF16)] uint16 *comment;
467 } srvsvc_NetShareInfo1004;
471 [size_is(count)] srvsvc_NetShareInfo1004 *array;
472 } srvsvc_NetShareCtr1004;
476 } srvsvc_NetShareInfo1005;
480 [size_is(count)] srvsvc_NetShareInfo1005 *array;
481 } srvsvc_NetShareCtr1005;
485 } srvsvc_NetShareInfo1006;
489 [size_is(count)] srvsvc_NetShareInfo1006 *array;
490 } srvsvc_NetShareCtr1006;
494 [string,charset(UTF16)] uint16 *alternate_directory_name;
495 } srvsvc_NetShareInfo1007;
499 [size_is(count)] srvsvc_NetShareInfo1007 *array;
500 } srvsvc_NetShareCtr1007;
504 [subcontext(4)] security_descriptor *sd;
505 } srvsvc_NetShareInfo1501;
509 [size_is(count)] srvsvc_NetShareInfo1501 *array;
510 } srvsvc_NetShareCtr1501;
513 [case(0)] srvsvc_NetShareInfo0 *info0;
514 [case(1)] srvsvc_NetShareInfo1 *info1;
515 [case(2)] srvsvc_NetShareInfo2 *info2;
516 [case(501)] srvsvc_NetShareInfo501 *info501;
517 [case(502)] srvsvc_NetShareInfo502 *info502;
518 [case(1004)] srvsvc_NetShareInfo1004 *info1004;
519 [case(1005)] srvsvc_NetShareInfo1005 *info1005;
520 [case(1006)] srvsvc_NetShareInfo1006 *info1006;
521 [case(1007)] srvsvc_NetShareInfo1007 *info1007;
522 [case(1501)] srvsvc_NetShareInfo1501 *info1501;
524 } srvsvc_NetShareInfo;
527 [case(0)] srvsvc_NetShareCtr0 *ctr0;
528 [case(1)] srvsvc_NetShareCtr1 *ctr1;
529 [case(2)] srvsvc_NetShareCtr2 *ctr2;
530 [case(501)] srvsvc_NetShareCtr501 *ctr501;
531 [case(502)] srvsvc_NetShareCtr502 *ctr502;
532 [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
533 [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
534 [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
535 [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
536 [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
538 } srvsvc_NetShareCtr;
542 WERROR srvsvc_NetShareAdd(
543 [in] [string,charset(UTF16)] uint16 *server_unc,
545 [in,switch_is(level)] srvsvc_NetShareInfo info,
546 [in,out] uint32 *parm_error
551 WERROR srvsvc_NetShareEnumAll (
552 [in] [string,charset(UTF16)] uint16 *server_unc,
553 [in,out] uint32 level,
554 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
555 [in] uint32 max_buffer,
556 [out] uint32 totalentries,
557 [in,out] uint32 *resume_handle
562 WERROR srvsvc_NetShareGetInfo(
563 [in] [string,charset(UTF16)] uint16 *server_unc,
564 [in] [string,charset(UTF16)] uint16 share_name[],
566 [out,switch_is(level)] srvsvc_NetShareInfo info
571 WERROR srvsvc_NetShareSetInfo(
572 [in] [string,charset(UTF16)] uint16 *server_unc,
573 [in] [string,charset(UTF16)] uint16 share_name[],
575 [in,switch_is(level)] srvsvc_NetShareInfo info,
576 [in,out] uint32 *parm_error
581 WERROR srvsvc_NetShareDel(
582 [in] [string,charset(UTF16)] uint16 *server_unc,
583 [in] [string,charset(UTF16)] uint16 share_name[],
589 WERROR srvsvc_NetShareDelSticky(
590 [in] [string,charset(UTF16)] uint16 *server_unc,
591 [in] [string,charset(UTF16)] uint16 share_name[],
597 WERROR srvsvc_NetShareCheck(
598 [in] [string,charset(UTF16)] uint16 *server_unc,
599 [in] [string,charset(UTF16)] uint16 device_name[],
600 [out] srvsvc_ShareType type
603 /**************************/
605 /**************************/
606 typedef [public] enum {
607 PLATFORM_ID_DOS = 300,
608 PLATFORM_ID_OS2 = 400,
609 PLATFORM_ID_NT = 500,
610 PLATFORM_ID_OSF = 600,
611 PLATFORM_ID_VMS = 700
615 srvsvc_PlatformId platform_id;
616 [string,charset(UTF16)] uint16 *server_name;
617 } srvsvc_NetSrvInfo100;
620 srvsvc_PlatformId platform_id;
621 [string,charset(UTF16)] uint16 *server_name;
622 uint32 version_major;
623 uint32 version_minor;
624 svcctl_ServerType server_type;
625 [string,charset(UTF16)] uint16 *comment;
626 } srvsvc_NetSrvInfo101;
629 srvsvc_PlatformId platform_id;
630 [string,charset(UTF16)] uint16 *server_name;
633 svcctl_ServerType server_type;
634 [string,charset(UTF16)] uint16 *comment;
641 [string,charset(UTF16)] uint16 *userpath;
642 } srvsvc_NetSrvInfo102;
648 [string,charset(UTF16)] uint16 *alerts;
652 [string,charset(UTF16)] uint16 *guestaccount;
674 [string,charset(UTF16)] uint16 *srvheuristics;
675 } srvsvc_NetSrvInfo402;
681 [string,charset(UTF16)] uint16 *alerts;
685 [string,charset(UTF16)] uint16 *guestaccount;
707 [string,charset(UTF16)] uint16 *srvheuristics;
708 uint32 auditedevents;
710 [string,charset(UTF16)] uint16 *autopath;
711 } srvsvc_NetSrvInfo403;
718 uint32 initworkitems;
725 uint32 maxpagedmemoryusage;
726 uint32 maxnonpagedmemoryusage;
727 uint32 enablesoftcompat;
728 uint32 enableforcedlogoff;
730 uint32 acceptdownlevelapis;
732 } srvsvc_NetSrvInfo502;
739 uint32 initworkitems;
746 uint32 maxpagedmemoryusage;
747 uint32 maxnonpagedmemoryusage;
748 uint32 enablesoftcompat;
749 uint32 enableforcedlogoff;
751 uint32 acceptdownlevelapis;
753 [string,charset(UTF16)] uint16 *domain;
754 uint32 maxcopyreadlen;
755 uint32 maxcopywritelen;
756 uint32 minkeepsearch;
757 uint32 maxkeepsearch;
758 uint32 minkeepcomplsearch;
759 uint32 maxkeepcomplsearch;
760 uint32 threadcountadd;
761 uint32 numlockthreads;
764 uint32 minfreeworkitems;
766 uint32 threadpriority;
768 uint32 oplockbreakwait;
769 uint32 oplockbreakresponsewait;
770 uint32 enableoplocks;
771 uint32 enableoplockforceclose;
772 uint32 enablefcbopens;
774 uint32 enablesharednetdrives;
775 uint32 minfreeconnections;
776 uint32 maxfreeconnections;
777 } srvsvc_NetSrvInfo503;
784 uint32 initworkitems;
791 uint32 maxpagedmemoryusage;
792 uint32 maxnonpagedmemoryusage;
793 uint32 enablesoftcompat;
794 uint32 enableforcedlogoff;
796 uint32 acceptdownlevelapis;
798 [string,charset(UTF16)] uint16 *domain;
799 uint32 maxcopyreadlen;
800 uint32 maxcopywritelen;
801 uint32 minkeepsearch;
802 uint32 minkeepcomplsearch;
803 uint32 maxkeepcomplsearch;
804 uint32 threadcountadd;
805 uint32 numlockthreads;
808 uint32 minfreeworkitems;
810 uint32 threadpriority;
812 uint32 oplockbreakwait;
813 uint32 oplockbreakresponsewait;
814 uint32 enableoplocks;
815 uint32 enableoplockforceclose;
816 uint32 enablefcbopens;
818 uint32 enablesharednetdrives;
819 uint32 minfreeconnections;
820 uint32 maxfreeconnections;
821 uint32 initsesstable;
822 uint32 initconntable;
823 uint32 initfiletable;
824 uint32 initsearchtable;
826 uint32 errortreshold;
827 uint32 networkerrortreshold;
828 uint32 diskspacetreshold;
831 uint32 minlinkthroughput;
832 uint32 linkinfovalidtime;
833 uint32 scavqosinfoupdatetime;
834 uint32 maxworkitemidletime;
835 } srvsvc_NetSrvInfo599;
838 [string,charset(UTF16)] uint16 *comment;
839 } srvsvc_NetSrvInfo1005;
843 } srvsvc_NetSrvInfo1010;
847 } srvsvc_NetSrvInfo1016;
851 } srvsvc_NetSrvInfo1017;
855 } srvsvc_NetSrvInfo1018;
859 } srvsvc_NetSrvInfo1107;
863 } srvsvc_NetSrvInfo1501;
867 } srvsvc_NetSrvInfo1502;
871 } srvsvc_NetSrvInfo1503;
875 } srvsvc_NetSrvInfo1506;
879 } srvsvc_NetSrvInfo1509;
883 } srvsvc_NetSrvInfo1510;
887 } srvsvc_NetSrvInfo1511;
890 uint32 maxnonpagedmemoryusage;
891 } srvsvc_NetSrvInfo1512;
894 uint32 maxpagedmemoryusage;
895 } srvsvc_NetSrvInfo1513;
898 uint32 enablesoftcompat;
899 } srvsvc_NetSrvInfo1514;
902 uint32 enableforcedlogoff;
903 } srvsvc_NetSrvInfo1515;
907 } srvsvc_NetSrvInfo1516;
911 } srvsvc_NetSrvInfo1518;
914 uint32 maxcopyreadlen;
915 } srvsvc_NetSrvInfo1520;
918 uint32 maxcopywritelen;
919 } srvsvc_NetSrvInfo1521;
922 uint32 minkeepsearch;
923 } srvsvc_NetSrvInfo1522;
926 uint32 maxkeepsearch;
927 } srvsvc_NetSrvInfo1523;
930 uint32 minkeepcomplsearch;
931 } srvsvc_NetSrvInfo1524;
934 uint32 maxkeepcomplsearch;
935 } srvsvc_NetSrvInfo1525;
939 } srvsvc_NetSrvInfo1528;
943 } srvsvc_NetSrvInfo1529;
946 uint32 minfreeworkitems;
947 } srvsvc_NetSrvInfo1530;
951 } srvsvc_NetSrvInfo1533;
954 uint32 oplockbreakwait;
955 } srvsvc_NetSrvInfo1534;
958 uint32 oplockbreakresponsewait;
959 } srvsvc_NetSrvInfo1535;
962 uint32 enableoplocks;
963 } srvsvc_NetSrvInfo1536;
966 uint32 enableoplockforceclose;
967 } srvsvc_NetSrvInfo1537;
970 uint32 enablefcbopens;
971 } srvsvc_NetSrvInfo1538;
975 } srvsvc_NetSrvInfo1539;
978 uint32 enablesharednetdrives;
979 } srvsvc_NetSrvInfo1540;
982 uint32 minfreeconnections;
983 } srvsvc_NetSrvInfo1541;
986 uint32 maxfreeconnections;
987 } srvsvc_NetSrvInfo1542;
990 uint32 initsesstable;
991 } srvsvc_NetSrvInfo1543;
994 uint32 initconntable;
995 } srvsvc_NetSrvInfo1544;
998 uint32 initfiletable;
999 } srvsvc_NetSrvInfo1545;
1002 uint32 initsearchtable;
1003 } srvsvc_NetSrvInfo1546;
1007 } srvsvc_NetSrvInfo1547;
1010 uint32 errortreshold;
1011 } srvsvc_NetSrvInfo1548;
1014 uint32 networkerrortreshold;
1015 } srvsvc_NetSrvInfo1549;
1018 uint32 diskspacetreshold;
1019 } srvsvc_NetSrvInfo1550;
1022 uint32 maxlinkdelay;
1023 } srvsvc_NetSrvInfo1552;
1026 uint32 minlinkthroughput;
1027 } srvsvc_NetSrvInfo1553;
1030 uint32 linkinfovalidtime;
1031 } srvsvc_NetSrvInfo1554;
1034 uint32 scavqosinfoupdatetime;
1035 } srvsvc_NetSrvInfo1555;
1038 uint32 maxworkitemidletime;
1039 } srvsvc_NetSrvInfo1556;
1043 [case(100)] srvsvc_NetSrvInfo100 *info100;
1044 [case(101)] srvsvc_NetSrvInfo101 *info101;
1045 [case(102)] srvsvc_NetSrvInfo102 *info102;
1046 [case(402)] srvsvc_NetSrvInfo402 *info402;
1047 [case(403)] srvsvc_NetSrvInfo403 *info403;
1048 [case(502)] srvsvc_NetSrvInfo502 *info502;
1049 [case(503)] srvsvc_NetSrvInfo503 *info503;
1050 [case(599)] srvsvc_NetSrvInfo599 *info599;
1051 [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1052 [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1053 [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1054 [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1055 [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1056 [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1057 [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1058 [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1059 [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1060 [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1061 [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1062 [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1063 [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1064 [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1065 [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1066 [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1067 [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1068 [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1069 [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1070 [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1071 [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1072 [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1073 [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1074 [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1075 [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1076 [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1077 [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1078 [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1079 [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1080 [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1081 [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1082 [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1083 [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1084 [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1085 [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1086 [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1087 [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1088 [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1089 [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1090 [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1091 [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1092 [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1093 [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1094 [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1095 [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1096 [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1097 [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1098 [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1099 [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1100 [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1101 [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1103 } srvsvc_NetSrvInfo;
1105 /******************/
1106 /* Function: 0x15 */
1107 WERROR srvsvc_NetSrvGetInfo(
1108 [in] [string,charset(UTF16)] uint16 *server_unc,
1110 [out,switch_is(level)] srvsvc_NetSrvInfo info
1113 /******************/
1114 /* Function: 0x16 */
1115 WERROR srvsvc_NetSrvSetInfo(
1116 [in] [string,charset(UTF16)] uint16 *server_unc,
1118 [in,switch_is(level)] srvsvc_NetSrvInfo info,
1119 [in,out] uint32 *parm_error
1122 /**************************/
1123 /* srvsvc_NetDisk */
1124 /**************************/
1126 [string,charset(UTF16)] uint16 *disc;
1127 } srvsvc_NetDiskInfo0;
1131 [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *discs;
1132 } srvsvc_NetDiskInfo;
1134 /******************/
1135 /* Function: 0x17 */
1136 WERROR srvsvc_NetDiskEnum(
1137 [in] [string,charset(UTF16)] uint16 *server_unc,
1139 [in,out] srvsvc_NetDiskInfo disks,
1141 [out] uint32 totalentries,
1142 [in,out] uint32 *resume_handle
1145 /**************************/
1146 /* srvsvc_NetStatistics */
1147 /**************************/
1159 uint32 bytessent_low;
1160 uint32 bytessent_high;
1161 uint32 bytesrcvd_low;
1162 uint32 bytesrcvd_high;
1166 } srvsvc_Statistics;
1168 /******************/
1169 /* Function: 0x18 */
1170 WERROR srvsvc_NetServerStatisticsGet(
1171 [in] [string,charset(UTF16)] uint16 *server_unc,
1172 [in] [string,charset(UTF16)] uint16 *service,
1174 [in] uint32 options,
1175 [out] srvsvc_Statistics stat
1178 /**************************/
1179 /* srvsvc_NetTransport */
1180 /**************************/
1183 [string,charset(UTF16)] uint16 *name;
1184 [size_is(addr_len)] uint8 *addr;
1186 [string,charset(UTF16)] uint16 *net_addr;
1187 } srvsvc_NetTransportInfo0;
1189 /******************/
1190 /* Function: 0x19 */
1191 WERROR srvsvc_NetTransportAdd(
1192 [in] [string,charset(UTF16)] uint16 *server_unc,
1194 [in,switch_is(level)] srvsvc_NetTransportInfo info
1199 [size_is(count)] srvsvc_NetTransportInfo0 *array;
1200 } srvsvc_NetTransportCtr0;
1204 [string,charset(UTF16)] uint16 *name;
1205 [size_is(addr_len)] uint8 *addr;
1207 [string,charset(UTF16)] uint16 *net_addr;
1208 [string,charset(UTF16)] uint16 *domain;
1209 } srvsvc_NetTransportInfo1;
1213 [size_is(count)] srvsvc_NetTransportInfo1 *array;
1214 } srvsvc_NetTransportCtr1;
1218 [string,charset(UTF16)] uint16 *name;
1219 [size_is(addr_len)] uint8 *addr;
1221 [string,charset(UTF16)] uint16 *net_addr;
1222 [string,charset(UTF16)] uint16 *domain;
1224 } srvsvc_NetTransportInfo2;
1228 [size_is(count)] srvsvc_NetTransportInfo2 *array;
1229 } srvsvc_NetTransportCtr2;
1233 [string,charset(UTF16)] uint16 *name;
1234 [size_is(addr_len)] uint8 *addr;
1236 [string,charset(UTF16)] uint16 *net_addr;
1237 [string,charset(UTF16)] uint16 *domain;
1240 uint8 unknown3[256];
1241 } srvsvc_NetTransportInfo3;
1245 [size_is(count)] srvsvc_NetTransportInfo3 *array;
1246 } srvsvc_NetTransportCtr3;
1249 [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1250 [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1251 [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1252 [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1254 } srvsvc_NetTransportCtr;
1256 /******************/
1257 /* Function: 0x1a */
1258 WERROR srvsvc_NetTransportEnum(
1259 [in] [string,charset(UTF16)] uint16 *server_unc,
1260 [in,out] uint32 level,
1261 [in,out,switch_is(level)] srvsvc_NetTransportCtr transports,
1262 [in] uint32 max_buffer,
1263 [out] uint32 totalentries,
1264 [in,out] uint32 *resume_handle
1267 /******************/
1268 /* Function: 0x1b */
1269 WERROR srvsvc_NetTransportDel(
1270 [in] [string,charset(UTF16)] uint16 *server_unc,
1271 [in] uint32 unknown,
1272 [in] srvsvc_NetTransportInfo0 transport
1275 /**************************/
1276 /* srvsvc_NetRemoteTOD */
1277 /**************************/
1279 uint32 elapsed; /* time(NULL) */
1280 uint32 msecs; /* milliseconds till system reboot (uptime) */
1285 int32 timezone; /* in minutes */
1286 uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1291 } srvsvc_NetRemoteTODInfo;
1293 /******************/
1294 /* Function: 0x1c */
1295 WERROR srvsvc_NetRemoteTOD(
1296 [in] [string,charset(UTF16)] uint16 *server_unc,
1297 [out] srvsvc_NetRemoteTODInfo *info
1300 /**************************/
1301 /* srvsvc_NetServiceBits */
1302 /**************************/
1303 /******************/
1304 /* Function: 0x1d */
1305 WERROR srvsvc_NetSetServiceBits(
1306 [in] [string,charset(UTF16)] uint16 *server_unc,
1307 [in] [string,charset(UTF16)] uint16 *transport,
1308 [in] uint32 servicebits,
1309 [in] uint32 updateimmediately
1312 /**************************/
1313 /* srvsvc_NetPath */
1314 /**************************/
1315 /******************/
1316 /* Function: 0x1e */
1317 WERROR srvsvc_NetPathType(
1318 [in] [string,charset(UTF16)] uint16 *server_unc,
1319 [in] [string,charset(UTF16)] uint16 path[],
1320 [in] uint32 pathflags,
1321 [out] uint32 pathtype
1324 /******************/
1325 /* Function: 0x1f */
1326 WERROR srvsvc_NetPathCanonicalize(
1327 [in] [string,charset(UTF16)] uint16 *server_unc,
1328 [in] [string,charset(UTF16)] uint16 path[],
1329 [out] [size_is(maxbuf)] uint8 can_path[],
1331 [in] [string,charset(UTF16)] uint16 prefix[],
1332 [in,out] uint32 pathtype,
1333 [in] uint32 pathflags
1336 /******************/
1337 /* Function: 0x20 */
1338 WERROR srvsvc_NetPathCompare(
1339 [in] [string,charset(UTF16)] uint16 *server_unc,
1340 [in] [string,charset(UTF16)] uint16 path1[],
1341 [in] [string,charset(UTF16)] uint16 path2[],
1342 [in] uint32 pathtype,
1343 [in] uint32 pathflags
1346 /**************************/
1347 /* srvsvc_NetName */
1348 /**************************/
1349 /******************/
1350 /* Function: 0x21 */
1351 WERROR srvsvc_NetNameValidate(
1352 [in] [string,charset(UTF16)] uint16 *server_unc,
1353 [in] [string,charset(UTF16)] uint16 path[],
1354 [in] uint32 pathtype,
1355 [in] uint32 pathflags
1358 /******************/
1359 /* Function: 0x22 */
1360 WERROR srvsvc_NETRPRNAMECANONICALIZE(
1363 /******************/
1364 /* Function: 0x23 */
1365 WERROR srvsvc_NetPRNameCompare(
1366 [in] [string,charset(UTF16)] uint16 *server_unc,
1367 [in] [string,charset(UTF16)] uint16 path1[],
1368 [in] [string,charset(UTF16)] uint16 path2[],
1369 [in] uint32 pathtype,
1370 [in] uint32 pathflags
1373 /**************************/
1374 /* srvsvc_NetShare ... */
1375 /**************************/
1376 /******************/
1377 /* Function: 0x24 */
1378 /* Note, there must be some way to return entries read vs
1379 total entries ... */
1380 WERROR srvsvc_NetShareEnum(
1381 [in] [string,charset(UTF16)] uint16 *server_unc,
1382 [in,out] uint32 level,
1383 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
1384 [in] uint32 max_buffer,
1385 [out] uint32 totalentries,
1386 [in,out] uint32 *resume_handle
1389 /******************/
1390 /* Function: 0x25 */
1391 WERROR srvsvc_NetShareDelStart(
1392 [in] [string,charset(UTF16)] uint16 *server_unc,
1393 [in] [string,charset(UTF16)] uint16 share[],
1394 [in] uint32 reserved,
1395 [out] policy_handle *hnd
1398 /******************/
1399 /* Function: 0x26 */
1400 WERROR srvsvc_NetShareDelCommit(
1401 [in, out] policy_handle *hnd
1404 /******************/
1405 /* Function: 0x27 */
1406 WERROR srvsvc_NetGetFileSecurity(
1407 [in] [string,charset(UTF16)] uint16 *server_unc,
1408 [in] [string,charset(UTF16)] uint16 *share,
1409 [in] [string,charset(UTF16)] uint16 file[],
1410 [in] uint32 securityinformation,
1411 [out, subcontext(4)] security_descriptor *sd
1414 /******************/
1415 /* Function: 0x28 */
1416 WERROR srvsvc_NetSetFileSecurity(
1417 [in] [string,charset(UTF16)] uint16 *server_unc,
1418 [in] [string,charset(UTF16)] uint16 *share,
1419 [in] [string,charset(UTF16)] uint16 file[],
1420 [in] uint32 securityinformation,
1421 [in, subcontext(4)] security_descriptor sd
1426 typedef [switch_type(uint32)] union {
1427 [case(0)] srvsvc_NetTransportInfo0 info0;
1428 [case(1)] srvsvc_NetTransportInfo1 info1;
1429 [case(2)] srvsvc_NetTransportInfo2 info2;
1430 [case(3)] srvsvc_NetTransportInfo3 info3;
1431 } srvsvc_NetTransportInfo;
1433 /******************/
1434 /* Function: 0x29 */
1435 WERROR srvsvc_NetServerTransportAddEx(
1436 [in] [string,charset(UTF16)] uint16 *server_unc,
1438 [in,switch_is(level)] srvsvc_NetTransportInfo info
1441 /******************/
1442 /* Function: 0x2a */
1443 WERROR srvsvc_NetServerSetServiceBitsEx(
1444 [in] [string,charset(UTF16)] uint16 *server_unc,
1445 [in] [string,charset(UTF16)] uint16 *emulated_server_unc,
1446 [in] [string,charset(UTF16)] uint16 *transport,
1447 [in] uint32 servicebitsofinterest,
1448 [in] uint32 servicebits,
1449 [in] uint32 updateimmediately
1452 /******************/
1453 /* Function: 0x2b */
1454 WERROR srvsvc_NETRDFSGETVERSION(
1457 /******************/
1458 /* Function: 0x2c */
1459 WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1462 /******************/
1463 /* Function: 0x2d */
1464 WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1467 /******************/
1468 /* Function: 0x2e */
1469 WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1472 /******************/
1473 /* Function: 0x2f */
1474 WERROR srvsvc_NETRDFSSETSERVERINFO(
1477 /******************/
1478 /* Function: 0x30 */
1479 WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1482 /******************/
1483 /* Function: 0x31 */
1484 WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1487 /******************/
1488 /* Function: 0x32 */
1489 WERROR srvsvc_NETRDFSMODIFYPREFIX(
1492 /******************/
1493 /* Function: 0x33 */
1494 WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1497 /******************/
1498 /* Function: 0x34 */
1499 WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1502 /******************/
1503 /* Function: 0x35 */
1504 WERROR srvsvc_NETRSERVERTRANSPORTDELEX(