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,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;
495
SHARE_1005_IN_DFS = 0x00000001,
496
SHARE_1005_DFS_ROOT = 0x00000002
497
} NetShareInfo1005Flags;
499
const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
500
const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
503
NetShareInfo1005Flags dfs_flags;
504
} srvsvc_NetShareInfo1005;
508
[size_is(count)] srvsvc_NetShareInfo1005 *array;
509
} srvsvc_NetShareCtr1005;
513
} srvsvc_NetShareInfo1006;
517
[size_is(count)] srvsvc_NetShareInfo1006 *array;
518
} srvsvc_NetShareCtr1006;
522
[string,charset(UTF16)] uint16 *alternate_directory_name;
523
} srvsvc_NetShareInfo1007;
527
[size_is(count)] srvsvc_NetShareInfo1007 *array;
528
} srvsvc_NetShareCtr1007;
532
[size_is(count)] sec_desc_buf *array;
533
} srvsvc_NetShareCtr1501;
536
[case(0)] srvsvc_NetShareInfo0 *info0;
537
[case(1)] srvsvc_NetShareInfo1 *info1;
538
[case(2)] srvsvc_NetShareInfo2 *info2;
539
[case(501)] srvsvc_NetShareInfo501 *info501;
540
[case(502)] srvsvc_NetShareInfo502 *info502;
541
[case(1004)] srvsvc_NetShareInfo1004 *info1004;
542
[case(1005)] srvsvc_NetShareInfo1005 *info1005;
543
[case(1006)] srvsvc_NetShareInfo1006 *info1006;
544
[case(1007)] srvsvc_NetShareInfo1007 *info1007;
545
[case(1501)] sec_desc_buf *info1501;
547
} srvsvc_NetShareInfo;
550
[case(0)] srvsvc_NetShareCtr0 *ctr0;
551
[case(1)] srvsvc_NetShareCtr1 *ctr1;
552
[case(2)] srvsvc_NetShareCtr2 *ctr2;
553
[case(501)] srvsvc_NetShareCtr501 *ctr501;
554
[case(502)] srvsvc_NetShareCtr502 *ctr502;
555
[case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
556
[case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
557
[case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
558
[case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
559
[case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
561
} srvsvc_NetShareCtr;
565
[switch_is(level)] srvsvc_NetShareCtr ctr;
566
} srvsvc_NetShareInfoCtr;
570
WERROR srvsvc_NetShareAdd(
571
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
573
[in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
574
[in,out,unique] uint32 *parm_error
579
WERROR srvsvc_NetShareEnumAll (
580
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
581
[in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
582
[in] uint32 max_buffer,
583
[out,ref] uint32 *totalentries,
584
[in,out,unique] uint32 *resume_handle
589
WERROR srvsvc_NetShareGetInfo(
590
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
591
[in] [string,charset(UTF16)] uint16 share_name[],
593
[out,ref,switch_is(level)] srvsvc_NetShareInfo *info
598
WERROR srvsvc_NetShareSetInfo(
599
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
600
[in] [string,charset(UTF16)] uint16 share_name[],
602
[in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
603
[in,out,unique] uint32 *parm_error
608
WERROR srvsvc_NetShareDel(
609
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
610
[in] [string,charset(UTF16)] uint16 share_name[],
616
WERROR srvsvc_NetShareDelSticky(
617
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
618
[in] [string,charset(UTF16)] uint16 share_name[],
624
WERROR srvsvc_NetShareCheck(
625
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
626
[in] [string,charset(UTF16)] uint16 device_name[],
627
[out,ref] srvsvc_ShareType *type
630
/**************************/
632
/**************************/
633
typedef [public,v1_enum] enum {
634
PLATFORM_ID_DOS = 300,
635
PLATFORM_ID_OS2 = 400,
636
PLATFORM_ID_NT = 500,
637
PLATFORM_ID_OSF = 600,
638
PLATFORM_ID_VMS = 700
641
typedef [public] struct {
642
srvsvc_PlatformId platform_id;
643
[string,charset(UTF16)] uint16 *server_name;
644
} srvsvc_NetSrvInfo100;
646
typedef [public] struct {
647
srvsvc_PlatformId platform_id;
648
[string,charset(UTF16)] uint16 *server_name;
649
uint32 version_major;
650
uint32 version_minor;
651
svcctl_ServerType server_type;
652
[string,charset(UTF16)] uint16 *comment;
653
} srvsvc_NetSrvInfo101;
656
srvsvc_PlatformId platform_id;
657
[string,charset(UTF16)] uint16 *server_name;
658
uint32 version_major;
659
uint32 version_minor;
660
svcctl_ServerType server_type;
661
[string,charset(UTF16)] uint16 *comment;
668
[string,charset(UTF16)] uint16 *userpath;
669
} srvsvc_NetSrvInfo102;
675
[string,charset(UTF16)] uint16 *alerts;
679
[string,charset(UTF16)] uint16 *guestaccount;
702
[string,charset(UTF16)] uint16 *srvheuristics;
703
} srvsvc_NetSrvInfo402;
709
[string,charset(UTF16)] uint16 *alerts;
713
[string,charset(UTF16)] uint16 *guestaccount;
736
[string,charset(UTF16)] uint16 *srvheuristics;
737
uint32 auditedevents;
739
[string,charset(UTF16)] uint16 *autopath;
740
} srvsvc_NetSrvInfo403;
747
uint32 initworkitems;
754
uint32 maxpagedmemoryusage;
755
uint32 maxnonpagedmemoryusage;
756
uint32 enablesoftcompat;
757
uint32 enableforcedlogoff;
759
uint32 acceptdownlevelapis;
761
} srvsvc_NetSrvInfo502;
768
uint32 initworkitems;
775
uint32 maxpagedmemoryusage;
776
uint32 maxnonpagedmemoryusage;
777
uint32 enablesoftcompat;
778
uint32 enableforcedlogoff;
780
uint32 acceptdownlevelapis;
782
[string,charset(UTF16)] uint16 *domain;
783
uint32 maxcopyreadlen;
784
uint32 maxcopywritelen;
785
uint32 minkeepsearch;
786
uint32 maxkeepsearch;
787
uint32 minkeepcomplsearch;
788
uint32 maxkeepcomplsearch;
789
uint32 threadcountadd;
790
uint32 numlockthreads;
793
uint32 minfreeworkitems;
795
uint32 threadpriority;
797
uint32 oplockbreakwait;
798
uint32 oplockbreakresponsewait;
799
uint32 enableoplocks;
800
uint32 enableoplockforceclose;
801
uint32 enablefcbopens;
803
uint32 enablesharednetdrives;
804
uint32 minfreeconnections;
805
uint32 maxfreeconnections;
806
} srvsvc_NetSrvInfo503;
813
uint32 initworkitems;
820
uint32 maxpagedmemoryusage;
821
uint32 maxnonpagedmemoryusage;
822
uint32 enablesoftcompat;
823
uint32 enableforcedlogoff;
825
uint32 acceptdownlevelapis;
827
[string,charset(UTF16)] uint16 *domain;
828
uint32 maxcopyreadlen;
829
uint32 maxcopywritelen;
830
uint32 minkeepsearch;
831
uint32 minkeepcomplsearch;
832
uint32 maxkeepcomplsearch;
833
uint32 threadcountadd;
834
uint32 numlockthreads;
837
uint32 minfreeworkitems;
839
uint32 threadpriority;
841
uint32 oplockbreakwait;
842
uint32 oplockbreakresponsewait;
843
uint32 enableoplocks;
844
uint32 enableoplockforceclose;
845
uint32 enablefcbopens;
847
uint32 enablesharednetdrives;
848
uint32 minfreeconnections;
849
uint32 maxfreeconnections;
850
uint32 initsesstable;
851
uint32 initconntable;
852
uint32 initfiletable;
853
uint32 initsearchtable;
855
uint32 errortreshold;
856
uint32 networkerrortreshold;
857
uint32 diskspacetreshold;
860
uint32 minlinkthroughput;
861
uint32 linkinfovalidtime;
862
uint32 scavqosinfoupdatetime;
863
uint32 maxworkitemidletime;
864
} srvsvc_NetSrvInfo599;
867
[string,charset(UTF16)] uint16 *comment;
868
} srvsvc_NetSrvInfo1005;
872
} srvsvc_NetSrvInfo1010;
876
} srvsvc_NetSrvInfo1016;
880
} srvsvc_NetSrvInfo1017;
884
} srvsvc_NetSrvInfo1018;
888
} srvsvc_NetSrvInfo1107;
892
} srvsvc_NetSrvInfo1501;
896
} srvsvc_NetSrvInfo1502;
900
} srvsvc_NetSrvInfo1503;
904
} srvsvc_NetSrvInfo1506;
908
} srvsvc_NetSrvInfo1509;
912
} srvsvc_NetSrvInfo1510;
916
} srvsvc_NetSrvInfo1511;
919
uint32 maxnonpagedmemoryusage;
920
} srvsvc_NetSrvInfo1512;
923
uint32 maxpagedmemoryusage;
924
} srvsvc_NetSrvInfo1513;
927
uint32 enablesoftcompat;
928
} srvsvc_NetSrvInfo1514;
931
uint32 enableforcedlogoff;
932
} srvsvc_NetSrvInfo1515;
936
} srvsvc_NetSrvInfo1516;
940
} srvsvc_NetSrvInfo1518;
943
uint32 maxcopyreadlen;
944
} srvsvc_NetSrvInfo1520;
947
uint32 maxcopywritelen;
948
} srvsvc_NetSrvInfo1521;
951
uint32 minkeepsearch;
952
} srvsvc_NetSrvInfo1522;
955
uint32 maxkeepsearch;
956
} srvsvc_NetSrvInfo1523;
959
uint32 minkeepcomplsearch;
960
} srvsvc_NetSrvInfo1524;
963
uint32 maxkeepcomplsearch;
964
} srvsvc_NetSrvInfo1525;
968
} srvsvc_NetSrvInfo1528;
972
} srvsvc_NetSrvInfo1529;
975
uint32 minfreeworkitems;
976
} srvsvc_NetSrvInfo1530;
980
} srvsvc_NetSrvInfo1533;
983
uint32 oplockbreakwait;
984
} srvsvc_NetSrvInfo1534;
987
uint32 oplockbreakresponsewait;
988
} srvsvc_NetSrvInfo1535;
991
uint32 enableoplocks;
992
} srvsvc_NetSrvInfo1536;
995
uint32 enableoplockforceclose;
996
} srvsvc_NetSrvInfo1537;
999
uint32 enablefcbopens;
1000
} srvsvc_NetSrvInfo1538;
1004
} srvsvc_NetSrvInfo1539;
1007
uint32 enablesharednetdrives;
1008
} srvsvc_NetSrvInfo1540;
1011
uint32 minfreeconnections;
1012
} srvsvc_NetSrvInfo1541;
1015
uint32 maxfreeconnections;
1016
} srvsvc_NetSrvInfo1542;
1019
uint32 initsesstable;
1020
} srvsvc_NetSrvInfo1543;
1023
uint32 initconntable;
1024
} srvsvc_NetSrvInfo1544;
1027
uint32 initfiletable;
1028
} srvsvc_NetSrvInfo1545;
1031
uint32 initsearchtable;
1032
} srvsvc_NetSrvInfo1546;
1036
} srvsvc_NetSrvInfo1547;
1039
uint32 errortreshold;
1040
} srvsvc_NetSrvInfo1548;
1043
uint32 networkerrortreshold;
1044
} srvsvc_NetSrvInfo1549;
1047
uint32 diskspacetreshold;
1048
} srvsvc_NetSrvInfo1550;
1051
uint32 maxlinkdelay;
1052
} srvsvc_NetSrvInfo1552;
1055
uint32 minlinkthroughput;
1056
} srvsvc_NetSrvInfo1553;
1059
uint32 linkinfovalidtime;
1060
} srvsvc_NetSrvInfo1554;
1063
uint32 scavqosinfoupdatetime;
1064
} srvsvc_NetSrvInfo1555;
1067
uint32 maxworkitemidletime;
1068
} srvsvc_NetSrvInfo1556;
1072
[case(100)] srvsvc_NetSrvInfo100 *info100;
1073
[case(101)] srvsvc_NetSrvInfo101 *info101;
1074
[case(102)] srvsvc_NetSrvInfo102 *info102;
1075
[case(402)] srvsvc_NetSrvInfo402 *info402;
1076
[case(403)] srvsvc_NetSrvInfo403 *info403;
1077
[case(502)] srvsvc_NetSrvInfo502 *info502;
1078
[case(503)] srvsvc_NetSrvInfo503 *info503;
1079
[case(599)] srvsvc_NetSrvInfo599 *info599;
1080
[case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1081
[case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1082
[case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1083
[case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1084
[case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1085
[case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1086
[case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1087
[case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1088
[case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1089
[case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1090
[case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1091
[case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1092
[case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1093
[case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1094
[case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1095
[case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1096
[case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1097
[case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1098
[case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1099
[case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1100
[case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1101
[case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1102
[case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1103
[case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1104
[case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1105
[case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1106
[case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1107
[case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1108
[case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1109
[case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1110
[case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1111
[case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1112
[case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1113
[case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1114
[case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1115
[case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1116
[case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1117
[case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1118
[case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1119
[case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1120
[case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1121
[case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1122
[case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1123
[case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1124
[case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1125
[case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1126
[case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1127
[case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1128
[case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1129
[case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1130
[case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1132
} srvsvc_NetSrvInfo;
1134
/******************/
1135
/* Function: 0x15 */
1136
WERROR srvsvc_NetSrvGetInfo(
1137
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1139
[out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
1142
/******************/
1143
/* Function: 0x16 */
1144
WERROR srvsvc_NetSrvSetInfo(
1145
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1147
[in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
1148
[in,out,unique] uint32 *parm_error
1151
/**************************/
1152
/* srvsvc_NetDisk */
1153
/**************************/
1156
* In theory this should be:
1157
* [charset(UTF16),string] uint16 annotation[3]
1158
* But midl treats this as:
1159
* [charset(UTF16),string] uint16 annotation[]
1160
* and pidl doesn't support this yet
1162
[value(0)] uint32 __disk_offset;
1163
[value(strlen(disk)+1)] uint32 __disk_length;
1164
[charset(UTF16)] uint16 disk[__disk_length];
1165
} srvsvc_NetDiskInfo0;
1169
[size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1170
} srvsvc_NetDiskInfo;
1172
/******************/
1173
/* Function: 0x17 */
1174
WERROR srvsvc_NetDiskEnum(
1175
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1177
[in,out,ref] srvsvc_NetDiskInfo *info,
1179
[out,ref] uint32 *totalentries,
1180
[in,out,unique] uint32 *resume_handle
1183
/**************************/
1184
/* srvsvc_NetStatistics */
1185
/**************************/
1197
uint32 bytessent_low;
1198
uint32 bytessent_high;
1199
uint32 bytesrcvd_low;
1200
uint32 bytesrcvd_high;
1204
} srvsvc_Statistics;
1206
/******************/
1207
/* Function: 0x18 */
1208
WERROR srvsvc_NetServerStatisticsGet(
1209
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1210
[in,unique] [string,charset(UTF16)] uint16 *service,
1212
[in] uint32 options,
1213
[out,ref] srvsvc_Statistics **stats
1216
/**************************/
1217
/* srvsvc_NetTransport */
1218
/**************************/
1221
[string,charset(UTF16)] uint16 *name;
1222
[size_is(addr_len)] uint8 *addr;
1224
[string,charset(UTF16)] uint16 *net_addr;
1225
} srvsvc_NetTransportInfo0;
1227
/******************/
1228
/* Function: 0x19 */
1229
WERROR srvsvc_NetTransportAdd(
1230
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1232
[in,switch_is(level)] srvsvc_NetTransportInfo info
1237
[size_is(count)] srvsvc_NetTransportInfo0 *array;
1238
} srvsvc_NetTransportCtr0;
1242
[string,charset(UTF16)] uint16 *name;
1243
[size_is(addr_len)] uint8 *addr;
1245
[string,charset(UTF16)] uint16 *net_addr;
1246
[string,charset(UTF16)] uint16 *domain;
1247
} srvsvc_NetTransportInfo1;
1251
[size_is(count)] srvsvc_NetTransportInfo1 *array;
1252
} srvsvc_NetTransportCtr1;
1256
[string,charset(UTF16)] uint16 *name;
1257
[size_is(addr_len)] uint8 *addr;
1259
[string,charset(UTF16)] uint16 *net_addr;
1260
[string,charset(UTF16)] uint16 *domain;
1262
} srvsvc_NetTransportInfo2;
1266
[size_is(count)] srvsvc_NetTransportInfo2 *array;
1267
} srvsvc_NetTransportCtr2;
1271
[string,charset(UTF16)] uint16 *name;
1272
[size_is(addr_len)] uint8 *addr;
1274
[string,charset(UTF16)] uint16 *net_addr;
1275
[string,charset(UTF16)] uint16 *domain;
1278
uint8 unknown3[256];
1279
} srvsvc_NetTransportInfo3;
1283
[size_is(count)] srvsvc_NetTransportInfo3 *array;
1284
} srvsvc_NetTransportCtr3;
1287
[case(0)] srvsvc_NetTransportCtr0 *ctr0;
1288
[case(1)] srvsvc_NetTransportCtr1 *ctr1;
1289
[case(2)] srvsvc_NetTransportCtr2 *ctr2;
1290
[case(3)] srvsvc_NetTransportCtr3 *ctr3;
1292
} srvsvc_NetTransportCtr;
1296
[switch_is(level)] srvsvc_NetTransportCtr ctr;
1297
} srvsvc_NetTransportInfoCtr;
1299
/******************/
1300
/* Function: 0x1a */
1301
WERROR srvsvc_NetTransportEnum(
1302
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1303
[in,out,ref] srvsvc_NetTransportInfoCtr *transports,
1304
[in] uint32 max_buffer,
1305
[out,ref] uint32 *totalentries,
1306
[in,out,unique] uint32 *resume_handle
1309
/******************/
1310
/* Function: 0x1b */
1311
WERROR srvsvc_NetTransportDel(
1312
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1314
[in] srvsvc_NetTransportInfo0 *info0
1317
/**************************/
1318
/* srvsvc_NetRemoteTOD */
1319
/**************************/
1321
uint32 elapsed; /* time(NULL) */
1322
uint32 msecs; /* milliseconds till system reboot (uptime) */
1327
int32 timezone; /* in minutes */
1328
uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1333
} srvsvc_NetRemoteTODInfo;
1335
/******************/
1336
/* Function: 0x1c */
1337
WERROR srvsvc_NetRemoteTOD(
1338
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1339
[out,ref] srvsvc_NetRemoteTODInfo **info
1342
/**************************/
1343
/* srvsvc_NetServiceBits */
1344
/**************************/
1345
/******************/
1346
/* Function: 0x1d */
1347
WERROR srvsvc_NetSetServiceBits(
1348
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1349
[in,unique] [string,charset(UTF16)] uint16 *transport,
1350
[in] uint32 servicebits,
1351
[in] uint32 updateimmediately
1354
/**************************/
1355
/* srvsvc_NetPath */
1356
/**************************/
1357
/******************/
1358
/* Function: 0x1e */
1359
WERROR srvsvc_NetPathType(
1360
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1361
[in] [string,charset(UTF16)] uint16 path[],
1362
[in] uint32 pathflags,
1363
[out,ref] uint32 *pathtype
1366
/******************/
1367
/* Function: 0x1f */
1368
WERROR srvsvc_NetPathCanonicalize(
1369
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1370
[in] [string,charset(UTF16)] uint16 path[],
1371
[out] [size_is(maxbuf)] uint8 can_path[],
1373
[in] [string,charset(UTF16)] uint16 prefix[],
1374
[in,out,ref] uint32 *pathtype,
1375
[in] uint32 pathflags
1378
/******************/
1379
/* Function: 0x20 */
1380
WERROR srvsvc_NetPathCompare(
1381
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1382
[in] [string,charset(UTF16)] uint16 path1[],
1383
[in] [string,charset(UTF16)] uint16 path2[],
1384
[in] uint32 pathtype,
1385
[in] uint32 pathflags
1388
/**************************/
1389
/* srvsvc_NetName */
1390
/**************************/
1391
/******************/
1392
/* Function: 0x21 */
1393
WERROR srvsvc_NetNameValidate(
1394
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1395
[in] [string,charset(UTF16)] uint16 name[],
1396
[in] uint32 name_type,
1400
/******************/
1401
/* Function: 0x22 */
1402
[todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
1405
/******************/
1406
/* Function: 0x23 */
1407
WERROR srvsvc_NetPRNameCompare(
1408
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1409
[in] [string,charset(UTF16)] uint16 name1[],
1410
[in] [string,charset(UTF16)] uint16 name2[],
1411
[in] uint32 name_type,
1415
/**************************/
1416
/* srvsvc_NetShare ... */
1417
/**************************/
1418
/******************/
1419
/* Function: 0x24 */
1420
/* Note, there must be some way to return entries read vs
1421
total entries ... */
1422
WERROR srvsvc_NetShareEnum(
1423
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1424
[in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
1425
[in] uint32 max_buffer,
1426
[out,ref] uint32 *totalentries,
1427
[in,out,unique] uint32 *resume_handle
1430
/******************/
1431
/* Function: 0x25 */
1432
WERROR srvsvc_NetShareDelStart(
1433
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1434
[in] [string,charset(UTF16)] uint16 share[],
1435
[in] uint32 reserved,
1436
[out,unique] policy_handle *hnd
1439
/******************/
1440
/* Function: 0x26 */
1441
WERROR srvsvc_NetShareDelCommit(
1442
[in, out,unique] policy_handle *hnd
1445
/******************/
1446
/* Function: 0x27 */
1447
WERROR srvsvc_NetGetFileSecurity(
1448
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1449
[in,unique] [string,charset(UTF16)] uint16 *share,
1450
[in] [string,charset(UTF16)] uint16 file[],
1451
[in] security_secinfo securityinformation,
1452
[out,ref] sec_desc_buf **sd_buf
1455
/******************/
1456
/* Function: 0x28 */
1457
WERROR srvsvc_NetSetFileSecurity(
1458
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1459
[in,unique] [string,charset(UTF16)] uint16 *share,
1460
[in] [string,charset(UTF16)] uint16 file[],
1461
[in] security_secinfo securityinformation,
1462
[in,ref] sec_desc_buf *sd_buf
1467
typedef [switch_type(uint32)] union {
1468
[case(0)] srvsvc_NetTransportInfo0 info0;
1469
[case(1)] srvsvc_NetTransportInfo1 info1;
1470
[case(2)] srvsvc_NetTransportInfo2 info2;
1471
[case(3)] srvsvc_NetTransportInfo3 info3;
1472
} srvsvc_NetTransportInfo;
1474
/******************/
1475
/* Function: 0x29 */
1476
WERROR srvsvc_NetServerTransportAddEx(
1477
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1479
[in,switch_is(level)] srvsvc_NetTransportInfo info
1482
/******************/
1483
/* Function: 0x2a */
1484
WERROR srvsvc_NetServerSetServiceBitsEx(
1485
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
1486
[in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
1487
[in,unique] [string,charset(UTF16)] uint16 *transport,
1488
[in] uint32 servicebitsofinterest,
1489
[in] uint32 servicebits,
1490
[in] uint32 updateimmediately
1493
/******************/
1494
/* Function: 0x2b */
1495
[todo] WERROR srvsvc_NETRDFSGETVERSION(
1498
/******************/
1499
/* Function: 0x2c */
1500
[todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1503
/******************/
1504
/* Function: 0x2d */
1505
[todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1508
/******************/
1509
/* Function: 0x2e */
1510
[todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1513
/******************/
1514
/* Function: 0x2f */
1515
[todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
1518
/******************/
1519
/* Function: 0x30 */
1520
[todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1523
/******************/
1524
/* Function: 0x31 */
1525
[todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1528
/******************/
1529
/* Function: 0x32 */
1530
[todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
1533
/******************/
1534
/* Function: 0x33 */
1535
[todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1538
/******************/
1539
/* Function: 0x34 */
1540
[todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1543
/******************/
1544
/* Function: 0x35 */
1545
[todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(