4 srvsvc interface definitions
7 import
"security.idl", "svcctl.idl";
9 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
11 endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
12 pointer_default(unique),
13 helpstring("Server Service")
16 typedef bitmap svcctl_ServerType svcctl_ServerType
;
17 typedef bitmap security_secinfo security_secinfo
;
19 /**************************/
20 /* srvsvc_NetCharDev */
21 /**************************/
23 [string,charset
(UTF16
)] uint16
*device
;
24 } srvsvc_NetCharDevInfo0
;
28 [size_is(count
)] srvsvc_NetCharDevInfo0
*array
;
29 } srvsvc_NetCharDevCtr0
;
32 [string,charset
(UTF16
)] uint16
*device
;
34 [string,charset
(UTF16
)] uint16
*user
;
36 } srvsvc_NetCharDevInfo1
;
40 [size_is(count
)] srvsvc_NetCharDevInfo1
*array
;
41 } srvsvc_NetCharDevCtr1
;
44 [case(0)] srvsvc_NetCharDevInfo0
*info0
;
45 [case(1)] srvsvc_NetCharDevInfo1
*info1
;
47 } srvsvc_NetCharDevInfo
;
50 [case(0)] srvsvc_NetCharDevCtr0
*ctr0
;
51 [case(1)] srvsvc_NetCharDevCtr1
*ctr1
;
53 } srvsvc_NetCharDevCtr
;
57 WERROR srvsvc_NetCharDevEnum
(
58 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
59 [in,out,ref] uint32
*level
,
60 [in,out,ref,switch_is(*level
)] srvsvc_NetCharDevCtr
*ctr
,
61 [in] uint32 max_buffer
,
62 [out,ref] uint32
*totalentries
,
63 [in,out,unique] uint32
*resume_handle
68 WERROR srvsvc_NetCharDevGetInfo
(
69 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
70 [in] [string,charset
(UTF16
)] uint16 device_name
[],
72 [out,ref,switch_is(level
)] srvsvc_NetCharDevInfo
*info
77 WERROR srvsvc_NetCharDevControl
(
78 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
79 [in] [string,charset
(UTF16
)] uint16 device_name
[],
83 /**************************/
84 /* srvsvc_NetCharDevQ */
85 /**************************/
87 [string,charset
(UTF16
)] uint16
*device
;
88 } srvsvc_NetCharDevQInfo0
;
92 [size_is(count
)] srvsvc_NetCharDevQInfo0
*array
;
93 } srvsvc_NetCharDevQCtr0
;
96 [string,charset
(UTF16
)] uint16
*device
;
98 [string,charset
(UTF16
)] uint16
*devices
;
101 } srvsvc_NetCharDevQInfo1
;
105 [size_is(count
)] srvsvc_NetCharDevQInfo1
*array
;
106 } srvsvc_NetCharDevQCtr1
;
109 [case(0)] srvsvc_NetCharDevQInfo0
*info0
;
110 [case(1)] srvsvc_NetCharDevQInfo1
*info1
;
112 } srvsvc_NetCharDevQInfo
;
115 [case(0)] srvsvc_NetCharDevQCtr0
*ctr0
;
116 [case(1)] srvsvc_NetCharDevQCtr1
*ctr1
;
118 } srvsvc_NetCharDevQCtr
;
122 WERROR srvsvc_NetCharDevQEnum
(
123 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
124 [in,unique] [string,charset
(UTF16
)] uint16
*user
,
125 [in,out,ref] uint32
*level
,
126 [in,out,switch_is(*level
),ref] srvsvc_NetCharDevQCtr
*ctr
,
127 [in] uint32 max_buffer
,
128 [out,ref] uint32
*totalentries
,
129 [in,out,unique] uint32
*resume_handle
134 WERROR srvsvc_NetCharDevQGetInfo
(
135 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
136 [in] [string,charset
(UTF16
)] uint16 queue_name
[],
137 [in] [string,charset
(UTF16
)] uint16 user
[],
139 [out,switch_is(level
),ref] srvsvc_NetCharDevQInfo
*info
144 WERROR srvsvc_NetCharDevQSetInfo
(
145 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
146 [in] [string,charset
(UTF16
)] uint16 queue_name
[],
148 [in,switch_is(level
)] srvsvc_NetCharDevQInfo info
,
149 [in,out,unique] uint32
*parm_error
154 WERROR srvsvc_NetCharDevQPurge
(
155 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
156 [in] [string,charset
(UTF16
)] uint16 queue_name
[]
161 WERROR srvsvc_NetCharDevQPurgeSelf
(
162 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
163 [in] [string,charset
(UTF16
)] uint16 queue_name
[],
164 [in] [string,charset
(UTF16
)] uint16 computer_name
[]
167 /**************************/
169 /**************************/
172 } srvsvc_NetConnInfo0
;
176 [size_is(count
)] srvsvc_NetConnInfo0
*array
;
177 } srvsvc_NetConnCtr0
;
185 [string,charset
(UTF16
)] uint16
*user
;
186 [string,charset
(UTF16
)] uint16
*share
;
187 } srvsvc_NetConnInfo1
;
191 [size_is(count
)] srvsvc_NetConnInfo1
*array
;
192 } srvsvc_NetConnCtr1
;
195 [case(0)] srvsvc_NetConnCtr0
*ctr0
;
196 [case(1)] srvsvc_NetConnCtr1
*ctr1
;
202 [switch_is(level
)] srvsvc_NetConnCtr ctr
;
203 } srvsvc_NetConnInfoCtr
;
207 WERROR srvsvc_NetConnEnum
(
208 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
209 [in,unique] [string,charset
(UTF16
)] uint16
*path
,
210 [in,out,ref] srvsvc_NetConnInfoCtr
*info_ctr
,
211 [in] uint32 max_buffer
,
212 [out,ref] uint32
*totalentries
,
213 [in,out,unique] uint32
*resume_handle
216 /**************************/
218 /**************************/
221 } srvsvc_NetFileInfo2
;
225 [size_is(count
)] srvsvc_NetFileInfo2
*array
;
226 } srvsvc_NetFileCtr2
;
232 [string,charset
(UTF16
)] uint16
*path
;
233 [string,charset
(UTF16
)] uint16
*user
;
234 } srvsvc_NetFileInfo3
;
238 [size_is(count
)] srvsvc_NetFileInfo3
*array
;
239 } srvsvc_NetFileCtr3
;
242 [case(2)] srvsvc_NetFileInfo2
*info2
;
243 [case(3)] srvsvc_NetFileInfo3
*info3
;
245 } srvsvc_NetFileInfo
;
248 [case(2)] srvsvc_NetFileCtr2
*ctr2
;
249 [case(3)] srvsvc_NetFileCtr3
*ctr3
;
255 [switch_is(level
)] srvsvc_NetFileCtr ctr
;
256 } srvsvc_NetFileInfoCtr
;
260 WERROR srvsvc_NetFileEnum
(
261 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
262 [in,unique] [string,charset
(UTF16
)] uint16
*path
,
263 [in,unique] [string,charset
(UTF16
)] uint16
*user
,
264 [in,out,ref] srvsvc_NetFileInfoCtr
*info_ctr
,
265 [in] uint32 max_buffer
,
266 [out,ref] uint32
*totalentries
,
267 [in,out,unique] uint32
*resume_handle
272 WERROR srvsvc_NetFileGetInfo
(
273 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
276 [out,switch_is(level
),ref] srvsvc_NetFileInfo
*info
281 WERROR srvsvc_NetFileClose
(
282 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
286 /**************************/
288 /**************************/
290 [string,charset
(UTF16
)] uint16
*client
;
291 } srvsvc_NetSessInfo0
;
295 [size_is(count
)] srvsvc_NetSessInfo0
*array
;
296 } srvsvc_NetSessCtr0
;
299 [string,charset
(UTF16
)] uint16
*client
;
300 [string,charset
(UTF16
)] uint16
*user
;
305 } srvsvc_NetSessInfo1
;
309 [size_is(count
)] srvsvc_NetSessInfo1
*array
;
310 } srvsvc_NetSessCtr1
;
313 [string,charset
(UTF16
)] uint16
*client
;
314 [string,charset
(UTF16
)] uint16
*user
;
319 [string,charset
(UTF16
)] uint16
*client_type
;
320 } srvsvc_NetSessInfo2
;
324 [size_is(count
)] srvsvc_NetSessInfo2
*array
;
325 } srvsvc_NetSessCtr2
;
328 [string,charset
(UTF16
)] uint16
*client
;
329 [string,charset
(UTF16
)] uint16
*user
;
332 } srvsvc_NetSessInfo10
;
336 [size_is(count
)] srvsvc_NetSessInfo10
*array
;
337 } srvsvc_NetSessCtr10
;
340 [string,charset
(UTF16
)] uint16
*client
;
341 [string,charset
(UTF16
)] uint16
*user
;
346 [string,charset
(UTF16
)] uint16
*client_type
;
347 [string,charset
(UTF16
)] uint16
*transport
;
348 } srvsvc_NetSessInfo502
;
352 [size_is(count
)] srvsvc_NetSessInfo502
*array
;
353 } srvsvc_NetSessCtr502
;
356 [case(0)] srvsvc_NetSessCtr0
*ctr0
;
357 [case(1)] srvsvc_NetSessCtr1
*ctr1
;
358 [case(2)] srvsvc_NetSessCtr2
*ctr2
;
359 [case(10)] srvsvc_NetSessCtr10
*ctr10
;
360 [case(502)] srvsvc_NetSessCtr502
*ctr502
;
369 [switch_is(level
)] srvsvc_NetSessCtr ctr
;
370 } srvsvc_NetSessInfoCtr
;
372 WERROR srvsvc_NetSessEnum
(
373 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
374 [in,unique] [string,charset
(UTF16
)] uint16
*client
,
375 [in,unique] [string,charset
(UTF16
)] uint16
*user
,
376 [in,out,ref] srvsvc_NetSessInfoCtr
*info_ctr
,
377 [in] uint32 max_buffer
,
378 [out,ref] uint32
*totalentries
,
379 [in,out,unique] uint32
*resume_handle
384 WERROR srvsvc_NetSessDel
(
385 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
386 [in,unique] [string,charset
(UTF16
)] uint16
*client
,
387 [in,unique] [string,charset
(UTF16
)] uint16
*user
390 /**************************/
391 /* srvsvc_NetShare */
392 /**************************/
395 const uint32 STYPE_TEMPORARY
= 0x40000000; /* share is a temporary one */
396 const uint32 STYPE_HIDDEN
= 0x80000000; /* share is a hidden one */
398 typedef [v1_enum, flag
(NDR_PAHEX
)] enum {
400 STYPE_DISKTREE_TEMPORARY
= STYPE_DISKTREE|STYPE_TEMPORARY
,
401 STYPE_DISKTREE_HIDDEN
= STYPE_DISKTREE|STYPE_HIDDEN
,
403 STYPE_PRINTQ_TEMPORARY
= STYPE_PRINTQ|STYPE_TEMPORARY
,
404 STYPE_PRINTQ_HIDDEN
= STYPE_PRINTQ|STYPE_HIDDEN
,
405 STYPE_DEVICE
= 2, /* Serial device */
406 STYPE_DEVICE_TEMPORARY
= STYPE_DEVICE|STYPE_TEMPORARY
,
407 STYPE_DEVICE_HIDDEN
= STYPE_DEVICE|STYPE_HIDDEN
,
408 STYPE_IPC
= 3, /* Interprocess communication (IPC) */
409 STYPE_IPC_TEMPORARY
= STYPE_IPC|STYPE_TEMPORARY
,
410 STYPE_IPC_HIDDEN
= STYPE_IPC|STYPE_HIDDEN
414 [string,charset
(UTF16
)] uint16
*name
;
415 } srvsvc_NetShareInfo0
;
419 [size_is(count
)] srvsvc_NetShareInfo0
*array
;
420 } srvsvc_NetShareCtr0
;
423 [string,charset
(UTF16
)] uint16
*name
;
424 srvsvc_ShareType type
;
425 [string,charset
(UTF16
)] uint16
*comment
;
426 } srvsvc_NetShareInfo1
;
430 [size_is(count
)] srvsvc_NetShareInfo1
*array
;
431 } srvsvc_NetShareCtr1
;
434 [string,charset
(UTF16
)] uint16
*name
;
435 srvsvc_ShareType type
;
436 [string,charset
(UTF16
)] uint16
*comment
;
439 uint32 current_users
;
440 [string,charset
(UTF16
)] uint16
*path
;
441 [string,charset
(UTF16
)] uint16
*password
;
442 } srvsvc_NetShareInfo2
;
446 [size_is(count
)] srvsvc_NetShareInfo2
*array
;
447 } srvsvc_NetShareCtr2
;
450 [string,charset
(UTF16
)] uint16
*name
;
451 srvsvc_ShareType type
;
452 [string,charset
(UTF16
)] uint16
*comment
;
454 } srvsvc_NetShareInfo501
;
458 [size_is(count
)] srvsvc_NetShareInfo501
*array
;
459 } srvsvc_NetShareCtr501
;
462 [string,charset
(UTF16
)] uint16
*name
;
463 srvsvc_ShareType type
;
464 [string,charset
(UTF16
)] uint16
*comment
;
467 uint32 current_users
;
468 [string,charset
(UTF16
)] uint16
*path
;
469 [string,charset
(UTF16
)] uint16
*password
;
471 } srvsvc_NetShareInfo502
;
475 [size_is(count
)] srvsvc_NetShareInfo502
*array
;
476 } srvsvc_NetShareCtr502
;
479 [string,charset
(UTF16
)] uint16
*comment
;
480 } srvsvc_NetShareInfo1004
;
484 [size_is(count
)] srvsvc_NetShareInfo1004
*array
;
485 } srvsvc_NetShareCtr1004
;
488 SHARE_1005_IN_DFS
= 0x00000001,
489 SHARE_1005_DFS_ROOT
= 0x00000002
490 } NetShareInfo1005Flags
;
492 const uint32 SHARE_1005_CSC_POLICY_MASK
= 0x00000030;
493 const uint32 SHARE_1005_CSC_POLICY_SHIFT
= 4;
496 NetShareInfo1005Flags dfs_flags
;
497 } srvsvc_NetShareInfo1005
;
501 [size_is(count
)] srvsvc_NetShareInfo1005
*array
;
502 } srvsvc_NetShareCtr1005
;
506 } srvsvc_NetShareInfo1006
;
510 [size_is(count
)] srvsvc_NetShareInfo1006
*array
;
511 } srvsvc_NetShareCtr1006
;
515 [string,charset
(UTF16
)] uint16
*alternate_directory_name
;
516 } srvsvc_NetShareInfo1007
;
520 [size_is(count
)] srvsvc_NetShareInfo1007
*array
;
521 } srvsvc_NetShareCtr1007
;
525 [size_is(count
)] sec_desc_buf
*array
;
526 } srvsvc_NetShareCtr1501
;
529 [case(0)] srvsvc_NetShareInfo0
*info0
;
530 [case(1)] srvsvc_NetShareInfo1
*info1
;
531 [case(2)] srvsvc_NetShareInfo2
*info2
;
532 [case(501)] srvsvc_NetShareInfo501
*info501
;
533 [case(502)] srvsvc_NetShareInfo502
*info502
;
534 [case(1004)] srvsvc_NetShareInfo1004
*info1004
;
535 [case(1005)] srvsvc_NetShareInfo1005
*info1005
;
536 [case(1006)] srvsvc_NetShareInfo1006
*info1006
;
537 [case(1007)] srvsvc_NetShareInfo1007
*info1007
;
538 [case(1501)] sec_desc_buf
*info1501
;
540 } srvsvc_NetShareInfo
;
543 [case(0)] srvsvc_NetShareCtr0
*ctr0
;
544 [case(1)] srvsvc_NetShareCtr1
*ctr1
;
545 [case(2)] srvsvc_NetShareCtr2
*ctr2
;
546 [case(501)] srvsvc_NetShareCtr501
*ctr501
;
547 [case(502)] srvsvc_NetShareCtr502
*ctr502
;
548 [case(1004)] srvsvc_NetShareCtr1004
*ctr1004
;
549 [case(1005)] srvsvc_NetShareCtr1005
*ctr1005
;
550 [case(1006)] srvsvc_NetShareCtr1006
*ctr1006
;
551 [case(1007)] srvsvc_NetShareCtr1007
*ctr1007
;
552 [case(1501)] srvsvc_NetShareCtr1501
*ctr1501
;
554 } srvsvc_NetShareCtr
;
558 [switch_is(level
)] srvsvc_NetShareCtr ctr
;
559 } srvsvc_NetShareInfoCtr
;
563 WERROR srvsvc_NetShareAdd
(
564 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
566 [in,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
,
567 [in,out,unique] uint32
*parm_error
572 WERROR srvsvc_NetShareEnumAll
(
573 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
574 [in,out,ref] srvsvc_NetShareInfoCtr
*info_ctr
,
575 [in] uint32 max_buffer
,
576 [out,ref] uint32
*totalentries
,
577 [in,out,unique] uint32
*resume_handle
582 WERROR srvsvc_NetShareGetInfo
(
583 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
584 [in] [string,charset
(UTF16
)] uint16 share_name
[],
586 [out,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
591 WERROR srvsvc_NetShareSetInfo
(
592 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
593 [in] [string,charset
(UTF16
)] uint16 share_name
[],
595 [in,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
,
596 [in,out,unique] uint32
*parm_error
601 WERROR srvsvc_NetShareDel
(
602 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
603 [in] [string,charset
(UTF16
)] uint16 share_name
[],
609 WERROR srvsvc_NetShareDelSticky
(
610 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
611 [in] [string,charset
(UTF16
)] uint16 share_name
[],
617 WERROR srvsvc_NetShareCheck
(
618 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
619 [in] [string,charset
(UTF16
)] uint16 device_name
[],
620 [out,ref] srvsvc_ShareType
*type
623 /**************************/
625 /**************************/
626 typedef [public,v1_enum] enum {
627 PLATFORM_ID_DOS
= 300,
628 PLATFORM_ID_OS2
= 400,
629 PLATFORM_ID_NT
= 500,
630 PLATFORM_ID_OSF
= 600,
631 PLATFORM_ID_VMS
= 700
635 srvsvc_PlatformId platform_id
;
636 [string,charset
(UTF16
)] uint16
*server_name
;
637 } srvsvc_NetSrvInfo100
;
640 srvsvc_PlatformId platform_id
;
641 [string,charset
(UTF16
)] uint16
*server_name
;
642 uint32 version_major
;
643 uint32 version_minor
;
644 svcctl_ServerType server_type
;
645 [string,charset
(UTF16
)] uint16
*comment
;
646 } srvsvc_NetSrvInfo101
;
649 srvsvc_PlatformId platform_id
;
650 [string,charset
(UTF16
)] uint16
*server_name
;
651 uint32 version_major
;
652 uint32 version_minor
;
653 svcctl_ServerType server_type
;
654 [string,charset
(UTF16
)] uint16
*comment
;
661 [string,charset
(UTF16
)] uint16
*userpath
;
662 } srvsvc_NetSrvInfo102
;
668 [string,charset
(UTF16
)] uint16
*alerts
;
672 [string,charset
(UTF16
)] uint16
*guestaccount
;
694 [string,charset
(UTF16
)] uint16
*srvheuristics
;
695 } srvsvc_NetSrvInfo402
;
701 [string,charset
(UTF16
)] uint16
*alerts
;
705 [string,charset
(UTF16
)] uint16
*guestaccount
;
727 [string,charset
(UTF16
)] uint16
*srvheuristics
;
728 uint32 auditedevents
;
730 [string,charset
(UTF16
)] uint16
*autopath
;
731 } srvsvc_NetSrvInfo403
;
738 uint32 initworkitems
;
745 uint32 maxpagedmemoryusage
;
746 uint32 maxnonpagedmemoryusage
;
747 uint32 enablesoftcompat
;
748 uint32 enableforcedlogoff
;
750 uint32 acceptdownlevelapis
;
752 } srvsvc_NetSrvInfo502
;
759 uint32 initworkitems
;
766 uint32 maxpagedmemoryusage
;
767 uint32 maxnonpagedmemoryusage
;
768 uint32 enablesoftcompat
;
769 uint32 enableforcedlogoff
;
771 uint32 acceptdownlevelapis
;
773 [string,charset
(UTF16
)] uint16
*domain
;
774 uint32 maxcopyreadlen
;
775 uint32 maxcopywritelen
;
776 uint32 minkeepsearch
;
777 uint32 maxkeepsearch
;
778 uint32 minkeepcomplsearch
;
779 uint32 maxkeepcomplsearch
;
780 uint32 threadcountadd
;
781 uint32 numlockthreads
;
784 uint32 minfreeworkitems
;
786 uint32 threadpriority
;
788 uint32 oplockbreakwait
;
789 uint32 oplockbreakresponsewait
;
790 uint32 enableoplocks
;
791 uint32 enableoplockforceclose
;
792 uint32 enablefcbopens
;
794 uint32 enablesharednetdrives
;
795 uint32 minfreeconnections
;
796 uint32 maxfreeconnections
;
797 } srvsvc_NetSrvInfo503
;
804 uint32 initworkitems
;
811 uint32 maxpagedmemoryusage
;
812 uint32 maxnonpagedmemoryusage
;
813 uint32 enablesoftcompat
;
814 uint32 enableforcedlogoff
;
816 uint32 acceptdownlevelapis
;
818 [string,charset
(UTF16
)] uint16
*domain
;
819 uint32 maxcopyreadlen
;
820 uint32 maxcopywritelen
;
821 uint32 minkeepsearch
;
822 uint32 minkeepcomplsearch
;
823 uint32 maxkeepcomplsearch
;
824 uint32 threadcountadd
;
825 uint32 numlockthreads
;
828 uint32 minfreeworkitems
;
830 uint32 threadpriority
;
832 uint32 oplockbreakwait
;
833 uint32 oplockbreakresponsewait
;
834 uint32 enableoplocks
;
835 uint32 enableoplockforceclose
;
836 uint32 enablefcbopens
;
838 uint32 enablesharednetdrives
;
839 uint32 minfreeconnections
;
840 uint32 maxfreeconnections
;
841 uint32 initsesstable
;
842 uint32 initconntable
;
843 uint32 initfiletable
;
844 uint32 initsearchtable
;
846 uint32 errortreshold
;
847 uint32 networkerrortreshold
;
848 uint32 diskspacetreshold
;
851 uint32 minlinkthroughput
;
852 uint32 linkinfovalidtime
;
853 uint32 scavqosinfoupdatetime
;
854 uint32 maxworkitemidletime
;
855 } srvsvc_NetSrvInfo599
;
858 [string,charset
(UTF16
)] uint16
*comment
;
859 } srvsvc_NetSrvInfo1005
;
863 } srvsvc_NetSrvInfo1010
;
867 } srvsvc_NetSrvInfo1016
;
871 } srvsvc_NetSrvInfo1017
;
875 } srvsvc_NetSrvInfo1018
;
879 } srvsvc_NetSrvInfo1107
;
883 } srvsvc_NetSrvInfo1501
;
887 } srvsvc_NetSrvInfo1502
;
891 } srvsvc_NetSrvInfo1503
;
895 } srvsvc_NetSrvInfo1506
;
899 } srvsvc_NetSrvInfo1509
;
903 } srvsvc_NetSrvInfo1510
;
907 } srvsvc_NetSrvInfo1511
;
910 uint32 maxnonpagedmemoryusage
;
911 } srvsvc_NetSrvInfo1512
;
914 uint32 maxpagedmemoryusage
;
915 } srvsvc_NetSrvInfo1513
;
918 uint32 enablesoftcompat
;
919 } srvsvc_NetSrvInfo1514
;
922 uint32 enableforcedlogoff
;
923 } srvsvc_NetSrvInfo1515
;
927 } srvsvc_NetSrvInfo1516
;
931 } srvsvc_NetSrvInfo1518
;
934 uint32 maxcopyreadlen
;
935 } srvsvc_NetSrvInfo1520
;
938 uint32 maxcopywritelen
;
939 } srvsvc_NetSrvInfo1521
;
942 uint32 minkeepsearch
;
943 } srvsvc_NetSrvInfo1522
;
946 uint32 maxkeepsearch
;
947 } srvsvc_NetSrvInfo1523
;
950 uint32 minkeepcomplsearch
;
951 } srvsvc_NetSrvInfo1524
;
954 uint32 maxkeepcomplsearch
;
955 } srvsvc_NetSrvInfo1525
;
959 } srvsvc_NetSrvInfo1528
;
963 } srvsvc_NetSrvInfo1529
;
966 uint32 minfreeworkitems
;
967 } srvsvc_NetSrvInfo1530
;
971 } srvsvc_NetSrvInfo1533
;
974 uint32 oplockbreakwait
;
975 } srvsvc_NetSrvInfo1534
;
978 uint32 oplockbreakresponsewait
;
979 } srvsvc_NetSrvInfo1535
;
982 uint32 enableoplocks
;
983 } srvsvc_NetSrvInfo1536
;
986 uint32 enableoplockforceclose
;
987 } srvsvc_NetSrvInfo1537
;
990 uint32 enablefcbopens
;
991 } srvsvc_NetSrvInfo1538
;
995 } srvsvc_NetSrvInfo1539
;
998 uint32 enablesharednetdrives
;
999 } srvsvc_NetSrvInfo1540
;
1002 uint32 minfreeconnections
;
1003 } srvsvc_NetSrvInfo1541
;
1006 uint32 maxfreeconnections
;
1007 } srvsvc_NetSrvInfo1542
;
1010 uint32 initsesstable
;
1011 } srvsvc_NetSrvInfo1543
;
1014 uint32 initconntable
;
1015 } srvsvc_NetSrvInfo1544
;
1018 uint32 initfiletable
;
1019 } srvsvc_NetSrvInfo1545
;
1022 uint32 initsearchtable
;
1023 } srvsvc_NetSrvInfo1546
;
1027 } srvsvc_NetSrvInfo1547
;
1030 uint32 errortreshold
;
1031 } srvsvc_NetSrvInfo1548
;
1034 uint32 networkerrortreshold
;
1035 } srvsvc_NetSrvInfo1549
;
1038 uint32 diskspacetreshold
;
1039 } srvsvc_NetSrvInfo1550
;
1042 uint32 maxlinkdelay
;
1043 } srvsvc_NetSrvInfo1552
;
1046 uint32 minlinkthroughput
;
1047 } srvsvc_NetSrvInfo1553
;
1050 uint32 linkinfovalidtime
;
1051 } srvsvc_NetSrvInfo1554
;
1054 uint32 scavqosinfoupdatetime
;
1055 } srvsvc_NetSrvInfo1555
;
1058 uint32 maxworkitemidletime
;
1059 } srvsvc_NetSrvInfo1556
;
1063 [case(100)] srvsvc_NetSrvInfo100
*info100
;
1064 [case(101)] srvsvc_NetSrvInfo101
*info101
;
1065 [case(102)] srvsvc_NetSrvInfo102
*info102
;
1066 [case(402)] srvsvc_NetSrvInfo402
*info402
;
1067 [case(403)] srvsvc_NetSrvInfo403
*info403
;
1068 [case(502)] srvsvc_NetSrvInfo502
*info502
;
1069 [case(503)] srvsvc_NetSrvInfo503
*info503
;
1070 [case(599)] srvsvc_NetSrvInfo599
*info599
;
1071 [case(1005)] srvsvc_NetSrvInfo1005
*info1005
;
1072 [case(1010)] srvsvc_NetSrvInfo1010
*info1010
;
1073 [case(1016)] srvsvc_NetSrvInfo1016
*info1016
;
1074 [case(1017)] srvsvc_NetSrvInfo1017
*info1017
;
1075 [case(1018)] srvsvc_NetSrvInfo1018
*info1018
;
1076 [case(1107)] srvsvc_NetSrvInfo1107
*info1107
;
1077 [case(1501)] srvsvc_NetSrvInfo1501
*info1501
;
1078 [case(1502)] srvsvc_NetSrvInfo1502
*info1502
;
1079 [case(1503)] srvsvc_NetSrvInfo1503
*info1503
;
1080 [case(1506)] srvsvc_NetSrvInfo1506
*info1506
;
1081 [case(1509)] srvsvc_NetSrvInfo1509
*info1509
;
1082 [case(1510)] srvsvc_NetSrvInfo1510
*info1510
;
1083 [case(1511)] srvsvc_NetSrvInfo1511
*info1511
;
1084 [case(1512)] srvsvc_NetSrvInfo1512
*info1512
;
1085 [case(1513)] srvsvc_NetSrvInfo1513
*info1513
;
1086 [case(1514)] srvsvc_NetSrvInfo1514
*info1514
;
1087 [case(1515)] srvsvc_NetSrvInfo1515
*info1515
;
1088 [case(1516)] srvsvc_NetSrvInfo1516
*info1516
;
1089 [case(1518)] srvsvc_NetSrvInfo1518
*info1518
;
1090 [case(1520)] srvsvc_NetSrvInfo1520
*info1520
;
1091 [case(1521)] srvsvc_NetSrvInfo1521
*info1521
;
1092 [case(1522)] srvsvc_NetSrvInfo1522
*info1522
;
1093 [case(1523)] srvsvc_NetSrvInfo1523
*info1523
;
1094 [case(1524)] srvsvc_NetSrvInfo1524
*info1524
;
1095 [case(1525)] srvsvc_NetSrvInfo1525
*info1525
;
1096 [case(1528)] srvsvc_NetSrvInfo1528
*info1528
;
1097 [case(1529)] srvsvc_NetSrvInfo1529
*info1529
;
1098 [case(1530)] srvsvc_NetSrvInfo1530
*info1530
;
1099 [case(1533)] srvsvc_NetSrvInfo1533
*info1533
;
1100 [case(1534)] srvsvc_NetSrvInfo1534
*info1534
;
1101 [case(1535)] srvsvc_NetSrvInfo1535
*info1535
;
1102 [case(1536)] srvsvc_NetSrvInfo1536
*info1536
;
1103 [case(1537)] srvsvc_NetSrvInfo1537
*info1537
;
1104 [case(1538)] srvsvc_NetSrvInfo1538
*info1538
;
1105 [case(1539)] srvsvc_NetSrvInfo1539
*info1539
;
1106 [case(1540)] srvsvc_NetSrvInfo1540
*info1540
;
1107 [case(1541)] srvsvc_NetSrvInfo1541
*info1541
;
1108 [case(1542)] srvsvc_NetSrvInfo1542
*info1542
;
1109 [case(1543)] srvsvc_NetSrvInfo1543
*info1543
;
1110 [case(1544)] srvsvc_NetSrvInfo1544
*info1544
;
1111 [case(1545)] srvsvc_NetSrvInfo1545
*info1545
;
1112 [case(1546)] srvsvc_NetSrvInfo1546
*info1546
;
1113 [case(1547)] srvsvc_NetSrvInfo1547
*info1547
;
1114 [case(1548)] srvsvc_NetSrvInfo1548
*info1548
;
1115 [case(1549)] srvsvc_NetSrvInfo1549
*info1549
;
1116 [case(1550)] srvsvc_NetSrvInfo1550
*info1550
;
1117 [case(1552)] srvsvc_NetSrvInfo1552
*info1552
;
1118 [case(1553)] srvsvc_NetSrvInfo1553
*info1553
;
1119 [case(1554)] srvsvc_NetSrvInfo1554
*info1554
;
1120 [case(1555)] srvsvc_NetSrvInfo1555
*info1555
;
1121 [case(1556)] srvsvc_NetSrvInfo1556
*info1556
;
1123 } srvsvc_NetSrvInfo
;
1125 /******************/
1126 /* Function: 0x15 */
1127 WERROR srvsvc_NetSrvGetInfo
(
1128 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1130 [out,ref,switch_is(level
)] srvsvc_NetSrvInfo
*info
1133 /******************/
1134 /* Function: 0x16 */
1135 WERROR srvsvc_NetSrvSetInfo
(
1136 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1138 [in,ref,switch_is(level
)] srvsvc_NetSrvInfo
*info
,
1139 [in,out,unique] uint32
*parm_error
1142 /**************************/
1143 /* srvsvc_NetDisk */
1144 /**************************/
1146 [flag
(STR_LEN4
)] string disk
;
1147 } srvsvc_NetDiskInfo0
;
1151 [size_is(count
), length_is(count
)] srvsvc_NetDiskInfo0
*disks
;
1152 } srvsvc_NetDiskInfo
;
1154 /******************/
1155 /* Function: 0x17 */
1156 WERROR srvsvc_NetDiskEnum
(
1157 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1159 [in,out,ref] srvsvc_NetDiskInfo
*info
,
1161 [out,ref] uint32
*totalentries
,
1162 [in,out,unique] uint32
*resume_handle
1165 /**************************/
1166 /* srvsvc_NetStatistics */
1167 /**************************/
1179 uint32 bytessent_low
;
1180 uint32 bytessent_high
;
1181 uint32 bytesrcvd_low
;
1182 uint32 bytesrcvd_high
;
1186 } srvsvc_Statistics
;
1188 /******************/
1189 /* Function: 0x18 */
1190 WERROR srvsvc_NetServerStatisticsGet
(
1191 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1192 [in,unique] [string,charset
(UTF16
)] uint16
*service
,
1194 [in] uint32 options
,
1195 [out,ref] srvsvc_Statistics
*stats
1198 /**************************/
1199 /* srvsvc_NetTransport */
1200 /**************************/
1203 [string,charset
(UTF16
)] uint16
*name
;
1204 [size_is(addr_len
)] uint8
*addr
;
1206 [string,charset
(UTF16
)] uint16
*net_addr
;
1207 } srvsvc_NetTransportInfo0
;
1209 /******************/
1210 /* Function: 0x19 */
1211 WERROR srvsvc_NetTransportAdd
(
1212 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1214 [in,switch_is(level
)] srvsvc_NetTransportInfo info
1219 [size_is(count
)] srvsvc_NetTransportInfo0
*array
;
1220 } srvsvc_NetTransportCtr0
;
1224 [string,charset
(UTF16
)] uint16
*name
;
1225 [size_is(addr_len
)] uint8
*addr
;
1227 [string,charset
(UTF16
)] uint16
*net_addr
;
1228 [string,charset
(UTF16
)] uint16
*domain
;
1229 } srvsvc_NetTransportInfo1
;
1233 [size_is(count
)] srvsvc_NetTransportInfo1
*array
;
1234 } srvsvc_NetTransportCtr1
;
1238 [string,charset
(UTF16
)] uint16
*name
;
1239 [size_is(addr_len
)] uint8
*addr
;
1241 [string,charset
(UTF16
)] uint16
*net_addr
;
1242 [string,charset
(UTF16
)] uint16
*domain
;
1244 } srvsvc_NetTransportInfo2
;
1248 [size_is(count
)] srvsvc_NetTransportInfo2
*array
;
1249 } srvsvc_NetTransportCtr2
;
1253 [string,charset
(UTF16
)] uint16
*name
;
1254 [size_is(addr_len
)] uint8
*addr
;
1256 [string,charset
(UTF16
)] uint16
*net_addr
;
1257 [string,charset
(UTF16
)] uint16
*domain
;
1260 uint8 unknown3
[256];
1261 } srvsvc_NetTransportInfo3
;
1265 [size_is(count
)] srvsvc_NetTransportInfo3
*array
;
1266 } srvsvc_NetTransportCtr3
;
1269 [case(0)] srvsvc_NetTransportCtr0
*ctr0
;
1270 [case(1)] srvsvc_NetTransportCtr1
*ctr1
;
1271 [case(2)] srvsvc_NetTransportCtr2
*ctr2
;
1272 [case(3)] srvsvc_NetTransportCtr3
*ctr3
;
1274 } srvsvc_NetTransportCtr
;
1276 /******************/
1277 /* Function: 0x1a */
1278 WERROR srvsvc_NetTransportEnum
(
1279 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1280 [in,out,ref] uint32
*level
,
1281 [in,out,ref,switch_is(*level
)] srvsvc_NetTransportCtr
*transports
,
1282 [in] uint32 max_buffer
,
1283 [out,ref] uint32
*totalentries
,
1284 [in,out,unique] uint32
*resume_handle
1287 /******************/
1288 /* Function: 0x1b */
1289 WERROR srvsvc_NetTransportDel
(
1290 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1291 [in] uint32 unknown
,
1292 [in] srvsvc_NetTransportInfo0 transport
1295 /**************************/
1296 /* srvsvc_NetRemoteTOD */
1297 /**************************/
1299 uint32 elapsed
; /* time(NULL) */
1300 uint32 msecs
; /* milliseconds till system reboot (uptime) */
1305 int32 timezone
; /* in minutes */
1306 uint32 tinterval
; /* clock tick interval in 0.0001 second units; 310 on windows */
1311 } srvsvc_NetRemoteTODInfo
;
1313 /******************/
1314 /* Function: 0x1c */
1315 WERROR srvsvc_NetRemoteTOD
(
1316 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1317 [out,ref] srvsvc_NetRemoteTODInfo
**info
1320 /**************************/
1321 /* srvsvc_NetServiceBits */
1322 /**************************/
1323 /******************/
1324 /* Function: 0x1d */
1325 WERROR srvsvc_NetSetServiceBits
(
1326 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1327 [in,unique] [string,charset
(UTF16
)] uint16
*transport
,
1328 [in] uint32 servicebits
,
1329 [in] uint32 updateimmediately
1332 /**************************/
1333 /* srvsvc_NetPath */
1334 /**************************/
1335 /******************/
1336 /* Function: 0x1e */
1337 WERROR srvsvc_NetPathType
(
1338 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1339 [in] [string,charset
(UTF16
)] uint16 path
[],
1340 [in] uint32 pathflags
,
1341 [out,ref] uint32
*pathtype
1344 /******************/
1345 /* Function: 0x1f */
1346 WERROR srvsvc_NetPathCanonicalize
(
1347 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1348 [in] [string,charset
(UTF16
)] uint16 path
[],
1349 [out] [size_is(maxbuf
)] uint8 can_path
[],
1351 [in] [string,charset
(UTF16
)] uint16 prefix
[],
1352 [in,out,ref] uint32
*pathtype
,
1353 [in] uint32 pathflags
1356 /******************/
1357 /* Function: 0x20 */
1358 WERROR srvsvc_NetPathCompare
(
1359 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1360 [in] [string,charset
(UTF16
)] uint16 path1
[],
1361 [in] [string,charset
(UTF16
)] uint16 path2
[],
1362 [in] uint32 pathtype
,
1363 [in] uint32 pathflags
1366 /**************************/
1367 /* srvsvc_NetName */
1368 /**************************/
1369 /******************/
1370 /* Function: 0x21 */
1371 WERROR srvsvc_NetNameValidate
(
1372 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1373 [in] [string,charset
(UTF16
)] uint16 name
[],
1374 [in] uint32 name_type
,
1378 /******************/
1379 /* Function: 0x22 */
1380 WERROR srvsvc_NETRPRNAMECANONICALIZE
(
1383 /******************/
1384 /* Function: 0x23 */
1385 WERROR srvsvc_NetPRNameCompare
(
1386 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1387 [in] [string,charset
(UTF16
)] uint16 name1
[],
1388 [in] [string,charset
(UTF16
)] uint16 name2
[],
1389 [in] uint32 name_type
,
1393 /**************************/
1394 /* srvsvc_NetShare ... */
1395 /**************************/
1396 /******************/
1397 /* Function: 0x24 */
1398 /* Note, there must be some way to return entries read vs
1399 total entries ... */
1400 WERROR srvsvc_NetShareEnum
(
1401 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1402 [in,out,ref] srvsvc_NetShareInfoCtr
*info_ctr
,
1403 [in] uint32 max_buffer
,
1404 [out,ref] uint32
*totalentries
,
1405 [in,out,unique] uint32
*resume_handle
1408 /******************/
1409 /* Function: 0x25 */
1410 WERROR srvsvc_NetShareDelStart
(
1411 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1412 [in] [string,charset
(UTF16
)] uint16 share
[],
1413 [in] uint32 reserved
,
1414 [out,unique] policy_handle
*hnd
1417 /******************/
1418 /* Function: 0x26 */
1419 WERROR srvsvc_NetShareDelCommit
(
1420 [in, out,unique] policy_handle
*hnd
1423 /******************/
1424 /* Function: 0x27 */
1425 WERROR srvsvc_NetGetFileSecurity
(
1426 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1427 [in,unique] [string,charset
(UTF16
)] uint16
*share
,
1428 [in] [string,charset
(UTF16
)] uint16 file
[],
1429 [in] security_secinfo securityinformation
,
1430 [out,ref] sec_desc_buf
**sd_buf
1433 /******************/
1434 /* Function: 0x28 */
1435 WERROR srvsvc_NetSetFileSecurity
(
1436 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1437 [in,unique] [string,charset
(UTF16
)] uint16
*share
,
1438 [in] [string,charset
(UTF16
)] uint16 file
[],
1439 [in] security_secinfo securityinformation
,
1440 [in,ref] sec_desc_buf
*sd_buf
1445 typedef [switch_type(uint32
)] union {
1446 [case(0)] srvsvc_NetTransportInfo0 info0
;
1447 [case(1)] srvsvc_NetTransportInfo1 info1
;
1448 [case(2)] srvsvc_NetTransportInfo2 info2
;
1449 [case(3)] srvsvc_NetTransportInfo3 info3
;
1450 } srvsvc_NetTransportInfo
;
1452 /******************/
1453 /* Function: 0x29 */
1454 WERROR srvsvc_NetServerTransportAddEx
(
1455 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1457 [in,switch_is(level
)] srvsvc_NetTransportInfo info
1460 /******************/
1461 /* Function: 0x2a */
1462 WERROR srvsvc_NetServerSetServiceBitsEx
(
1463 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1464 [in,unique] [string,charset
(UTF16
)] uint16
*emulated_server_unc
,
1465 [in,unique] [string,charset
(UTF16
)] uint16
*transport
,
1466 [in] uint32 servicebitsofinterest
,
1467 [in] uint32 servicebits
,
1468 [in] uint32 updateimmediately
1471 /******************/
1472 /* Function: 0x2b */
1473 WERROR srvsvc_NETRDFSGETVERSION
(
1476 /******************/
1477 /* Function: 0x2c */
1478 WERROR srvsvc_NETRDFSCREATELOCALPARTITION
(
1481 /******************/
1482 /* Function: 0x2d */
1483 WERROR srvsvc_NETRDFSDELETELOCALPARTITION
(
1486 /******************/
1487 /* Function: 0x2e */
1488 WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE
(
1491 /******************/
1492 /* Function: 0x2f */
1493 WERROR srvsvc_NETRDFSSETSERVERINFO
(
1496 /******************/
1497 /* Function: 0x30 */
1498 WERROR srvsvc_NETRDFSCREATEEXITPOINT
(
1501 /******************/
1502 /* Function: 0x31 */
1503 WERROR srvsvc_NETRDFSDELETEEXITPOINT
(
1506 /******************/
1507 /* Function: 0x32 */
1508 WERROR srvsvc_NETRDFSMODIFYPREFIX
(
1511 /******************/
1512 /* Function: 0x33 */
1513 WERROR srvsvc_NETRDFSFIXLOCALVOLUME
(
1516 /******************/
1517 /* Function: 0x34 */
1518 WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO
(
1521 /******************/
1522 /* Function: 0x35 */
1523 WERROR srvsvc_NETRSERVERTRANSPORTDELEX
(