4 srvsvc interface definitions
6 import
"misc.idl", "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,ref] srvsvc_NetConnInfoCtr
*info_ctr
,
218 [in] uint32 max_buffer
,
219 [out,ref] uint32
*totalentries
,
220 [in,out,unique] uint32
*resume_handle
223 /**************************/
225 /**************************/
228 } srvsvc_NetFileInfo2
;
232 [size_is(count
)] srvsvc_NetFileInfo2
*array
;
233 } srvsvc_NetFileCtr2
;
239 [string,charset
(UTF16
)] uint16
*path
;
240 [string,charset
(UTF16
)] uint16
*user
;
241 } srvsvc_NetFileInfo3
;
245 [size_is(count
)] srvsvc_NetFileInfo3
*array
;
246 } srvsvc_NetFileCtr3
;
249 [case(2)] srvsvc_NetFileInfo2
*info2
;
250 [case(3)] srvsvc_NetFileInfo3
*info3
;
252 } srvsvc_NetFileInfo
;
255 [case(2)] srvsvc_NetFileCtr2
*ctr2
;
256 [case(3)] srvsvc_NetFileCtr3
*ctr3
;
262 [switch_is(level
)] srvsvc_NetFileCtr ctr
;
263 } srvsvc_NetFileInfoCtr
;
267 WERROR srvsvc_NetFileEnum
(
268 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
269 [in,unique] [string,charset
(UTF16
)] uint16
*path
,
270 [in,unique] [string,charset
(UTF16
)] uint16
*user
,
271 [in,out,ref] srvsvc_NetFileInfoCtr
*info_ctr
,
272 [in] uint32 max_buffer
,
273 [out,ref] uint32
*totalentries
,
274 [in,out,unique] uint32
*resume_handle
279 WERROR srvsvc_NetFileGetInfo
(
280 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
283 [out,switch_is(level
),ref] srvsvc_NetFileInfo
*info
288 WERROR srvsvc_NetFileClose
(
289 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
293 /**************************/
295 /**************************/
297 [string,charset
(UTF16
)] uint16
*client
;
298 } srvsvc_NetSessInfo0
;
302 [size_is(count
)] srvsvc_NetSessInfo0
*array
;
303 } srvsvc_NetSessCtr0
;
306 [string,charset
(UTF16
)] uint16
*client
;
307 [string,charset
(UTF16
)] uint16
*user
;
312 } srvsvc_NetSessInfo1
;
316 [size_is(count
)] srvsvc_NetSessInfo1
*array
;
317 } srvsvc_NetSessCtr1
;
320 [string,charset
(UTF16
)] uint16
*client
;
321 [string,charset
(UTF16
)] uint16
*user
;
326 [string,charset
(UTF16
)] uint16
*client_type
;
327 } srvsvc_NetSessInfo2
;
331 [size_is(count
)] srvsvc_NetSessInfo2
*array
;
332 } srvsvc_NetSessCtr2
;
335 [string,charset
(UTF16
)] uint16
*client
;
336 [string,charset
(UTF16
)] uint16
*user
;
339 } srvsvc_NetSessInfo10
;
343 [size_is(count
)] srvsvc_NetSessInfo10
*array
;
344 } srvsvc_NetSessCtr10
;
347 [string,charset
(UTF16
)] uint16
*client
;
348 [string,charset
(UTF16
)] uint16
*user
;
353 [string,charset
(UTF16
)] uint16
*client_type
;
354 [string,charset
(UTF16
)] uint16
*transport
;
355 } srvsvc_NetSessInfo502
;
359 [size_is(count
)] srvsvc_NetSessInfo502
*array
;
360 } srvsvc_NetSessCtr502
;
363 [case(0)] srvsvc_NetSessCtr0
*ctr0
;
364 [case(1)] srvsvc_NetSessCtr1
*ctr1
;
365 [case(2)] srvsvc_NetSessCtr2
*ctr2
;
366 [case(10)] srvsvc_NetSessCtr10
*ctr10
;
367 [case(502)] srvsvc_NetSessCtr502
*ctr502
;
376 [switch_is(level
)] srvsvc_NetSessCtr ctr
;
377 } srvsvc_NetSessInfoCtr
;
379 WERROR srvsvc_NetSessEnum
(
380 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
381 [in,unique] [string,charset
(UTF16
)] uint16
*client
,
382 [in,unique] [string,charset
(UTF16
)] uint16
*user
,
383 [in,out,ref] srvsvc_NetSessInfoCtr
*info_ctr
,
384 [in] uint32 max_buffer
,
385 [out,ref] uint32
*totalentries
,
386 [in,out,unique] uint32
*resume_handle
391 WERROR srvsvc_NetSessDel
(
392 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
393 [in,unique] [string,charset
(UTF16
)] uint16
*client
,
394 [in,unique] [string,charset
(UTF16
)] uint16
*user
397 /**************************/
398 /* srvsvc_NetShare */
399 /**************************/
402 const uint32 STYPE_TEMPORARY
= 0x40000000; /* share is a temporary one */
403 const uint32 STYPE_HIDDEN
= 0x80000000; /* share is a hidden one */
405 typedef [v1_enum, flag
(NDR_PAHEX
)] enum {
407 STYPE_DISKTREE_TEMPORARY
= STYPE_DISKTREE|STYPE_TEMPORARY
,
408 STYPE_DISKTREE_HIDDEN
= STYPE_DISKTREE|STYPE_HIDDEN
,
410 STYPE_PRINTQ_TEMPORARY
= STYPE_PRINTQ|STYPE_TEMPORARY
,
411 STYPE_PRINTQ_HIDDEN
= STYPE_PRINTQ|STYPE_HIDDEN
,
412 STYPE_DEVICE
= 2, /* Serial device */
413 STYPE_DEVICE_TEMPORARY
= STYPE_DEVICE|STYPE_TEMPORARY
,
414 STYPE_DEVICE_HIDDEN
= STYPE_DEVICE|STYPE_HIDDEN
,
415 STYPE_IPC
= 3, /* Interprocess communication (IPC) */
416 STYPE_IPC_TEMPORARY
= STYPE_IPC|STYPE_TEMPORARY
,
417 STYPE_IPC_HIDDEN
= STYPE_IPC|STYPE_HIDDEN
421 [string,charset
(UTF16
)] uint16
*name
;
422 } srvsvc_NetShareInfo0
;
426 [size_is(count
)] srvsvc_NetShareInfo0
*array
;
427 } srvsvc_NetShareCtr0
;
430 [string,charset
(UTF16
)] uint16
*name
;
431 srvsvc_ShareType type
;
432 [string,charset
(UTF16
)] uint16
*comment
;
433 } srvsvc_NetShareInfo1
;
437 [size_is(count
)] srvsvc_NetShareInfo1
*array
;
438 } srvsvc_NetShareCtr1
;
441 [string,charset
(UTF16
)] uint16
*name
;
442 srvsvc_ShareType type
;
443 [string,charset
(UTF16
)] uint16
*comment
;
446 uint32 current_users
;
447 [string,charset
(UTF16
)] uint16
*path
;
448 [string,charset
(UTF16
)] uint16
*password
;
449 } srvsvc_NetShareInfo2
;
453 [size_is(count
)] srvsvc_NetShareInfo2
*array
;
454 } srvsvc_NetShareCtr2
;
457 [string,charset
(UTF16
)] uint16
*name
;
458 srvsvc_ShareType type
;
459 [string,charset
(UTF16
)] uint16
*comment
;
461 } srvsvc_NetShareInfo501
;
465 [size_is(count
)] srvsvc_NetShareInfo501
*array
;
466 } srvsvc_NetShareCtr501
;
469 [string,charset
(UTF16
)] uint16
*name
;
470 srvsvc_ShareType type
;
471 [string,charset
(UTF16
)] uint16
*comment
;
474 uint32 current_users
;
475 [string,charset
(UTF16
)] uint16
*path
;
476 [string,charset
(UTF16
)] uint16
*password
;
478 } srvsvc_NetShareInfo502
;
482 [size_is(count
)] srvsvc_NetShareInfo502
*array
;
483 } srvsvc_NetShareCtr502
;
486 [string,charset
(UTF16
)] uint16
*comment
;
487 } srvsvc_NetShareInfo1004
;
491 [size_is(count
)] srvsvc_NetShareInfo1004
*array
;
492 } srvsvc_NetShareCtr1004
;
494 const uint32 SHARE_1005_CSC_CACHE_MANUAL_REINT
= 0x00000000;
497 SHARE_1005_IN_DFS
= 0x00000001,
498 SHARE_1005_DFS_ROOT
= 0x00000002,
499 SHARE_1005_CSC_CACHE_AUTO_REINT
= 0x00000010,
500 SHARE_1005_CSC_CACHE_VDO
= 0x00000020,
501 SHARE_1005_CSC_CACHE_NONE
= 0x00000030,
502 SHARE_1005_RESTRICT_EXCLUSIVE_OPENS
= 0x00000100,
503 SHARE_1005_FORCE_SHARED_DELETE
= 0x00000200,
504 SHARE_1005_ALLOW_NAMESPACE_CACHING
= 0x00000400,
505 SHARE_1005_ACCESS_BASED_DIRECTORY_ENUM
= 0x00000800,
506 SHARE_1005_FORCE_LEVELII_OPLOCK
= 0x00001000,
507 SHARE_1005_ENABLE_HASH
= 0x00002000,
508 SHARE_1005_ENABLE_CA
= 0x00004000,
509 SHARE_1005_ENCRYPT_DATA
= 0x00008000
510 } NetShareInfo1005Flags
;
512 const uint32 SHARE_1005_CSC_POLICY_MASK
= 0x00000030;
513 const uint32 SHARE_1005_CSC_POLICY_SHIFT
= 4;
516 NetShareInfo1005Flags dfs_flags
;
517 } srvsvc_NetShareInfo1005
;
521 [size_is(count
)] srvsvc_NetShareInfo1005
*array
;
522 } srvsvc_NetShareCtr1005
;
526 } srvsvc_NetShareInfo1006
;
530 [size_is(count
)] srvsvc_NetShareInfo1006
*array
;
531 } srvsvc_NetShareCtr1006
;
535 [string,charset
(UTF16
)] uint16
*alternate_directory_name
;
536 } srvsvc_NetShareInfo1007
;
540 [size_is(count
)] srvsvc_NetShareInfo1007
*array
;
541 } srvsvc_NetShareCtr1007
;
545 [size_is(count
)] sec_desc_buf
*array
;
546 } srvsvc_NetShareCtr1501
;
549 [case(0)] srvsvc_NetShareInfo0
*info0
;
550 [case(1)] srvsvc_NetShareInfo1
*info1
;
551 [case(2)] srvsvc_NetShareInfo2
*info2
;
552 [case(501)] srvsvc_NetShareInfo501
*info501
;
553 [case(502)] srvsvc_NetShareInfo502
*info502
;
554 [case(1004)] srvsvc_NetShareInfo1004
*info1004
;
555 [case(1005)] srvsvc_NetShareInfo1005
*info1005
;
556 [case(1006)] srvsvc_NetShareInfo1006
*info1006
;
557 [case(1007)] srvsvc_NetShareInfo1007
*info1007
;
558 [case(1501)] sec_desc_buf
*info1501
;
560 } srvsvc_NetShareInfo
;
563 [case(0)] srvsvc_NetShareCtr0
*ctr0
;
564 [case(1)] srvsvc_NetShareCtr1
*ctr1
;
565 [case(2)] srvsvc_NetShareCtr2
*ctr2
;
566 [case(501)] srvsvc_NetShareCtr501
*ctr501
;
567 [case(502)] srvsvc_NetShareCtr502
*ctr502
;
568 [case(1004)] srvsvc_NetShareCtr1004
*ctr1004
;
569 [case(1005)] srvsvc_NetShareCtr1005
*ctr1005
;
570 [case(1006)] srvsvc_NetShareCtr1006
*ctr1006
;
571 [case(1007)] srvsvc_NetShareCtr1007
*ctr1007
;
572 [case(1501)] srvsvc_NetShareCtr1501
*ctr1501
;
574 } srvsvc_NetShareCtr
;
578 [switch_is(level
)] srvsvc_NetShareCtr ctr
;
579 } srvsvc_NetShareInfoCtr
;
583 WERROR srvsvc_NetShareAdd
(
584 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
586 [in,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
,
587 [in,out,unique] uint32
*parm_error
592 WERROR srvsvc_NetShareEnumAll
(
593 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
594 [in,out,ref] srvsvc_NetShareInfoCtr
*info_ctr
,
595 [in] uint32 max_buffer
,
596 [out,ref] uint32
*totalentries
,
597 [in,out,unique] uint32
*resume_handle
602 WERROR srvsvc_NetShareGetInfo
(
603 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
604 [in] [string,charset
(UTF16
)] uint16 share_name
[],
606 [out,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
611 WERROR srvsvc_NetShareSetInfo
(
612 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
613 [in] [string,charset
(UTF16
)] uint16 share_name
[],
615 [in,ref,switch_is(level
)] srvsvc_NetShareInfo
*info
,
616 [in,out,unique] uint32
*parm_error
621 WERROR srvsvc_NetShareDel
(
622 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
623 [in] [string,charset
(UTF16
)] uint16 share_name
[],
629 WERROR srvsvc_NetShareDelSticky
(
630 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
631 [in] [string,charset
(UTF16
)] uint16 share_name
[],
637 WERROR srvsvc_NetShareCheck
(
638 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
639 [in] [string,charset
(UTF16
)] uint16 device_name
[],
640 [out,ref] srvsvc_ShareType
*type
643 /**************************/
645 /**************************/
646 typedef [public,v1_enum] enum {
647 PLATFORM_ID_DOS
= 300,
648 PLATFORM_ID_OS2
= 400,
649 PLATFORM_ID_NT
= 500,
650 PLATFORM_ID_OSF
= 600,
651 PLATFORM_ID_VMS
= 700
654 typedef [public] struct {
655 srvsvc_PlatformId platform_id
;
656 [string,charset
(UTF16
)] uint16
*server_name
;
657 } srvsvc_NetSrvInfo100
;
659 typedef [public] struct {
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
;
666 } srvsvc_NetSrvInfo101
;
669 srvsvc_PlatformId platform_id
;
670 [string,charset
(UTF16
)] uint16
*server_name
;
671 uint32 version_major
;
672 uint32 version_minor
;
673 svcctl_ServerType server_type
;
674 [string,charset
(UTF16
)] uint16
*comment
;
681 [string,charset
(UTF16
)] uint16
*userpath
;
682 } srvsvc_NetSrvInfo102
;
688 [string,charset
(UTF16
)] uint16
*alerts
;
692 [string,charset
(UTF16
)] uint16
*guestaccount
;
715 [string,charset
(UTF16
)] uint16
*srvheuristics
;
716 } srvsvc_NetSrvInfo402
;
722 [string,charset
(UTF16
)] uint16
*alerts
;
726 [string,charset
(UTF16
)] uint16
*guestaccount
;
749 [string,charset
(UTF16
)] uint16
*srvheuristics
;
750 uint32 auditedevents
;
752 [string,charset
(UTF16
)] uint16
*autopath
;
753 } srvsvc_NetSrvInfo403
;
760 uint32 initworkitems
;
767 uint32 maxpagedmemoryusage
;
768 uint32 maxnonpagedmemoryusage
;
769 uint32 enablesoftcompat
;
770 uint32 enableforcedlogoff
;
772 uint32 acceptdownlevelapis
;
774 } srvsvc_NetSrvInfo502
;
781 uint32 initworkitems
;
788 uint32 maxpagedmemoryusage
;
789 uint32 maxnonpagedmemoryusage
;
790 uint32 enablesoftcompat
;
791 uint32 enableforcedlogoff
;
793 uint32 acceptdownlevelapis
;
795 [string,charset
(UTF16
)] uint16
*domain
;
796 uint32 maxcopyreadlen
;
797 uint32 maxcopywritelen
;
798 uint32 minkeepsearch
;
799 uint32 maxkeepsearch
;
800 uint32 minkeepcomplsearch
;
801 uint32 maxkeepcomplsearch
;
802 uint32 threadcountadd
;
803 uint32 numlockthreads
;
806 uint32 minfreeworkitems
;
808 uint32 threadpriority
;
810 uint32 oplockbreakwait
;
811 uint32 oplockbreakresponsewait
;
812 uint32 enableoplocks
;
813 uint32 enableoplockforceclose
;
814 uint32 enablefcbopens
;
816 uint32 enablesharednetdrives
;
817 uint32 minfreeconnections
;
818 uint32 maxfreeconnections
;
819 } srvsvc_NetSrvInfo503
;
826 uint32 initworkitems
;
833 uint32 maxpagedmemoryusage
;
834 uint32 maxnonpagedmemoryusage
;
835 uint32 enablesoftcompat
;
836 uint32 enableforcedlogoff
;
838 uint32 acceptdownlevelapis
;
840 [string,charset
(UTF16
)] uint16
*domain
;
841 uint32 maxcopyreadlen
;
842 uint32 maxcopywritelen
;
843 uint32 minkeepsearch
;
844 uint32 minkeepcomplsearch
;
845 uint32 maxkeepcomplsearch
;
846 uint32 threadcountadd
;
847 uint32 numlockthreads
;
850 uint32 minfreeworkitems
;
852 uint32 threadpriority
;
854 uint32 oplockbreakwait
;
855 uint32 oplockbreakresponsewait
;
856 uint32 enableoplocks
;
857 uint32 enableoplockforceclose
;
858 uint32 enablefcbopens
;
860 uint32 enablesharednetdrives
;
861 uint32 minfreeconnections
;
862 uint32 maxfreeconnections
;
863 uint32 initsesstable
;
864 uint32 initconntable
;
865 uint32 initfiletable
;
866 uint32 initsearchtable
;
868 uint32 errortreshold
;
869 uint32 networkerrortreshold
;
870 uint32 diskspacetreshold
;
873 uint32 minlinkthroughput
;
874 uint32 linkinfovalidtime
;
875 uint32 scavqosinfoupdatetime
;
876 uint32 maxworkitemidletime
;
877 } srvsvc_NetSrvInfo599
;
880 [string,charset
(UTF16
)] uint16
*comment
;
881 } srvsvc_NetSrvInfo1005
;
885 } srvsvc_NetSrvInfo1010
;
889 } srvsvc_NetSrvInfo1016
;
893 } srvsvc_NetSrvInfo1017
;
897 } srvsvc_NetSrvInfo1018
;
901 } srvsvc_NetSrvInfo1107
;
905 } srvsvc_NetSrvInfo1501
;
909 } srvsvc_NetSrvInfo1502
;
913 } srvsvc_NetSrvInfo1503
;
917 } srvsvc_NetSrvInfo1506
;
921 } srvsvc_NetSrvInfo1509
;
925 } srvsvc_NetSrvInfo1510
;
929 } srvsvc_NetSrvInfo1511
;
932 uint32 maxnonpagedmemoryusage
;
933 } srvsvc_NetSrvInfo1512
;
936 uint32 maxpagedmemoryusage
;
937 } srvsvc_NetSrvInfo1513
;
940 uint32 enablesoftcompat
;
941 } srvsvc_NetSrvInfo1514
;
944 uint32 enableforcedlogoff
;
945 } srvsvc_NetSrvInfo1515
;
949 } srvsvc_NetSrvInfo1516
;
953 } srvsvc_NetSrvInfo1518
;
956 uint32 maxcopyreadlen
;
957 } srvsvc_NetSrvInfo1520
;
960 uint32 maxcopywritelen
;
961 } srvsvc_NetSrvInfo1521
;
964 uint32 minkeepsearch
;
965 } srvsvc_NetSrvInfo1522
;
968 uint32 maxkeepsearch
;
969 } srvsvc_NetSrvInfo1523
;
972 uint32 minkeepcomplsearch
;
973 } srvsvc_NetSrvInfo1524
;
976 uint32 maxkeepcomplsearch
;
977 } srvsvc_NetSrvInfo1525
;
981 } srvsvc_NetSrvInfo1528
;
985 } srvsvc_NetSrvInfo1529
;
988 uint32 minfreeworkitems
;
989 } srvsvc_NetSrvInfo1530
;
993 } srvsvc_NetSrvInfo1533
;
996 uint32 oplockbreakwait
;
997 } srvsvc_NetSrvInfo1534
;
1000 uint32 oplockbreakresponsewait
;
1001 } srvsvc_NetSrvInfo1535
;
1004 uint32 enableoplocks
;
1005 } srvsvc_NetSrvInfo1536
;
1008 uint32 enableoplockforceclose
;
1009 } srvsvc_NetSrvInfo1537
;
1012 uint32 enablefcbopens
;
1013 } srvsvc_NetSrvInfo1538
;
1017 } srvsvc_NetSrvInfo1539
;
1020 uint32 enablesharednetdrives
;
1021 } srvsvc_NetSrvInfo1540
;
1024 uint32 minfreeconnections
;
1025 } srvsvc_NetSrvInfo1541
;
1028 uint32 maxfreeconnections
;
1029 } srvsvc_NetSrvInfo1542
;
1032 uint32 initsesstable
;
1033 } srvsvc_NetSrvInfo1543
;
1036 uint32 initconntable
;
1037 } srvsvc_NetSrvInfo1544
;
1040 uint32 initfiletable
;
1041 } srvsvc_NetSrvInfo1545
;
1044 uint32 initsearchtable
;
1045 } srvsvc_NetSrvInfo1546
;
1049 } srvsvc_NetSrvInfo1547
;
1052 uint32 errortreshold
;
1053 } srvsvc_NetSrvInfo1548
;
1056 uint32 networkerrortreshold
;
1057 } srvsvc_NetSrvInfo1549
;
1060 uint32 diskspacetreshold
;
1061 } srvsvc_NetSrvInfo1550
;
1064 uint32 maxlinkdelay
;
1065 } srvsvc_NetSrvInfo1552
;
1068 uint32 minlinkthroughput
;
1069 } srvsvc_NetSrvInfo1553
;
1072 uint32 linkinfovalidtime
;
1073 } srvsvc_NetSrvInfo1554
;
1076 uint32 scavqosinfoupdatetime
;
1077 } srvsvc_NetSrvInfo1555
;
1080 uint32 maxworkitemidletime
;
1081 } srvsvc_NetSrvInfo1556
;
1085 [case(100)] srvsvc_NetSrvInfo100
*info100
;
1086 [case(101)] srvsvc_NetSrvInfo101
*info101
;
1087 [case(102)] srvsvc_NetSrvInfo102
*info102
;
1088 [case(402)] srvsvc_NetSrvInfo402
*info402
;
1089 [case(403)] srvsvc_NetSrvInfo403
*info403
;
1090 [case(502)] srvsvc_NetSrvInfo502
*info502
;
1091 [case(503)] srvsvc_NetSrvInfo503
*info503
;
1092 [case(599)] srvsvc_NetSrvInfo599
*info599
;
1093 [case(1005)] srvsvc_NetSrvInfo1005
*info1005
;
1094 [case(1010)] srvsvc_NetSrvInfo1010
*info1010
;
1095 [case(1016)] srvsvc_NetSrvInfo1016
*info1016
;
1096 [case(1017)] srvsvc_NetSrvInfo1017
*info1017
;
1097 [case(1018)] srvsvc_NetSrvInfo1018
*info1018
;
1098 [case(1107)] srvsvc_NetSrvInfo1107
*info1107
;
1099 [case(1501)] srvsvc_NetSrvInfo1501
*info1501
;
1100 [case(1502)] srvsvc_NetSrvInfo1502
*info1502
;
1101 [case(1503)] srvsvc_NetSrvInfo1503
*info1503
;
1102 [case(1506)] srvsvc_NetSrvInfo1506
*info1506
;
1103 [case(1509)] srvsvc_NetSrvInfo1509
*info1509
;
1104 [case(1510)] srvsvc_NetSrvInfo1510
*info1510
;
1105 [case(1511)] srvsvc_NetSrvInfo1511
*info1511
;
1106 [case(1512)] srvsvc_NetSrvInfo1512
*info1512
;
1107 [case(1513)] srvsvc_NetSrvInfo1513
*info1513
;
1108 [case(1514)] srvsvc_NetSrvInfo1514
*info1514
;
1109 [case(1515)] srvsvc_NetSrvInfo1515
*info1515
;
1110 [case(1516)] srvsvc_NetSrvInfo1516
*info1516
;
1111 [case(1518)] srvsvc_NetSrvInfo1518
*info1518
;
1112 [case(1520)] srvsvc_NetSrvInfo1520
*info1520
;
1113 [case(1521)] srvsvc_NetSrvInfo1521
*info1521
;
1114 [case(1522)] srvsvc_NetSrvInfo1522
*info1522
;
1115 [case(1523)] srvsvc_NetSrvInfo1523
*info1523
;
1116 [case(1524)] srvsvc_NetSrvInfo1524
*info1524
;
1117 [case(1525)] srvsvc_NetSrvInfo1525
*info1525
;
1118 [case(1528)] srvsvc_NetSrvInfo1528
*info1528
;
1119 [case(1529)] srvsvc_NetSrvInfo1529
*info1529
;
1120 [case(1530)] srvsvc_NetSrvInfo1530
*info1530
;
1121 [case(1533)] srvsvc_NetSrvInfo1533
*info1533
;
1122 [case(1534)] srvsvc_NetSrvInfo1534
*info1534
;
1123 [case(1535)] srvsvc_NetSrvInfo1535
*info1535
;
1124 [case(1536)] srvsvc_NetSrvInfo1536
*info1536
;
1125 [case(1537)] srvsvc_NetSrvInfo1537
*info1537
;
1126 [case(1538)] srvsvc_NetSrvInfo1538
*info1538
;
1127 [case(1539)] srvsvc_NetSrvInfo1539
*info1539
;
1128 [case(1540)] srvsvc_NetSrvInfo1540
*info1540
;
1129 [case(1541)] srvsvc_NetSrvInfo1541
*info1541
;
1130 [case(1542)] srvsvc_NetSrvInfo1542
*info1542
;
1131 [case(1543)] srvsvc_NetSrvInfo1543
*info1543
;
1132 [case(1544)] srvsvc_NetSrvInfo1544
*info1544
;
1133 [case(1545)] srvsvc_NetSrvInfo1545
*info1545
;
1134 [case(1546)] srvsvc_NetSrvInfo1546
*info1546
;
1135 [case(1547)] srvsvc_NetSrvInfo1547
*info1547
;
1136 [case(1548)] srvsvc_NetSrvInfo1548
*info1548
;
1137 [case(1549)] srvsvc_NetSrvInfo1549
*info1549
;
1138 [case(1550)] srvsvc_NetSrvInfo1550
*info1550
;
1139 [case(1552)] srvsvc_NetSrvInfo1552
*info1552
;
1140 [case(1553)] srvsvc_NetSrvInfo1553
*info1553
;
1141 [case(1554)] srvsvc_NetSrvInfo1554
*info1554
;
1142 [case(1555)] srvsvc_NetSrvInfo1555
*info1555
;
1143 [case(1556)] srvsvc_NetSrvInfo1556
*info1556
;
1145 } srvsvc_NetSrvInfo
;
1147 /******************/
1148 /* Function: 0x15 */
1149 WERROR srvsvc_NetSrvGetInfo
(
1150 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1152 [out,ref,switch_is(level
)] srvsvc_NetSrvInfo
*info
1155 /******************/
1156 /* Function: 0x16 */
1157 WERROR srvsvc_NetSrvSetInfo
(
1158 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1160 [in,ref,switch_is(level
)] srvsvc_NetSrvInfo
*info
,
1161 [in,out,unique] uint32
*parm_error
1164 /**************************/
1165 /* srvsvc_NetDisk */
1166 /**************************/
1169 * In theory this should be:
1170 * [charset(UTF16),string] uint16 annotation[3]
1171 * But midl treats this as:
1172 * [charset(UTF16),string] uint16 annotation[]
1173 * and pidl doesn't support this yet
1175 [value
(0)] uint32 __disk_offset
;
1176 [value
(strlen
(disk
)+1)] uint32 __disk_length
;
1177 [charset
(UTF16
)] uint16 disk
[__disk_length
];
1178 } srvsvc_NetDiskInfo0
;
1182 [size_is(count
), length_is(count
)] srvsvc_NetDiskInfo0
*disks
;
1183 } srvsvc_NetDiskInfo
;
1185 /******************/
1186 /* Function: 0x17 */
1187 WERROR srvsvc_NetDiskEnum
(
1188 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1190 [in,out,ref] srvsvc_NetDiskInfo
*info
,
1192 [out,ref] uint32
*totalentries
,
1193 [in,out,unique] uint32
*resume_handle
1196 /**************************/
1197 /* srvsvc_NetStatistics */
1198 /**************************/
1210 uint32 bytessent_low
;
1211 uint32 bytessent_high
;
1212 uint32 bytesrcvd_low
;
1213 uint32 bytesrcvd_high
;
1217 } srvsvc_Statistics
;
1219 /******************/
1220 /* Function: 0x18 */
1221 WERROR srvsvc_NetServerStatisticsGet
(
1222 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1223 [in,unique] [string,charset
(UTF16
)] uint16
*service
,
1225 [in] uint32 options
,
1226 [out,ref] srvsvc_Statistics
**stats
1229 /**************************/
1230 /* srvsvc_NetTransport */
1231 /**************************/
1234 [string,charset
(UTF16
)] uint16
*name
;
1235 [size_is(addr_len
)] uint8
*addr
;
1237 [string,charset
(UTF16
)] uint16
*net_addr
;
1238 } srvsvc_NetTransportInfo0
;
1240 /******************/
1241 /* Function: 0x19 */
1242 WERROR srvsvc_NetTransportAdd
(
1243 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1245 [in,switch_is(level
)] srvsvc_NetTransportInfo info
1250 [size_is(count
)] srvsvc_NetTransportInfo0
*array
;
1251 } srvsvc_NetTransportCtr0
;
1255 [string,charset
(UTF16
)] uint16
*name
;
1256 [size_is(addr_len
)] uint8
*addr
;
1258 [string,charset
(UTF16
)] uint16
*net_addr
;
1259 [string,charset
(UTF16
)] uint16
*domain
;
1260 } srvsvc_NetTransportInfo1
;
1264 [size_is(count
)] srvsvc_NetTransportInfo1
*array
;
1265 } srvsvc_NetTransportCtr1
;
1269 [string,charset
(UTF16
)] uint16
*name
;
1270 [size_is(addr_len
)] uint8
*addr
;
1272 [string,charset
(UTF16
)] uint16
*net_addr
;
1273 [string,charset
(UTF16
)] uint16
*domain
;
1275 } srvsvc_NetTransportInfo2
;
1279 [size_is(count
)] srvsvc_NetTransportInfo2
*array
;
1280 } srvsvc_NetTransportCtr2
;
1284 [string,charset
(UTF16
)] uint16
*name
;
1285 [size_is(addr_len
)] uint8
*addr
;
1287 [string,charset
(UTF16
)] uint16
*net_addr
;
1288 [string,charset
(UTF16
)] uint16
*domain
;
1291 uint8 unknown3
[256];
1292 } srvsvc_NetTransportInfo3
;
1296 [size_is(count
)] srvsvc_NetTransportInfo3
*array
;
1297 } srvsvc_NetTransportCtr3
;
1300 [case(0)] srvsvc_NetTransportCtr0
*ctr0
;
1301 [case(1)] srvsvc_NetTransportCtr1
*ctr1
;
1302 [case(2)] srvsvc_NetTransportCtr2
*ctr2
;
1303 [case(3)] srvsvc_NetTransportCtr3
*ctr3
;
1305 } srvsvc_NetTransportCtr
;
1309 [switch_is(level
)] srvsvc_NetTransportCtr ctr
;
1310 } srvsvc_NetTransportInfoCtr
;
1312 /******************/
1313 /* Function: 0x1a */
1314 WERROR srvsvc_NetTransportEnum
(
1315 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1316 [in,out,ref] srvsvc_NetTransportInfoCtr
*transports
,
1317 [in] uint32 max_buffer
,
1318 [out,ref] uint32
*totalentries
,
1319 [in,out,unique] uint32
*resume_handle
1322 /******************/
1323 /* Function: 0x1b */
1324 WERROR srvsvc_NetTransportDel
(
1325 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1327 [in] srvsvc_NetTransportInfo0
*info0
1330 /**************************/
1331 /* srvsvc_NetRemoteTOD */
1332 /**************************/
1334 uint32 elapsed
; /* time(NULL) */
1335 uint32 msecs
; /* milliseconds till system reboot (uptime) */
1340 int32 timezone
; /* in minutes */
1341 uint32 tinterval
; /* clock tick interval in 0.0001 second units; 310 on windows */
1346 } srvsvc_NetRemoteTODInfo
;
1348 /******************/
1349 /* Function: 0x1c */
1350 WERROR srvsvc_NetRemoteTOD
(
1351 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1352 [out,ref] srvsvc_NetRemoteTODInfo
**info
1355 /**************************/
1356 /* srvsvc_NetServiceBits */
1357 /**************************/
1358 /******************/
1359 /* Function: 0x1d */
1360 WERROR srvsvc_NetSetServiceBits
(
1361 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1362 [in,unique] [string,charset
(UTF16
)] uint16
*transport
,
1363 [in] uint32 servicebits
,
1364 [in] uint32 updateimmediately
1367 /**************************/
1368 /* srvsvc_NetPath */
1369 /**************************/
1370 /******************/
1371 /* Function: 0x1e */
1372 WERROR srvsvc_NetPathType
(
1373 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1374 [in] [string,charset
(UTF16
)] uint16 path
[],
1375 [in] uint32 pathflags
,
1376 [out,ref] uint32
*pathtype
1379 /******************/
1380 /* Function: 0x1f */
1381 WERROR srvsvc_NetPathCanonicalize
(
1382 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1383 [in] [string,charset
(UTF16
)] uint16 path
[],
1384 [out] [size_is(maxbuf
)] uint8 can_path
[],
1386 [in] [string,charset
(UTF16
)] uint16 prefix
[],
1387 [in,out,ref] uint32
*pathtype
,
1388 [in] uint32 pathflags
1391 /******************/
1392 /* Function: 0x20 */
1393 WERROR srvsvc_NetPathCompare
(
1394 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1395 [in] [string,charset
(UTF16
)] uint16 path1
[],
1396 [in] [string,charset
(UTF16
)] uint16 path2
[],
1397 [in] uint32 pathtype
,
1398 [in] uint32 pathflags
1401 /**************************/
1402 /* srvsvc_NetName */
1403 /**************************/
1404 /******************/
1405 /* Function: 0x21 */
1406 WERROR srvsvc_NetNameValidate
(
1407 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1408 [in] [string,charset
(UTF16
)] uint16 name
[],
1409 [in] uint32 name_type
,
1413 /******************/
1414 /* Function: 0x22 */
1415 [todo
] WERROR srvsvc_NETRPRNAMECANONICALIZE
(
1418 /******************/
1419 /* Function: 0x23 */
1420 WERROR srvsvc_NetPRNameCompare
(
1421 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1422 [in] [string,charset
(UTF16
)] uint16 name1
[],
1423 [in] [string,charset
(UTF16
)] uint16 name2
[],
1424 [in] uint32 name_type
,
1428 /**************************/
1429 /* srvsvc_NetShare ... */
1430 /**************************/
1431 /******************/
1432 /* Function: 0x24 */
1433 /* Note, there must be some way to return entries read vs
1434 total entries ... */
1435 WERROR srvsvc_NetShareEnum
(
1436 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1437 [in,out,ref] srvsvc_NetShareInfoCtr
*info_ctr
,
1438 [in] uint32 max_buffer
,
1439 [out,ref] uint32
*totalentries
,
1440 [in,out,unique] uint32
*resume_handle
1443 /******************/
1444 /* Function: 0x25 */
1445 WERROR srvsvc_NetShareDelStart
(
1446 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1447 [in] [string,charset
(UTF16
)] uint16 share
[],
1448 [in] uint32 reserved
,
1449 [out,unique] policy_handle
*hnd
1452 /******************/
1453 /* Function: 0x26 */
1454 WERROR srvsvc_NetShareDelCommit
(
1455 [in, out,unique] policy_handle
*hnd
1458 /******************/
1459 /* Function: 0x27 */
1460 WERROR srvsvc_NetGetFileSecurity
(
1461 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1462 [in,unique] [string,charset
(UTF16
)] uint16
*share
,
1463 [in] [string,charset
(UTF16
)] uint16 file
[],
1464 [in] security_secinfo securityinformation
,
1465 [out,ref] sec_desc_buf
**sd_buf
1468 /******************/
1469 /* Function: 0x28 */
1470 WERROR srvsvc_NetSetFileSecurity
(
1471 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1472 [in,unique] [string,charset
(UTF16
)] uint16
*share
,
1473 [in] [string,charset
(UTF16
)] uint16 file
[],
1474 [in] security_secinfo securityinformation
,
1475 [in,ref] sec_desc_buf
*sd_buf
1480 typedef [switch_type(uint32
)] union {
1481 [case(0)] srvsvc_NetTransportInfo0 info0
;
1482 [case(1)] srvsvc_NetTransportInfo1 info1
;
1483 [case(2)] srvsvc_NetTransportInfo2 info2
;
1484 [case(3)] srvsvc_NetTransportInfo3 info3
;
1485 } srvsvc_NetTransportInfo
;
1487 /******************/
1488 /* Function: 0x29 */
1489 WERROR srvsvc_NetServerTransportAddEx
(
1490 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1492 [in,switch_is(level
)] srvsvc_NetTransportInfo info
1495 /******************/
1496 /* Function: 0x2a */
1497 WERROR srvsvc_NetServerSetServiceBitsEx
(
1498 [in,unique] [string,charset
(UTF16
)] uint16
*server_unc
,
1499 [in,unique] [string,charset
(UTF16
)] uint16
*emulated_server_unc
,
1500 [in,unique] [string,charset
(UTF16
)] uint16
*transport
,
1501 [in] uint32 servicebitsofinterest
,
1502 [in] uint32 servicebits
,
1503 [in] uint32 updateimmediately
1506 /******************/
1507 /* Function: 0x2b */
1508 [todo
] WERROR srvsvc_NETRDFSGETVERSION
(
1511 /******************/
1512 /* Function: 0x2c */
1513 [todo
] WERROR srvsvc_NETRDFSCREATELOCALPARTITION
(
1516 /******************/
1517 /* Function: 0x2d */
1518 [todo
] WERROR srvsvc_NETRDFSDELETELOCALPARTITION
(
1521 /******************/
1522 /* Function: 0x2e */
1523 [todo
] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE
(
1526 /******************/
1527 /* Function: 0x2f */
1528 [todo
] WERROR srvsvc_NETRDFSSETSERVERINFO
(
1531 /******************/
1532 /* Function: 0x30 */
1533 [todo
] WERROR srvsvc_NETRDFSCREATEEXITPOINT
(
1536 /******************/
1537 /* Function: 0x31 */
1538 [todo
] WERROR srvsvc_NETRDFSDELETEEXITPOINT
(
1541 /******************/
1542 /* Function: 0x32 */
1543 [todo
] WERROR srvsvc_NETRDFSMODIFYPREFIX
(
1546 /******************/
1547 /* Function: 0x33 */
1548 [todo
] WERROR srvsvc_NETRDFSFIXLOCALVOLUME
(
1551 /******************/
1552 /* Function: 0x34 */
1553 [todo
] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO
(
1556 /******************/
1557 /* Function: 0x35 */
1558 [todo
] WERROR srvsvc_NETRSERVERTRANSPORTDELEX
(