4 srvsvc interface definitions
6 import "security.idl", "svcctl.idl";
8 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
10 endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
11 pointer_default(unique),
12 helpstring("Server Service")
15 typedef bitmap svcctl_ServerType svcctl_ServerType;
16 typedef bitmap security_secinfo security_secinfo;
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 [switch_is(level)] srvsvc_NetCharDevCtr ctr;
57 } srvsvc_NetCharDevInfoCtr;
61 WERROR srvsvc_NetCharDevEnum(
62 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
63 [in,out,ref] srvsvc_NetCharDevInfoCtr *info_ctr,
64 [in] uint32 max_buffer,
65 [out,ref] uint32 *totalentries,
66 [in,out,unique] uint32 *resume_handle
71 WERROR srvsvc_NetCharDevGetInfo(
72 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
73 [in] [string,charset(UTF16)] uint16 device_name[],
75 [out,ref,switch_is(level)] srvsvc_NetCharDevInfo *info
80 WERROR srvsvc_NetCharDevControl(
81 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
82 [in] [string,charset(UTF16)] uint16 device_name[],
86 /**************************/
87 /* srvsvc_NetCharDevQ */
88 /**************************/
90 [string,charset(UTF16)] uint16 *device;
91 } srvsvc_NetCharDevQInfo0;
95 [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
96 } srvsvc_NetCharDevQCtr0;
99 [string,charset(UTF16)] uint16 *device;
101 [string,charset(UTF16)] uint16 *devices;
104 } srvsvc_NetCharDevQInfo1;
108 [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
109 } srvsvc_NetCharDevQCtr1;
112 [case(0)] srvsvc_NetCharDevQInfo0 *info0;
113 [case(1)] srvsvc_NetCharDevQInfo1 *info1;
115 } srvsvc_NetCharDevQInfo;
118 [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
119 [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
121 } srvsvc_NetCharDevQCtr;
125 [switch_is(level)] srvsvc_NetCharDevQCtr ctr;
126 } srvsvc_NetCharDevQInfoCtr;
130 WERROR srvsvc_NetCharDevQEnum(
131 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
132 [in,unique] [string,charset(UTF16)] uint16 *user,
133 [in,out,ref] srvsvc_NetCharDevQInfoCtr *info_ctr,
134 [in] uint32 max_buffer,
135 [out,ref] uint32 *totalentries,
136 [in,out,unique] uint32 *resume_handle
141 WERROR srvsvc_NetCharDevQGetInfo(
142 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
143 [in] [string,charset(UTF16)] uint16 queue_name[],
144 [in] [string,charset(UTF16)] uint16 user[],
146 [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
151 WERROR srvsvc_NetCharDevQSetInfo(
152 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
153 [in] [string,charset(UTF16)] uint16 queue_name[],
155 [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
156 [in,out,unique] uint32 *parm_error
161 WERROR srvsvc_NetCharDevQPurge(
162 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
163 [in] [string,charset(UTF16)] uint16 queue_name[]
168 WERROR srvsvc_NetCharDevQPurgeSelf(
169 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
170 [in] [string,charset(UTF16)] uint16 queue_name[],
171 [in] [string,charset(UTF16)] uint16 computer_name[]
174 /**************************/
176 /**************************/
179 } srvsvc_NetConnInfo0;
183 [size_is(count)] srvsvc_NetConnInfo0 *array;
184 } srvsvc_NetConnCtr0;
192 [string,charset(UTF16)] uint16 *user;
193 [string,charset(UTF16)] uint16 *share;
194 } srvsvc_NetConnInfo1;
198 [size_is(count)] srvsvc_NetConnInfo1 *array;
199 } srvsvc_NetConnCtr1;
202 [case(0)] srvsvc_NetConnCtr0 *ctr0;
203 [case(1)] srvsvc_NetConnCtr1 *ctr1;
209 [switch_is(level)] srvsvc_NetConnCtr ctr;
210 } srvsvc_NetConnInfoCtr;
214 WERROR srvsvc_NetConnEnum(
215 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
216 [in,unique] [string,charset(UTF16)] uint16 *path,
217 [in,out] uint32 level,
218 [in,out,switch_is(level)] srvsvc_NetConnCtr ctr,
219 [in] uint32 max_buffer,
220 [out] uint32 totalentries,
221 [in,out,unique] uint32 *resume_handle
224 /**************************/
226 /**************************/
229 } srvsvc_NetFileInfo2;
233 [size_is(count)] srvsvc_NetFileInfo2 *array;
234 } srvsvc_NetFileCtr2;
240 [string,charset(UTF16)] uint16 *path;
241 [string,charset(UTF16)] uint16 *user;
242 } srvsvc_NetFileInfo3;
246 [size_is(count)] srvsvc_NetFileInfo3 *array;
247 } srvsvc_NetFileCtr3;
250 [case(2)] srvsvc_NetFileInfo2 *info2;
251 [case(3)] srvsvc_NetFileInfo3 *info3;
253 } srvsvc_NetFileInfo;
256 [case(2)] srvsvc_NetFileCtr2 *ctr2;
257 [case(3)] srvsvc_NetFileCtr3 *ctr3;
263 [switch_is(level)] srvsvc_NetFileCtr ctr;
264 } srvsvc_NetFileInfoCtr;
268 WERROR srvsvc_NetFileEnum(
269 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
270 [in,unique] [string,charset(UTF16)] uint16 *path,
271 [in,unique] [string,charset(UTF16)] uint16 *user,
272 [in,out] uint32 level,
273 [in,out,switch_is(level)] srvsvc_NetFileCtr ctr,
274 [in] uint32 max_buffer,
275 [out] uint32 totalentries,
276 [in,out,unique] uint32 *resume_handle
281 WERROR srvsvc_NetFileGetInfo(
282 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
285 [out,switch_is(level),ref] srvsvc_NetFileInfo *info
290 WERROR srvsvc_NetFileClose(
291 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
295 /**************************/
297 /**************************/
299 [string,charset(UTF16)] uint16 *client;
300 } srvsvc_NetSessInfo0;
304 [size_is(count)] srvsvc_NetSessInfo0 *array;
305 } srvsvc_NetSessCtr0;
308 [string,charset(UTF16)] uint16 *client;
309 [string,charset(UTF16)] uint16 *user;
314 } srvsvc_NetSessInfo1;
318 [size_is(count)] srvsvc_NetSessInfo1 *array;
319 } srvsvc_NetSessCtr1;
322 [string,charset(UTF16)] uint16 *client;
323 [string,charset(UTF16)] uint16 *user;
328 [string,charset(UTF16)] uint16 *client_type;
329 } srvsvc_NetSessInfo2;
333 [size_is(count)] srvsvc_NetSessInfo2 *array;
334 } srvsvc_NetSessCtr2;
337 [string,charset(UTF16)] uint16 *client;
338 [string,charset(UTF16)] uint16 *user;
341 } srvsvc_NetSessInfo10;
345 [size_is(count)] srvsvc_NetSessInfo10 *array;
346 } srvsvc_NetSessCtr10;
349 [string,charset(UTF16)] uint16 *client;
350 [string,charset(UTF16)] uint16 *user;
355 [string,charset(UTF16)] uint16 *client_type;
356 [string,charset(UTF16)] uint16 *transport;
357 } srvsvc_NetSessInfo502;
361 [size_is(count)] srvsvc_NetSessInfo502 *array;
362 } srvsvc_NetSessCtr502;
365 [case(0)] srvsvc_NetSessCtr0 *ctr0;
366 [case(1)] srvsvc_NetSessCtr1 *ctr1;
367 [case(2)] srvsvc_NetSessCtr2 *ctr2;
368 [case(10)] srvsvc_NetSessCtr10 *ctr10;
369 [case(502)] srvsvc_NetSessCtr502 *ctr502;
378 [switch_is(level)] srvsvc_NetSessCtr ctr;
379 } srvsvc_NetSessInfoCtr;
381 WERROR srvsvc_NetSessEnum(
382 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
383 [in,unique] [string,charset(UTF16)] uint16 *client,
384 [in,unique] [string,charset(UTF16)] uint16 *user,
385 [in,out] uint32 level,
386 [in,out,switch_is(level)] srvsvc_NetSessCtr ctr,
387 [in] uint32 max_buffer,
388 [out] uint32 totalentries,
389 [in,out,unique] uint32 *resume_handle
394 WERROR srvsvc_NetSessDel(
395 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
396 [in,unique] [string,charset(UTF16)] uint16 *client,
397 [in,unique] [string,charset(UTF16)] uint16 *user
400 /**************************/
401 /* srvsvc_NetShare */
402 /**************************/
405 const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
406 const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
408 typedef [v1_enum, flag(NDR_PAHEX)] enum {
410 STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
411 STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
413 STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
414 STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
415 STYPE_DEVICE = 2, /* Serial device */
416 STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
417 STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
418 STYPE_IPC = 3, /* Interprocess communication (IPC) */
419 STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
420 STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
424 [string,charset(UTF16)] uint16 *name;
425 } srvsvc_NetShareInfo0;
429 [size_is(count)] srvsvc_NetShareInfo0 *array;
430 } srvsvc_NetShareCtr0;
433 [string,charset(UTF16)] uint16 *name;
434 srvsvc_ShareType type;
435 [string,charset(UTF16)] uint16 *comment;
436 } srvsvc_NetShareInfo1;
440 [size_is(count)] srvsvc_NetShareInfo1 *array;
441 } srvsvc_NetShareCtr1;
444 [string,charset(UTF16)] uint16 *name;
445 srvsvc_ShareType type;
446 [string,charset(UTF16)] uint16 *comment;
449 uint32 current_users;
450 [string,charset(UTF16)] uint16 *path;
451 [string,charset(UTF16)] uint16 *password;
452 } srvsvc_NetShareInfo2;
456 [size_is(count)] srvsvc_NetShareInfo2 *array;
457 } srvsvc_NetShareCtr2;
460 [string,charset(UTF16)] uint16 *name;
461 srvsvc_ShareType type;
462 [string,charset(UTF16)] uint16 *comment;
464 } srvsvc_NetShareInfo501;
468 [size_is(count)] srvsvc_NetShareInfo501 *array;
469 } srvsvc_NetShareCtr501;
472 [string,charset(UTF16)] uint16 *name;
473 srvsvc_ShareType type;
474 [string,charset(UTF16)] uint16 *comment;
477 uint32 current_users;
478 [string,charset(UTF16)] uint16 *path;
479 [string,charset(UTF16)] uint16 *password;
481 } srvsvc_NetShareInfo502;
485 [size_is(count)] srvsvc_NetShareInfo502 *array;
486 } srvsvc_NetShareCtr502;
489 [string,charset(UTF16)] uint16 *comment;
490 } srvsvc_NetShareInfo1004;
494 [size_is(count)] srvsvc_NetShareInfo1004 *array;
495 } srvsvc_NetShareCtr1004;
498 SHARE_1005_IN_DFS = 0x00000001,
499 SHARE_1005_DFS_ROOT = 0x00000002
500 } NetShareInfo1005Flags;
502 const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
503 const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
506 NetShareInfo1005Flags dfs_flags;
507 } srvsvc_NetShareInfo1005;
511 [size_is(count)] srvsvc_NetShareInfo1005 *array;
512 } srvsvc_NetShareCtr1005;
516 } srvsvc_NetShareInfo1006;
520 [size_is(count)] srvsvc_NetShareInfo1006 *array;
521 } srvsvc_NetShareCtr1006;
525 [string,charset(UTF16)] uint16 *alternate_directory_name;
526 } srvsvc_NetShareInfo1007;
530 [size_is(count)] srvsvc_NetShareInfo1007 *array;
531 } srvsvc_NetShareCtr1007;
535 [size_is(count)] sec_desc_buf *array;
536 } srvsvc_NetShareCtr1501;
539 [case(0)] srvsvc_NetShareInfo0 *info0;
540 [case(1)] srvsvc_NetShareInfo1 *info1;
541 [case(2)] srvsvc_NetShareInfo2 *info2;
542 [case(501)] srvsvc_NetShareInfo501 *info501;
543 [case(502)] srvsvc_NetShareInfo502 *info502;
544 [case(1004)] srvsvc_NetShareInfo1004 *info1004;
545 [case(1005)] srvsvc_NetShareInfo1005 *info1005;
546 [case(1006)] srvsvc_NetShareInfo1006 *info1006;
547 [case(1007)] srvsvc_NetShareInfo1007 *info1007;
548 [case(1501)] sec_desc_buf *info1501;
550 } srvsvc_NetShareInfo;
553 [case(0)] srvsvc_NetShareCtr0 *ctr0;
554 [case(1)] srvsvc_NetShareCtr1 *ctr1;
555 [case(2)] srvsvc_NetShareCtr2 *ctr2;
556 [case(501)] srvsvc_NetShareCtr501 *ctr501;
557 [case(502)] srvsvc_NetShareCtr502 *ctr502;
558 [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
559 [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
560 [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
561 [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
562 [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
564 } srvsvc_NetShareCtr;
568 [switch_is(level)] srvsvc_NetShareCtr ctr;
569 } srvsvc_NetShareInfoCtr;
573 WERROR srvsvc_NetShareAdd(
574 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
576 [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
577 [in,out,unique] uint32 *parm_error
582 WERROR srvsvc_NetShareEnumAll (
583 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
584 [in,out] uint32 level,
585 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
586 [in] uint32 max_buffer,
587 [out] uint32 totalentries,
588 [in,out,unique] uint32 *resume_handle
593 WERROR srvsvc_NetShareGetInfo(
594 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
595 [in] [string,charset(UTF16)] uint16 share_name[],
597 [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
602 WERROR srvsvc_NetShareSetInfo(
603 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
604 [in] [string,charset(UTF16)] uint16 share_name[],
606 [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
607 [in,out,unique] uint32 *parm_error
612 WERROR srvsvc_NetShareDel(
613 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
614 [in] [string,charset(UTF16)] uint16 share_name[],
620 WERROR srvsvc_NetShareDelSticky(
621 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
622 [in] [string,charset(UTF16)] uint16 share_name[],
628 WERROR srvsvc_NetShareCheck(
629 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
630 [in] [string,charset(UTF16)] uint16 device_name[],
631 [out,ref] srvsvc_ShareType *type
634 /**************************/
636 /**************************/
637 typedef [public,v1_enum] enum {
638 PLATFORM_ID_DOS = 300,
639 PLATFORM_ID_OS2 = 400,
640 PLATFORM_ID_NT = 500,
641 PLATFORM_ID_OSF = 600,
642 PLATFORM_ID_VMS = 700
646 srvsvc_PlatformId platform_id;
647 [string,charset(UTF16)] uint16 *server_name;
648 } srvsvc_NetSrvInfo100;
651 srvsvc_PlatformId platform_id;
652 [string,charset(UTF16)] uint16 *server_name;
653 uint32 version_major;
654 uint32 version_minor;
655 svcctl_ServerType server_type;
656 [string,charset(UTF16)] uint16 *comment;
657 } srvsvc_NetSrvInfo101;
660 srvsvc_PlatformId platform_id;
661 [string,charset(UTF16)] uint16 *server_name;
662 uint32 version_major;
663 uint32 version_minor;
664 svcctl_ServerType server_type;
665 [string,charset(UTF16)] uint16 *comment;
672 [string,charset(UTF16)] uint16 *userpath;
673 } srvsvc_NetSrvInfo102;
679 [string,charset(UTF16)] uint16 *alerts;
683 [string,charset(UTF16)] uint16 *guestaccount;
706 [string,charset(UTF16)] uint16 *srvheuristics;
707 } srvsvc_NetSrvInfo402;
713 [string,charset(UTF16)] uint16 *alerts;
717 [string,charset(UTF16)] uint16 *guestaccount;
740 [string,charset(UTF16)] uint16 *srvheuristics;
741 uint32 auditedevents;
743 [string,charset(UTF16)] uint16 *autopath;
744 } srvsvc_NetSrvInfo403;
751 uint32 initworkitems;
758 uint32 maxpagedmemoryusage;
759 uint32 maxnonpagedmemoryusage;
760 uint32 enablesoftcompat;
761 uint32 enableforcedlogoff;
763 uint32 acceptdownlevelapis;
765 } srvsvc_NetSrvInfo502;
772 uint32 initworkitems;
779 uint32 maxpagedmemoryusage;
780 uint32 maxnonpagedmemoryusage;
781 uint32 enablesoftcompat;
782 uint32 enableforcedlogoff;
784 uint32 acceptdownlevelapis;
786 [string,charset(UTF16)] uint16 *domain;
787 uint32 maxcopyreadlen;
788 uint32 maxcopywritelen;
789 uint32 minkeepsearch;
790 uint32 maxkeepsearch;
791 uint32 minkeepcomplsearch;
792 uint32 maxkeepcomplsearch;
793 uint32 threadcountadd;
794 uint32 numlockthreads;
797 uint32 minfreeworkitems;
799 uint32 threadpriority;
801 uint32 oplockbreakwait;
802 uint32 oplockbreakresponsewait;
803 uint32 enableoplocks;
804 uint32 enableoplockforceclose;
805 uint32 enablefcbopens;
807 uint32 enablesharednetdrives;
808 uint32 minfreeconnections;
809 uint32 maxfreeconnections;
810 } srvsvc_NetSrvInfo503;
817 uint32 initworkitems;
824 uint32 maxpagedmemoryusage;
825 uint32 maxnonpagedmemoryusage;
826 uint32 enablesoftcompat;
827 uint32 enableforcedlogoff;
829 uint32 acceptdownlevelapis;
831 [string,charset(UTF16)] uint16 *domain;
832 uint32 maxcopyreadlen;
833 uint32 maxcopywritelen;
834 uint32 minkeepsearch;
835 uint32 minkeepcomplsearch;
836 uint32 maxkeepcomplsearch;
837 uint32 threadcountadd;
838 uint32 numlockthreads;
841 uint32 minfreeworkitems;
843 uint32 threadpriority;
845 uint32 oplockbreakwait;
846 uint32 oplockbreakresponsewait;
847 uint32 enableoplocks;
848 uint32 enableoplockforceclose;
849 uint32 enablefcbopens;
851 uint32 enablesharednetdrives;
852 uint32 minfreeconnections;
853 uint32 maxfreeconnections;
854 uint32 initsesstable;
855 uint32 initconntable;
856 uint32 initfiletable;
857 uint32 initsearchtable;
859 uint32 errortreshold;
860 uint32 networkerrortreshold;
861 uint32 diskspacetreshold;
864 uint32 minlinkthroughput;
865 uint32 linkinfovalidtime;
866 uint32 scavqosinfoupdatetime;
867 uint32 maxworkitemidletime;
868 } srvsvc_NetSrvInfo599;
871 [string,charset(UTF16)] uint16 *comment;
872 } srvsvc_NetSrvInfo1005;
876 } srvsvc_NetSrvInfo1010;
880 } srvsvc_NetSrvInfo1016;
884 } srvsvc_NetSrvInfo1017;
888 } srvsvc_NetSrvInfo1018;
892 } srvsvc_NetSrvInfo1107;
896 } srvsvc_NetSrvInfo1501;
900 } srvsvc_NetSrvInfo1502;
904 } srvsvc_NetSrvInfo1503;
908 } srvsvc_NetSrvInfo1506;
912 } srvsvc_NetSrvInfo1509;
916 } srvsvc_NetSrvInfo1510;
920 } srvsvc_NetSrvInfo1511;
923 uint32 maxnonpagedmemoryusage;
924 } srvsvc_NetSrvInfo1512;
927 uint32 maxpagedmemoryusage;
928 } srvsvc_NetSrvInfo1513;
931 uint32 enablesoftcompat;
932 } srvsvc_NetSrvInfo1514;
935 uint32 enableforcedlogoff;
936 } srvsvc_NetSrvInfo1515;
940 } srvsvc_NetSrvInfo1516;
944 } srvsvc_NetSrvInfo1518;
947 uint32 maxcopyreadlen;
948 } srvsvc_NetSrvInfo1520;
951 uint32 maxcopywritelen;
952 } srvsvc_NetSrvInfo1521;
955 uint32 minkeepsearch;
956 } srvsvc_NetSrvInfo1522;
959 uint32 maxkeepsearch;
960 } srvsvc_NetSrvInfo1523;
963 uint32 minkeepcomplsearch;
964 } srvsvc_NetSrvInfo1524;
967 uint32 maxkeepcomplsearch;
968 } srvsvc_NetSrvInfo1525;
972 } srvsvc_NetSrvInfo1528;
976 } srvsvc_NetSrvInfo1529;
979 uint32 minfreeworkitems;
980 } srvsvc_NetSrvInfo1530;
984 } srvsvc_NetSrvInfo1533;
987 uint32 oplockbreakwait;
988 } srvsvc_NetSrvInfo1534;
991 uint32 oplockbreakresponsewait;
992 } srvsvc_NetSrvInfo1535;
995 uint32 enableoplocks;
996 } srvsvc_NetSrvInfo1536;
999 uint32 enableoplockforceclose;
1000 } srvsvc_NetSrvInfo1537;
1003 uint32 enablefcbopens;
1004 } srvsvc_NetSrvInfo1538;
1008 } srvsvc_NetSrvInfo1539;
1011 uint32 enablesharednetdrives;
1012 } srvsvc_NetSrvInfo1540;
1015 uint32 minfreeconnections;
1016 } srvsvc_NetSrvInfo1541;
1019 uint32 maxfreeconnections;
1020 } srvsvc_NetSrvInfo1542;
1023 uint32 initsesstable;
1024 } srvsvc_NetSrvInfo1543;
1027 uint32 initconntable;
1028 } srvsvc_NetSrvInfo1544;
1031 uint32 initfiletable;
1032 } srvsvc_NetSrvInfo1545;
1035 uint32 initsearchtable;
1036 } srvsvc_NetSrvInfo1546;
1040 } srvsvc_NetSrvInfo1547;
1043 uint32 errortreshold;
1044 } srvsvc_NetSrvInfo1548;
1047 uint32 networkerrortreshold;
1048 } srvsvc_NetSrvInfo1549;
1051 uint32 diskspacetreshold;
1052 } srvsvc_NetSrvInfo1550;
1055 uint32 maxlinkdelay;
1056 } srvsvc_NetSrvInfo1552;
1059 uint32 minlinkthroughput;
1060 } srvsvc_NetSrvInfo1553;
1063 uint32 linkinfovalidtime;
1064 } srvsvc_NetSrvInfo1554;
1067 uint32 scavqosinfoupdatetime;
1068 } srvsvc_NetSrvInfo1555;
1071 uint32 maxworkitemidletime;
1072 } srvsvc_NetSrvInfo1556;
1076 [case(100)] srvsvc_NetSrvInfo100 *info100;
1077 [case(101)] srvsvc_NetSrvInfo101 *info101;
1078 [case(102)] srvsvc_NetSrvInfo102 *info102;
1079 [case(402)] srvsvc_NetSrvInfo402 *info402;
1080 [case(403)] srvsvc_NetSrvInfo403 *info403;
1081 [case(502)] srvsvc_NetSrvInfo502 *info502;
1082 [case(503)] srvsvc_NetSrvInfo503 *info503;
1083 [case(599)] srvsvc_NetSrvInfo599 *info599;
1084 [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1085 [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1086 [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1087 [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1088 [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1089 [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1090 [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1091 [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1092 [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1093 [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1094 [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1095 [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1096 [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1097 [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1098 [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1099 [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1100 [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1101 [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1102 [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1103 [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1104 [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1105 [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1106 [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1107 [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1108 [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1109 [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1110 [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1111 [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1112 [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1113 [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1114 [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1115 [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1116 [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1117 [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1118 [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1119 [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1120 [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1121 [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1122 [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1123 [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1124 [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1125 [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1126 [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1127 [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1128 [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1129 [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1130 [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1131 [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1132 [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1133 [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1134 [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1136 } srvsvc_NetSrvInfo;
1138 /******************/
1139 /* Function: 0x15 */
1140 WERROR srvsvc_NetSrvGetInfo(
1141 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1143 [out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
1146 /******************/
1147 /* Function: 0x16 */
1148 WERROR srvsvc_NetSrvSetInfo(
1149 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1151 [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
1152 [in,out,unique] uint32 *parm_error
1155 /**************************/
1156 /* srvsvc_NetDisk */
1157 /**************************/
1160 * In theory this should be:
1161 * [charset(UTF16),string] uint16 annotation[3]
1162 * But midl treats this as:
1163 * [charset(UTF16),string] uint16 annotation[]
1164 * and pidl doesn't support this yet
1166 [value(0)] uint32 __disk_offset;
1167 [value(strlen(disk)+1)] uint32 __disk_length;
1168 [charset(UTF16)] uint16 disk[__disk_length];
1169 } srvsvc_NetDiskInfo0;
1173 [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1174 } srvsvc_NetDiskInfo;
1176 /******************/
1177 /* Function: 0x17 */
1178 WERROR srvsvc_NetDiskEnum(
1179 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1181 [in,out,ref] srvsvc_NetDiskInfo *info,
1183 [out,ref] uint32 *totalentries,
1184 [in,out,unique] uint32 *resume_handle
1187 /**************************/
1188 /* srvsvc_NetStatistics */
1189 /**************************/
1201 uint32 bytessent_low;
1202 uint32 bytessent_high;
1203 uint32 bytesrcvd_low;
1204 uint32 bytesrcvd_high;
1208 } srvsvc_Statistics;
1210 /******************/
1211 /* Function: 0x18 */
1212 WERROR srvsvc_NetServerStatisticsGet(
1213 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1214 [in,unique] [string,charset(UTF16)] uint16 *service,
1216 [in] uint32 options,
1217 [out,ref] srvsvc_Statistics **stats
1220 /**************************/
1221 /* srvsvc_NetTransport */
1222 /**************************/
1225 [string,charset(UTF16)] uint16 *name;
1226 [size_is(addr_len)] uint8 *addr;
1228 [string,charset(UTF16)] uint16 *net_addr;
1229 } srvsvc_NetTransportInfo0;
1231 /******************/
1232 /* Function: 0x19 */
1233 WERROR srvsvc_NetTransportAdd(
1234 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1236 [in,switch_is(level)] srvsvc_NetTransportInfo info
1241 [size_is(count)] srvsvc_NetTransportInfo0 *array;
1242 } srvsvc_NetTransportCtr0;
1246 [string,charset(UTF16)] uint16 *name;
1247 [size_is(addr_len)] uint8 *addr;
1249 [string,charset(UTF16)] uint16 *net_addr;
1250 [string,charset(UTF16)] uint16 *domain;
1251 } srvsvc_NetTransportInfo1;
1255 [size_is(count)] srvsvc_NetTransportInfo1 *array;
1256 } srvsvc_NetTransportCtr1;
1260 [string,charset(UTF16)] uint16 *name;
1261 [size_is(addr_len)] uint8 *addr;
1263 [string,charset(UTF16)] uint16 *net_addr;
1264 [string,charset(UTF16)] uint16 *domain;
1266 } srvsvc_NetTransportInfo2;
1270 [size_is(count)] srvsvc_NetTransportInfo2 *array;
1271 } srvsvc_NetTransportCtr2;
1275 [string,charset(UTF16)] uint16 *name;
1276 [size_is(addr_len)] uint8 *addr;
1278 [string,charset(UTF16)] uint16 *net_addr;
1279 [string,charset(UTF16)] uint16 *domain;
1282 uint8 unknown3[256];
1283 } srvsvc_NetTransportInfo3;
1287 [size_is(count)] srvsvc_NetTransportInfo3 *array;
1288 } srvsvc_NetTransportCtr3;
1291 [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1292 [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1293 [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1294 [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1296 } srvsvc_NetTransportCtr;
1300 [switch_is(level)] srvsvc_NetTransportCtr ctr;
1301 } srvsvc_NetTransportInfoCtr;
1303 /******************/
1304 /* Function: 0x1a */
1305 WERROR srvsvc_NetTransportEnum(
1306 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1307 [in,out,ref] srvsvc_NetTransportInfoCtr *transports,
1308 [in] uint32 max_buffer,
1309 [out,ref] uint32 *totalentries,
1310 [in,out,unique] uint32 *resume_handle
1313 /******************/
1314 /* Function: 0x1b */
1315 WERROR srvsvc_NetTransportDel(
1316 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1318 [in] srvsvc_NetTransportInfo0 *info0
1321 /**************************/
1322 /* srvsvc_NetRemoteTOD */
1323 /**************************/
1325 uint32 elapsed; /* time(NULL) */
1326 uint32 msecs; /* milliseconds till system reboot (uptime) */
1331 int32 timezone; /* in minutes */
1332 uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1337 } srvsvc_NetRemoteTODInfo;
1339 /******************/
1340 /* Function: 0x1c */
1341 WERROR srvsvc_NetRemoteTOD(
1342 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1343 [out,ref] srvsvc_NetRemoteTODInfo **info
1346 /**************************/
1347 /* srvsvc_NetServiceBits */
1348 /**************************/
1349 /******************/
1350 /* Function: 0x1d */
1351 WERROR srvsvc_NetSetServiceBits(
1352 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1353 [in,unique] [string,charset(UTF16)] uint16 *transport,
1354 [in] uint32 servicebits,
1355 [in] uint32 updateimmediately
1358 /**************************/
1359 /* srvsvc_NetPath */
1360 /**************************/
1361 /******************/
1362 /* Function: 0x1e */
1363 WERROR srvsvc_NetPathType(
1364 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1365 [in] [string,charset(UTF16)] uint16 path[],
1366 [in] uint32 pathflags,
1367 [out,ref] uint32 *pathtype
1370 /******************/
1371 /* Function: 0x1f */
1372 WERROR srvsvc_NetPathCanonicalize(
1373 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1374 [in] [string,charset(UTF16)] uint16 path[],
1375 [out] [size_is(maxbuf)] uint8 can_path[],
1377 [in] [string,charset(UTF16)] uint16 prefix[],
1378 [in,out,ref] uint32 *pathtype,
1379 [in] uint32 pathflags
1382 /******************/
1383 /* Function: 0x20 */
1384 WERROR srvsvc_NetPathCompare(
1385 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1386 [in] [string,charset(UTF16)] uint16 path1[],
1387 [in] [string,charset(UTF16)] uint16 path2[],
1388 [in] uint32 pathtype,
1389 [in] uint32 pathflags
1392 /**************************/
1393 /* srvsvc_NetName */
1394 /**************************/
1395 /******************/
1396 /* Function: 0x21 */
1397 WERROR srvsvc_NetNameValidate(
1398 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1399 [in] [string,charset(UTF16)] uint16 name[],
1400 [in] uint32 name_type,
1404 /******************/
1405 /* Function: 0x22 */
1406 [todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
1409 /******************/
1410 /* Function: 0x23 */
1411 WERROR srvsvc_NetPRNameCompare(
1412 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1413 [in] [string,charset(UTF16)] uint16 name1[],
1414 [in] [string,charset(UTF16)] uint16 name2[],
1415 [in] uint32 name_type,
1419 /**************************/
1420 /* srvsvc_NetShare ... */
1421 /**************************/
1422 /******************/
1423 /* Function: 0x24 */
1424 /* Note, there must be some way to return entries read vs
1425 total entries ... */
1426 WERROR srvsvc_NetShareEnum(
1427 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1428 [in,out] uint32 level,
1429 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
1430 [in] uint32 max_buffer,
1431 [out] uint32 totalentries,
1432 [in,out,unique] uint32 *resume_handle
1435 /******************/
1436 /* Function: 0x25 */
1437 WERROR srvsvc_NetShareDelStart(
1438 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1439 [in] [string,charset(UTF16)] uint16 share[],
1440 [in] uint32 reserved,
1441 [out,unique] policy_handle *hnd
1444 /******************/
1445 /* Function: 0x26 */
1446 WERROR srvsvc_NetShareDelCommit(
1447 [in, out,unique] policy_handle *hnd
1450 /******************/
1451 /* Function: 0x27 */
1452 WERROR srvsvc_NetGetFileSecurity(
1453 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1454 [in,unique] [string,charset(UTF16)] uint16 *share,
1455 [in] [string,charset(UTF16)] uint16 file[],
1456 [in] security_secinfo securityinformation,
1457 [out,ref] sec_desc_buf **sd_buf
1460 /******************/
1461 /* Function: 0x28 */
1462 WERROR srvsvc_NetSetFileSecurity(
1463 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1464 [in,unique] [string,charset(UTF16)] uint16 *share,
1465 [in] [string,charset(UTF16)] uint16 file[],
1466 [in] security_secinfo securityinformation,
1467 [in,ref] sec_desc_buf *sd_buf
1472 typedef [switch_type(uint32)] union {
1473 [case(0)] srvsvc_NetTransportInfo0 info0;
1474 [case(1)] srvsvc_NetTransportInfo1 info1;
1475 [case(2)] srvsvc_NetTransportInfo2 info2;
1476 [case(3)] srvsvc_NetTransportInfo3 info3;
1477 } srvsvc_NetTransportInfo;
1479 /******************/
1480 /* Function: 0x29 */
1481 WERROR srvsvc_NetServerTransportAddEx(
1482 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1484 [in,switch_is(level)] srvsvc_NetTransportInfo info
1487 /******************/
1488 /* Function: 0x2a */
1489 WERROR srvsvc_NetServerSetServiceBitsEx(
1490 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1491 [in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
1492 [in,unique] [string,charset(UTF16)] uint16 *transport,
1493 [in] uint32 servicebitsofinterest,
1494 [in] uint32 servicebits,
1495 [in] uint32 updateimmediately
1498 /******************/
1499 /* Function: 0x2b */
1500 [todo] WERROR srvsvc_NETRDFSGETVERSION(
1503 /******************/
1504 /* Function: 0x2c */
1505 [todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1508 /******************/
1509 /* Function: 0x2d */
1510 [todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1513 /******************/
1514 /* Function: 0x2e */
1515 [todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1518 /******************/
1519 /* Function: 0x2f */
1520 [todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
1523 /******************/
1524 /* Function: 0x30 */
1525 [todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1528 /******************/
1529 /* Function: 0x31 */
1530 [todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1533 /******************/
1534 /* Function: 0x32 */
1535 [todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
1538 /******************/
1539 /* Function: 0x33 */
1540 [todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1543 /******************/
1544 /* Function: 0x34 */
1545 [todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1548 /******************/
1549 /* Function: 0x35 */
1550 [todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(