- Add all publicly available information about the spoolsv RPC interface of Windows...
[reactos.git] / reactos / include / reactos / idl / srvsvc.idl
1 /*
2 * Server Service interface definition
3 */
4
5 #include <ms-dtyp.idl>
6
7 typedef [handle, string] wchar_t *SRVSVC_HANDLE;
8
9 typedef struct _CONNECTION_INFO_0
10 {
11 DWORD coni0_id;
12 } CONNECTION_INFO_0, *PCONNECTION_INFO_0, *LPCONNECTION_INFO_0;
13
14 typedef struct _CONNECT_INFO_0_CONTAINER
15 {
16 DWORD EntriesRead;
17 [size_is(EntriesRead)] LPCONNECTION_INFO_0 Buffer;
18 } CONNECT_INFO_0_CONTAINER, *PCONNECT_INFO_0_CONTAINER, *LPCONNECT_INFO_0_CONTAINER;
19
20 typedef struct _CONNECTION_INFO_1
21 {
22 DWORD coni1_id;
23 DWORD coni1_type;
24 DWORD coni1_num_opens;
25 DWORD coni1_num_users;
26 DWORD coni1_time;
27 [string] wchar_t *coni1_username;
28 [string] wchar_t *coni1_netname;
29 } CONNECTION_INFO_1, *PCONNECTION_INFO_1, *LPCONNECTION_INFO_1;
30
31 typedef struct _CONNECT_INFO_1_CONTAINER
32 {
33 DWORD EntriesRead;
34 [size_is(EntriesRead)] LPCONNECTION_INFO_1 Buffer;
35 } CONNECT_INFO_1_CONTAINER, *PCONNECT_INFO_1_CONTAINER, *LPCONNECT_INFO_1_CONTAINER;
36
37 typedef [switch_type(DWORD)] union _CONNECT_ENUM_UNION
38 {
39 [case(0)] CONNECT_INFO_0_CONTAINER *Level0;
40 [case(1)] CONNECT_INFO_1_CONTAINER *Level1;
41 } CONNECT_ENUM_UNION;
42
43 typedef struct _CONNECT_ENUM_STRUCT
44 {
45 DWORD Level;
46 [switch_is(Level)] CONNECT_ENUM_UNION ConnectInfo;
47 } CONNECT_ENUM_STRUCT, *PCONNECT_ENUM_STRUCT, *LPCONNECT_ENUM_STRUCT;
48
49 typedef struct _FILE_INFO_2
50 {
51 DWORD fi2_id;
52 } FILE_INFO_2, *PFILE_INFO_2, *LPFILE_INFO_2;
53
54 typedef struct _FILE_INFO_2_CONTAINER
55 {
56 DWORD EntriesRead;
57 [size_is(EntriesRead)] LPFILE_INFO_2 Buffer;
58 } FILE_INFO_2_CONTAINER, *PFILE_INFO_2_CONTAINER, *LPFILE_INFO_2_CONTAINER;
59
60 typedef struct _FILE_INFO_3
61 {
62 DWORD fi3_id;
63 DWORD fi3_permissions;
64 DWORD fi3_num_locks;
65 [string] wchar_t *fi3_pathname;
66 [string] wchar_t *fi3_username;
67 } FILE_INFO_3, *PFILE_INFO_3, *LPFILE_INFO_3;
68
69 typedef struct _FILE_INFO_3_CONTAINER
70 {
71 DWORD EntriesRead;
72 [size_is(EntriesRead)] LPFILE_INFO_3 Buffer;
73 } FILE_INFO_3_CONTAINER, *PFILE_INFO_3_CONTAINER, *LPFILE_INFO_3_CONTAINER;
74
75 typedef [switch_type(DWORD)] union _FILE_ENUM_UNION
76 {
77 [case(2)] FILE_INFO_2_CONTAINER* Level2;
78 [case(3)] FILE_INFO_3_CONTAINER* Level3;
79 } FILE_ENUM_UNION;
80
81 typedef struct _FILE_ENUM_STRUCT
82 {
83 DWORD Level;
84 [switch_is(Level)] FILE_ENUM_UNION FileInfo;
85 } FILE_ENUM_STRUCT, *PFILE_ENUM_STRUCT, *LPFILE_ENUM_STRUCT;
86
87 typedef [switch_type(unsigned long)] union _FILE_INFO
88 {
89 [case(2)] LPFILE_INFO_2 FileInfo2;
90 [case(3)] LPFILE_INFO_3 FileInfo3;
91 } FILE_INFO, *PFILE_INFO, *LPFILE_INFO;
92
93 typedef struct _SESSION_INFO_0
94 {
95 [string] wchar_t *sesi0_cname;
96 } SESSION_INFO_0, *PSESSION_INFO_0, *LPSESSION_INFO_0;
97
98 typedef struct _SESSION_INFO_0_CONTAINER
99 {
100 DWORD EntriesRead;
101 [size_is(EntriesRead)] LPSESSION_INFO_0 Buffer;
102 } SESSION_INFO_0_CONTAINER, *PSESSION_INFO_0_CONTAINER, *LPSESSION_INFO_0_CONTAINER;
103
104 typedef struct _SESSION_INFO_1
105 {
106 [string] wchar_t *sesi1_cname;
107 [string] wchar_t *sesi1_username;
108 DWORD sesi1_num_opens;
109 DWORD sesi1_time;
110 DWORD sesi1_idle_time;
111 DWORD sesi1_user_flags;
112 } SESSION_INFO_1, *PSESSION_INFO_1, *LPSESSION_INFO_1;
113
114 typedef struct _SESSION_INFO_1_CONTAINER
115 {
116 DWORD EntriesRead;
117 [size_is(EntriesRead)] LPSESSION_INFO_1 Buffer;
118 } SESSION_INFO_1_CONTAINER, *PSESSION_INFO_1_CONTAINER, *LPSESSION_INFO_1_CONTAINER;
119
120 typedef struct _SESSION_INFO_2
121 {
122 [string] wchar_t *sesi2_cname;
123 [string] wchar_t *sesi2_username;
124 DWORD sesi2_num_opens;
125 DWORD sesi2_time;
126 DWORD sesi2_idle_time;
127 DWORD sesi2_user_flags;
128 [string] wchar_t *sesi2_cltype_name;
129 } SESSION_INFO_2, *PSESSION_INFO_2, *LPSESSION_INFO_2;
130
131 typedef struct _SESSION_INFO_2_CONTAINER
132 {
133 DWORD EntriesRead;
134 [size_is(EntriesRead)] LPSESSION_INFO_2 Buffer;
135 } SESSION_INFO_2_CONTAINER, *PSESSION_INFO_2_CONTAINER, *LPSESSION_INFO_2_CONTAINER;
136
137 typedef struct _SESSION_INFO_10
138 {
139 [string] wchar_t *sesi10_cname;
140 [string] wchar_t *sesi10_username;
141 DWORD sesi10_time;
142 DWORD sesi10_idle_time;
143 } SESSION_INFO_10, *PSESSION_INFO_10, *LPSESSION_INFO_10;
144
145 typedef struct _SESSION_INFO_10_CONTAINER
146 {
147 DWORD EntriesRead;
148 [size_is(EntriesRead)] LPSESSION_INFO_10 Buffer;
149 } SESSION_INFO_10_CONTAINER, *PSESSION_INFO_10_CONTAINER, *LPSESSION_INFO_10_CONTAINER;
150
151 typedef struct _SESSION_INFO_502
152 {
153 [string] wchar_t *sesi502_cname;
154 [string] wchar_t *sesi502_username;
155 DWORD sesi502_num_opens;
156 DWORD sesi502_time;
157 DWORD sesi502_idle_time;
158 DWORD sesi502_user_flags;
159 [string] wchar_t *sesi502_cltype_name;
160 [string] wchar_t *sesi502_transport;
161 } SESSION_INFO_502, *PSESSION_INFO_502, *LPSESSION_INFO_502;
162
163 typedef struct _SESSION_INFO_502_CONTAINER
164 {
165 DWORD EntriesRead;
166 [size_is(EntriesRead)] LPSESSION_INFO_502 Buffer;
167 } SESSION_INFO_502_CONTAINER, *PSESSION_INFO_502_CONTAINER, *LPSESSION_INFO_502_CONTAINER;
168
169 typedef [switch_type(DWORD)] union _SESSION_ENUM_UNION
170 {
171 [case(0)] SESSION_INFO_0_CONTAINER *Level0;
172 [case(1)] SESSION_INFO_1_CONTAINER *Level1;
173 [case(2)] SESSION_INFO_2_CONTAINER *Level2;
174 [case(10)] SESSION_INFO_10_CONTAINER *Level10;
175 [case(502)] SESSION_INFO_502_CONTAINER *Level502;
176 } SESSION_ENUM_UNION;
177
178 typedef struct _SESSION_ENUM_STRUCT {
179 DWORD Level;
180 [switch_is(Level)] SESSION_ENUM_UNION SessionInfo;
181 } SESSION_ENUM_STRUCT, *PSESSION_ENUM_STRUCT, *LPSESSION_ENUM_STRUCT;
182
183 typedef struct _SHARE_INFO_502_I
184 {
185 [string] WCHAR *shi502_netname;
186 DWORD shi502_type;
187 [string] WCHAR *shi502_remark;
188 DWORD shi502_permissions;
189 DWORD shi502_max_uses;
190 DWORD shi502_current_uses;
191 [string] WCHAR *shi502_path;
192 [string] WCHAR *shi502_passwd;
193 DWORD shi502_reserved;
194 [size_is(shi502_reserved)] unsigned char *shi502_security_descriptor;
195 } SHARE_INFO_502_I, *PSHARE_INFO_502_I, *LPSHARE_INFO_502_I;
196
197 typedef struct _SHARE_INFO_503_I
198 {
199 [string] WCHAR *shi503_netname;
200 DWORD shi503_type;
201 [string] WCHAR *shi503_remark;
202 DWORD shi503_permissions;
203 DWORD shi503_max_uses;
204 DWORD shi503_current_uses;
205 [string] WCHAR *shi503_path;
206 [string] WCHAR *shi503_passwd;
207 [string] WCHAR *shi503_servername;
208 DWORD shi503_reserved;
209 [size_is(shi503_reserved)] PUCHAR shi503_security_descriptor;
210 } SHARE_INFO_503_I, *PSHARE_INFO_503_I, *LPSHARE_INFO_503_I;
211
212 typedef struct _SHARE_INFO_503_CONTAINER
213 { DWORD EntriesRead;
214 [size_is(EntriesRead)] LPSHARE_INFO_503_I Buffer;
215 } SHARE_INFO_503_CONTAINER, *PSHARE_INFO_503_CONTAINER, *LPSHARE_INFO_503_CONTAINER;
216
217 typedef struct _SHARE_INFO_1501_I
218 {
219 DWORD shi1501_reserved;
220 [size_is(shi1501_reserved)] unsigned char *shi1501_security_descriptor;
221 } SHARE_INFO_1501_I, *PSHARE_INFO_1501_I, *LPSHARE_INFO_1501_I;
222
223 typedef struct _SHARE_INFO_0
224 {
225 [string] wchar_t *shi0_netname;
226 } SHARE_INFO_0, *PSHARE_INFO_0, *LPSHARE_INFO_0;
227
228 typedef struct _SHARE_INFO_0_CONTAINER
229 {
230 DWORD EntriesRead;
231 [size_is(EntriesRead)] LPSHARE_INFO_0 Buffer;
232 } SHARE_INFO_0_CONTAINER;
233
234 typedef struct _SHARE_INFO_1
235 {
236 [string] wchar_t *shi1_netname;
237 DWORD shi1_type;
238 [string] wchar_t *shi1_remark;
239 } SHARE_INFO_1, *PSHARE_INFO_1, *LPSHARE_INFO_1;
240
241 typedef struct _SHARE_INFO_1_CONTAINER
242 {
243 DWORD EntriesRead;
244 [size_is(EntriesRead)] LPSHARE_INFO_1 Buffer;
245 } SHARE_INFO_1_CONTAINER;
246
247 typedef struct _SHARE_INFO_2
248 {
249 [string] wchar_t *shi2_netname;
250 DWORD shi2_type;
251 [string] wchar_t *shi2_remark;
252 DWORD shi2_permissions;
253 DWORD shi2_max_uses;
254 DWORD shi2_current_uses;
255 [string] wchar_t *shi2_path;
256 [string] wchar_t *shi2_passwd;
257 } SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2;
258
259 typedef struct _SHARE_INFO_2_CONTAINER
260 {
261 DWORD EntriesRead;
262 [size_is(EntriesRead)] LPSHARE_INFO_2 Buffer;
263 } SHARE_INFO_2_CONTAINER, *PSHARE_INFO_2_CONTAINER, *LPSHARE_INFO_2_CONTAINER;
264
265 typedef struct _SHARE_INFO_501
266 {
267 [string] wchar_t *shi501_netname;
268 DWORD shi501_type;
269 [string] wchar_t *shi501_remark;
270 DWORD shi501_flags;
271 } SHARE_INFO_501, *PSHARE_INFO_501, *LPSHARE_INFO_501;
272
273 typedef struct _SHARE_INFO_501_CONTAINER
274 {
275 DWORD EntriesRead;
276 [size_is(EntriesRead)] LPSHARE_INFO_501 Buffer;
277 } SHARE_INFO_501_CONTAINER, *PSHARE_INFO_501_CONTAINER, *LPSHARE_INFO_501_CONTAINER;
278
279 typedef struct _SHARE_INFO_502_CONTAINER
280 {
281 DWORD EntriesRead;
282 [size_is(EntriesRead)] LPSHARE_INFO_502_I Buffer;
283 } SHARE_INFO_502_CONTAINER, *PSHARE_INFO_502_CONTAINER, *LPSHARE_INFO_502_CONTAINER;
284
285 typedef [switch_type(DWORD)] union _SHARE_ENUM_UNION
286 {
287 [case(0)] SHARE_INFO_0_CONTAINER *Level0;
288 [case(1)] SHARE_INFO_1_CONTAINER *Level1;
289 [case(2)] SHARE_INFO_2_CONTAINER *Level2;
290 [case(501)] SHARE_INFO_501_CONTAINER *Level501;
291 [case(502)] SHARE_INFO_502_CONTAINER *Level502;
292 [case(503)] SHARE_INFO_503_CONTAINER *Level503;
293 } SHARE_ENUM_UNION;
294
295 typedef struct _SHARE_ENUM_STRUCT
296 {
297 DWORD Level;
298 [switch_is(Level)] SHARE_ENUM_UNION ShareInfo;
299 } SHARE_ENUM_STRUCT, *PSHARE_ENUM_STRUCT, *LPSHARE_ENUM_STRUCT;
300
301 typedef struct _SHARE_INFO_1004
302 {
303 [string] wchar_t *shi1004_remark;
304 } SHARE_INFO_1004, *PSHARE_INFO_1004, *LPSHARE_INFO_1004;
305
306 typedef struct _SHARE_INFO_1006
307 {
308 DWORD shi1006_max_uses;
309 } SHARE_INFO_1006, *PSHARE_INFO_1006, *LPSHARE_INFO_1006;
310
311 typedef struct _SHARE_INFO_1005
312 {
313 DWORD shi1005_flags;
314 } SHARE_INFO_1005, *PSHARE_INFO_1005, *LPSHARE_INFO_1005;
315
316 //JMP: order differs in documentation
317 typedef [switch_type(unsigned long)] union _SHARE_INFO
318 // for Get & Set info
319 {
320 [case(0)] LPSHARE_INFO_0 ShareInfo0;
321 [case(1)] LPSHARE_INFO_1 ShareInfo1;
322 [case(2)] LPSHARE_INFO_2 ShareInfo2;
323 [case(502)] LPSHARE_INFO_502_I ShareInfo502;
324 [case(1004)] LPSHARE_INFO_1004 ShareInfo1004;
325 [case(1006)] LPSHARE_INFO_1006 ShareInfo1006;
326 [case(1501)] LPSHARE_INFO_1501_I ShareInfo1501;
327 [default] ;
328 [case(1005)] LPSHARE_INFO_1005 ShareInfo1005;
329 [case(501)] LPSHARE_INFO_501 ShareInfo501;
330 [case(503)] LPSHARE_INFO_503_I ShareInfo503;
331 } SHARE_INFO, *PSHARE_INFO, *LPSHARE_INFO;
332
333 typedef struct _SERVER_INFO_100
334 {
335 DWORD sv100_platform_id;
336 [string] wchar_t *sv100_name;
337 } SERVER_INFO_100, *PSERVER_INFO_100, *LPSERVER_INFO_100;
338
339 typedef struct _SERVER_INFO_101
340 {
341 DWORD sv101_platform_id;
342 [string] wchar_t *sv101_name;
343 DWORD sv101_version_major;
344 DWORD sv101_version_minor;
345 DWORD sv101_type;
346 [string] wchar_t *sv101_comment;
347 } SERVER_INFO_101, *PSERVER_INFO_101, *LPSERVER_INFO_101;
348
349 typedef struct _SERVER_INFO_102
350 {
351 DWORD sv102_platform_id;
352 [string] wchar_t *sv102_name;
353 DWORD sv102_version_major;
354 DWORD sv102_version_minor;
355 DWORD sv102_type;
356 [string] wchar_t *sv102_comment;
357 DWORD sv102_users;
358 long sv102_disc;
359 int sv102_hidden;
360 DWORD sv102_announce;
361 DWORD sv102_anndelta;
362 DWORD sv102_licenses;
363 [string] wchar_t *sv102_userpath;
364 } SERVER_INFO_102, *PSERVER_INFO_102, *LPSERVER_INFO_102;
365
366 typedef struct _SERVER_INFO_103
367 {
368 DWORD sv103_platform_id;
369 [string] wchar_t *sv103_name;
370 DWORD sv103_version_major;
371 DWORD sv103_version_minor;
372 DWORD sv103_type;
373 [string] wchar_t *sv103_comment;
374 DWORD sv103_users;
375 LONG sv103_disc;
376 BOOL sv103_hidden;
377 DWORD sv103_announce;
378 DWORD sv103_anndelta;
379 DWORD sv103_licenses;
380 [string] wchar_t* sv103_userpath;
381 DWORD sv103_capabilities;
382 } SERVER_INFO_103, *PSERVER_INFO_103, *LPSERVER_INFO_103;
383
384 typedef struct _SERVER_INFO_502
385 {
386 DWORD sv502_sessopens;
387 DWORD sv502_sessvcs;
388 DWORD sv502_opensearch;
389 DWORD sv502_sizreqbuf;
390 DWORD sv502_initworkitems;
391 DWORD sv502_maxworkitems;
392 DWORD sv502_rawworkitems;
393 DWORD sv502_irpstacksize;
394 DWORD sv502_maxrawbuflen;
395 DWORD sv502_sessusers;
396 DWORD sv502_sessconns;
397 DWORD sv502_maxpagedmemoryusage;
398 DWORD sv502_maxnonpagedmemoryusage;
399 int sv502_enablesoftcompat;
400 int sv502_enableforcedlogoff;
401 int sv502_timesource;
402 int sv502_acceptdownlevelapis;
403 int sv502_lmannounce;
404 } SERVER_INFO_502, *PSERVER_INFO_502, *LPSERVER_INFO_502;
405
406 typedef struct _SERVER_INFO_503
407 {
408 DWORD sv503_sessopens;
409 DWORD sv503_sessvcs;
410 DWORD sv503_opensearch;
411 DWORD sv503_sizreqbuf;
412 DWORD sv503_initworkitems;
413 DWORD sv503_maxworkitems;
414 DWORD sv503_rawworkitems;
415 DWORD sv503_irpstacksize;
416 DWORD sv503_maxrawbuflen;
417 DWORD sv503_sessusers;
418 DWORD sv503_sessconns;
419 DWORD sv503_maxpagedmemoryusage;
420 DWORD sv503_maxnonpagedmemoryusage;
421 int sv503_enablesoftcompat;
422 int sv503_enableforcedlogoff;
423 int sv503_timesource;
424 int sv503_acceptdownlevelapis;
425 int sv503_lmannounce;
426 [string] wchar_t *sv503_domain;
427 DWORD sv503_maxcopyreadlen;
428 DWORD sv503_maxcopywritelen;
429 DWORD sv503_minkeepsearch;
430 DWORD sv503_maxkeepsearch;
431 DWORD sv503_minkeepcomplsearch;
432 DWORD sv503_maxkeepcomplsearch;
433 DWORD sv503_threadcountadd;
434 DWORD sv503_numblockthreads;
435 DWORD sv503_scavtimeout;
436 DWORD sv503_minrcvqueue;
437 DWORD sv503_minfreeworkitems;
438 DWORD sv503_xactmemsize;
439 DWORD sv503_threadpriority;
440 DWORD sv503_maxmpxct;
441 DWORD sv503_oplockbreakwait;
442 DWORD sv503_oplockbreakresponsewait;
443 int sv503_enableoplocks;
444 int sv503_enableoplockforceclose;
445 int sv503_enablefcbopens;
446 int sv503_enableraw;
447 int sv503_enablesharednetdrives;
448 DWORD sv503_minfreeconnections;
449 DWORD sv503_maxfreeconnections;
450 } SERVER_INFO_503, *PSERVER_INFO_503, *LPSERVER_INFO_503;
451
452 typedef struct _SERVER_INFO_599
453 {
454 DWORD sv599_sessopens;
455 DWORD sv599_sessvcs;
456 DWORD sv599_opensearch;
457 DWORD sv599_sizreqbuf;
458 DWORD sv599_initworkitems;
459 DWORD sv599_maxworkitems;
460 DWORD sv599_rawworkitems;
461 DWORD sv599_irpstacksize;
462 DWORD sv599_maxrawbuflen;
463 DWORD sv599_sessusers;
464 DWORD sv599_sessconns;
465 DWORD sv599_maxpagedmemoryusage;
466 DWORD sv599_maxnonpagedmemoryusage;
467 int sv599_enablesoftcompat;
468 int sv599_enableforcedlogoff;
469 int sv599_timesource;
470 int sv599_acceptdownlevelapis;
471 int sv599_lmannounce;
472 [string] wchar_t *sv599_domain;
473 DWORD sv599_maxcopyreadlen;
474 DWORD sv599_maxcopywritelen;
475 DWORD sv599_minkeepsearch;
476 DWORD sv599_maxkeepsearch;
477 DWORD sv599_minkeepcomplsearch;
478 DWORD sv599_maxkeepcomplsearch;
479 DWORD sv599_threadcountadd;
480 DWORD sv599_numblockthreads;
481 DWORD sv599_scavtimeout;
482 DWORD sv599_minrcvqueue;
483 DWORD sv599_minfreeworkitems;
484 DWORD sv599_xactmemsize;
485 DWORD sv599_threadpriority;
486 DWORD sv599_maxmpxct;
487 DWORD sv599_oplockbreakwait;
488 DWORD sv599_oplockbreakresponsewait;
489 int sv599_enableoplocks;
490 int sv599_enableoplockforceclose;
491 int sv599_enablefcbopens;
492 int sv599_enableraw;
493 int sv599_enablesharednetdrives;
494 DWORD sv599_minfreeconnections;
495 DWORD sv599_maxfreeconnections;
496 DWORD sv599_initsesstable;
497 DWORD sv599_initconntable;
498 DWORD sv599_initfiletable;
499 DWORD sv599_initsearchtable;
500 DWORD sv599_alertschedule;
501 DWORD sv599_errorthreshold;
502 DWORD sv599_networkerrorthreshold;
503 DWORD sv599_diskspacethreshold;
504 DWORD sv599_reserved;
505 DWORD sv599_maxlinkdelay;
506 DWORD sv599_minlinkthroughput;
507 DWORD sv599_linkinfovalidtime;
508 DWORD sv599_scavqosinfoupdatetime;
509 DWORD sv599_maxworkitemidletime;
510 } SERVER_INFO_599, *PSERVER_INFO_599, *LPSERVER_INFO_599;
511
512 typedef struct _SERVER_INFO_1005
513 {
514 [string] wchar_t *sv1005_comment;
515 } SERVER_INFO_1005, *PSERVER_INFO_1005, *LPSERVER_INFO_1005;
516
517 typedef struct _SERVER_INFO_1107
518 {
519 DWORD sv1107_users;
520 } SERVER_INFO_1107, *PSERVER_INFO_1107, *LPSERVER_INFO_1107;
521
522 typedef struct _SERVER_INFO_1010
523 {
524 long sv1010_disc;
525 } SERVER_INFO_1010, *PSERVER_INFO_1010, *LPSERVER_INFO_1010;
526
527 typedef struct _SERVER_INFO_1016
528 {
529 int sv1016_hidden;
530 } SERVER_INFO_1016, *PSERVER_INFO_1016, *LPSERVER_INFO_1016;
531
532 typedef struct _SERVER_INFO_1017
533 {
534 DWORD sv1017_announce;
535 } SERVER_INFO_1017, *PSERVER_INFO_1017, *LPSERVER_INFO_1017;
536
537 typedef struct _SERVER_INFO_1018
538 {
539 DWORD sv1018_anndelta;
540 } SERVER_INFO_1018, *PSERVER_INFO_1018, *LPSERVER_INFO_1018;
541
542 typedef struct _SERVER_INFO_1501
543 {
544 DWORD sv1501_sessopens;
545 } SERVER_INFO_1501, *PSERVER_INFO_1501, *LPSERVER_INFO_1501;
546
547 typedef struct _SERVER_INFO_1502
548 {
549 DWORD sv1502_sessvcs;
550 } SERVER_INFO_1502, *PSERVER_INFO_1502, *LPSERVER_INFO_1502;
551
552 typedef struct _SERVER_INFO_1503
553 {
554 DWORD sv1503_opensearch;
555 } SERVER_INFO_1503, *PSERVER_INFO_1503, *LPSERVER_INFO_1503;
556
557 typedef struct _SERVER_INFO_1506
558 {
559 DWORD sv1506_maxworkitems;
560 } SERVER_INFO_1506, *PSERVER_INFO_1506, *LPSERVER_INFO_1506;
561
562 typedef struct _SERVER_INFO_1510
563 {
564 DWORD sv1510_sessusers;
565 } SERVER_INFO_1510, *PSERVER_INFO_1510, *LPSERVER_INFO_1510;
566
567 typedef struct _SERVER_INFO_1511
568 {
569 DWORD sv1511_sessconns;
570 } SERVER_INFO_1511, *PSERVER_INFO_1511, *LPSERVER_INFO_1511;
571
572 typedef struct _SERVER_INFO_1512
573 {
574 DWORD sv1512_maxnonpagedmemoryusage;
575 } SERVER_INFO_1512, *PSERVER_INFO_1512, *LPSERVER_INFO_1512;
576
577 typedef struct _SERVER_INFO_1513
578 {
579 DWORD sv1513_maxpagedmemoryusage;
580 } SERVER_INFO_1513, *PSERVER_INFO_1513, *LPSERVER_INFO_1513;
581
582 typedef struct _SERVER_INFO_1514
583 {
584 int sv1514_enablesoftcompat;
585 } SERVER_INFO_1514, *PSERVER_INFO_1514, *LPSERVER_INFO_1514;
586
587 typedef struct _SERVER_INFO_1515
588 {
589 int sv1515_enableforcedlogoff;
590 } SERVER_INFO_1515, *PSERVER_INFO_1515, *LPSERVER_INFO_1515;
591
592 typedef struct _SERVER_INFO_1516
593 {
594 int sv1516_timesource;
595 } SERVER_INFO_1516, *PSERVER_INFO_1516, *LPSERVER_INFO_1516;
596
597 typedef struct _SERVER_INFO_1518
598 {
599 int sv1518_lmannounce;
600 } SERVER_INFO_1518, *PSERVER_INFO_1518, *LPSERVER_INFO_1518;
601
602 typedef struct _SERVER_INFO_1523
603 {
604 DWORD sv1523_maxkeepsearch;
605 } SERVER_INFO_1523, *PSERVER_INFO_1523, *LPSERVER_INFO_1523;
606
607 typedef struct _SERVER_INFO_1528
608 {
609 DWORD sv1528_scavtimeout;
610 } SERVER_INFO_1528, *PSERVER_INFO_1528, *LPSERVER_INFO_1528;
611
612 typedef struct _SERVER_INFO_1529
613 {
614 DWORD sv1529_minrcvqueue;
615 } SERVER_INFO_1529, *PSERVER_INFO_1529, *LPSERVER_INFO_1529;
616
617 typedef struct _SERVER_INFO_1530
618 {
619 DWORD sv1530_minfreeworkitems;
620 } SERVER_INFO_1530, *PSERVER_INFO_1530, *LPSERVER_INFO_1530;
621
622 typedef struct _SERVER_INFO_1533
623 {
624 DWORD sv1533_maxmpxct;
625 } SERVER_INFO_1533, *PSERVER_INFO_1533, *LPSERVER_INFO_1533;
626
627 typedef struct _SERVER_INFO_1534
628 {
629 DWORD sv1534_oplockbreakwait;
630 } SERVER_INFO_1534, *PSERVER_INFO_1534, *LPSERVER_INFO_1534;
631
632 typedef struct _SERVER_INFO_1535
633 {
634 DWORD sv1535_oplockbreakresponsewait;
635 } SERVER_INFO_1535, *PSERVER_INFO_1535, *LPSERVER_INFO_1535;
636
637 typedef struct _SERVER_INFO_1536
638 {
639 int sv1536_enableoplocks;
640 } SERVER_INFO_1536, *PSERVER_INFO_1536, *LPSERVER_INFO_1536;
641
642 typedef struct _SERVER_INFO_1538
643 {
644 int sv1538_enablefcbopens;
645 } SERVER_INFO_1538, *PSERVER_INFO_1538, *LPSERVER_INFO_1538;
646
647 typedef struct _SERVER_INFO_1539
648 {
649 int sv1539_enableraw;
650 } SERVER_INFO_1539, *PSERVER_INFO_1539, *LPSERVER_INFO_1539;
651
652 typedef struct _SERVER_INFO_1540
653 {
654 int sv1540_enablesharednetdrives;
655 } SERVER_INFO_1540, *PSERVER_INFO_1540, *LPSERVER_INFO_1540;
656
657 typedef struct _SERVER_INFO_1541
658 {
659 int sv1541_minfreeconnections;
660 } SERVER_INFO_1541, *PSERVER_INFO_1541, *LPSERVER_INFO_1541;
661
662 typedef struct _SERVER_INFO_1542
663 {
664 int sv1542_maxfreeconnections;
665 } SERVER_INFO_1542, *PSERVER_INFO_1542, *LPSERVER_INFO_1542;
666
667 typedef struct _SERVER_INFO_1543
668 {
669 DWORD sv1543_initsesstable;
670 } SERVER_INFO_1543, *PSERVER_INFO_1543, *LPSERVER_INFO_1543;
671
672 typedef struct _SERVER_INFO_1544
673 {
674 DWORD sv1544_initconntable;
675 } SERVER_INFO_1544, *PSERVER_INFO_1544, *LPSERVER_INFO_1544;
676
677 typedef struct _SERVER_INFO_1545
678 {
679 DWORD sv1545_initfiletable;
680 } SERVER_INFO_1545, *PSERVER_INFO_1545, *LPSERVER_INFO_1545;
681
682 typedef struct _SERVER_INFO_1546
683 {
684 DWORD sv1546_initsearchtable;
685 } SERVER_INFO_1546, *PSERVER_INFO_1546, *LPSERVER_INFO_1546;
686
687 typedef struct _SERVER_INFO_1547
688 {
689 DWORD sv1547_alertschedule;
690 } SERVER_INFO_1547, *PSERVER_INFO_1547, *LPSERVER_INFO_1547;
691
692 typedef struct _SERVER_INFO_1548
693 {
694 DWORD sv1548_errorthreshold;
695 } SERVER_INFO_1548, *PSERVER_INFO_1548, *LPSERVER_INFO_1548;
696
697 typedef struct _SERVER_INFO_1549
698 {
699 DWORD sv1549_networkerrorthreshold;
700 } SERVER_INFO_1549, *PSERVER_INFO_1549, *LPSERVER_INFO_1549;
701
702 typedef struct _SERVER_INFO_1550
703 {
704 DWORD sv1550_diskspacethreshold;
705 } SERVER_INFO_1550, *PSERVER_INFO_1550, *LPSERVER_INFO_1550;
706
707 typedef struct _SERVER_INFO_1552
708 {
709 DWORD sv1552_maxlinkdelay;
710 } SERVER_INFO_1552, *PSERVER_INFO_1552, *LPSERVER_INFO_1552;
711
712 typedef struct _SERVER_INFO_1553
713 {
714 DWORD sv1553_minlinkthroughput;
715 } SERVER_INFO_1553, *PSERVER_INFO_1553, *LPSERVER_INFO_1553;
716
717 typedef struct _SERVER_INFO_1554
718 {
719 DWORD sv1554_linkinfovalidtime;
720 } SERVER_INFO_1554, *PSERVER_INFO_1554, *LPSERVER_INFO_1554;
721
722 typedef struct _SERVER_INFO_1555
723 {
724 DWORD sv1555_scavqosinfoupdatetime;
725 } SERVER_INFO_1555, *PSERVER_INFO_1555, *LPSERVER_INFO_1555;
726
727 typedef struct _SERVER_INFO_1556
728 {
729 DWORD sv1556_maxworkitemidletime;
730 } SERVER_INFO_1556, *PSERVER_INFO_1556, *LPSERVER_INFO_1556;
731
732 typedef [switch_type(unsigned long)] union _SERVER_INFO
733 {
734 [case(100)] LPSERVER_INFO_100 ServerInfo100;
735 [case(101)] LPSERVER_INFO_101 ServerInfo101;
736 [case(102)] LPSERVER_INFO_102 ServerInfo102;
737 [case(103)] LPSERVER_INFO_103 ServerInfo103;
738 [case(502)] LPSERVER_INFO_502 ServerInfo502;
739 [case(503)] LPSERVER_INFO_503 ServerInfo503;
740 [case(599)] LPSERVER_INFO_599 ServerInfo599;
741 [case(1005)] LPSERVER_INFO_1005 ServerInfo1005;
742 [case(1107)] LPSERVER_INFO_1107 ServerInfo1107;
743 [case(1010)] LPSERVER_INFO_1010 ServerInfo1010;
744 [case(1016)] LPSERVER_INFO_1016 ServerInfo1016;
745 [case(1017)] LPSERVER_INFO_1017 ServerInfo1017;
746 [case(1018)] LPSERVER_INFO_1018 ServerInfo1018;
747 [case(1501)] LPSERVER_INFO_1501 ServerInfo1501;
748 [case(1502)] LPSERVER_INFO_1502 ServerInfo1502;
749 [case(1503)] LPSERVER_INFO_1503 ServerInfo1503;
750 [case(1506)] LPSERVER_INFO_1506 ServerInfo1506;
751 [case(1510)] LPSERVER_INFO_1510 ServerInfo1510;
752 [case(1511)] LPSERVER_INFO_1511 ServerInfo1511;
753 [case(1512)] LPSERVER_INFO_1512 ServerInfo1512;
754 [case(1513)] LPSERVER_INFO_1513 ServerInfo1513;
755 [case(1514)] LPSERVER_INFO_1514 ServerInfo1514;
756 [case(1515)] LPSERVER_INFO_1515 ServerInfo1515;
757 [case(1516)] LPSERVER_INFO_1516 ServerInfo1516;
758 [case(1518)] LPSERVER_INFO_1518 ServerInfo1518;
759 [case(1523)] LPSERVER_INFO_1523 ServerInfo1523;
760 [case(1528)] LPSERVER_INFO_1528 ServerInfo1528;
761 [case(1529)] LPSERVER_INFO_1529 ServerInfo1529;
762 [case(1530)] LPSERVER_INFO_1530 ServerInfo1530;
763 [case(1533)] LPSERVER_INFO_1533 ServerInfo1533;
764 [case(1534)] LPSERVER_INFO_1534 ServerInfo1534;
765 [case(1535)] LPSERVER_INFO_1535 ServerInfo1535;
766 [case(1536)] LPSERVER_INFO_1536 ServerInfo1536;
767 [case(1538)] LPSERVER_INFO_1538 ServerInfo1538;
768 [case(1539)] LPSERVER_INFO_1539 ServerInfo1539;
769 [case(1540)] LPSERVER_INFO_1540 ServerInfo1540;
770 [case(1541)] LPSERVER_INFO_1541 ServerInfo1541;
771 [case(1542)] LPSERVER_INFO_1542 ServerInfo1542;
772 [case(1543)] LPSERVER_INFO_1543 ServerInfo1543;
773 [case(1544)] LPSERVER_INFO_1544 ServerInfo1544;
774 [case(1545)] LPSERVER_INFO_1545 ServerInfo1545;
775 [case(1546)] LPSERVER_INFO_1546 ServerInfo1546;
776 [case(1547)] LPSERVER_INFO_1547 ServerInfo1547;
777 [case(1548)] LPSERVER_INFO_1548 ServerInfo1548;
778 [case(1549)] LPSERVER_INFO_1549 ServerInfo1549;
779 [case(1550)] LPSERVER_INFO_1550 ServerInfo1550;
780 [case(1552)] LPSERVER_INFO_1552 ServerInfo1552;
781 [case(1553)] LPSERVER_INFO_1553 ServerInfo1553;
782 [case(1554)] LPSERVER_INFO_1554 ServerInfo1554;
783 [case(1555)] LPSERVER_INFO_1555 ServerInfo1555;
784 [case(1556)] LPSERVER_INFO_1556 ServerInfo1556;
785 } SERVER_INFO, *PSERVER_INFO, *LPSERVER_INFO;
786
787 typedef struct _DISK_INFO
788 {
789 [string] WCHAR Disk[3];
790 } DISK_INFO, *PDISK_INFO, *LPDISK_INFO;
791
792 typedef struct _DISK_ENUM_CONTAINER
793 {
794 DWORD EntriesRead;
795 [size_is(EntriesRead), length_is(EntriesRead)] LPDISK_INFO Buffer;
796 } DISK_ENUM_CONTAINER;
797
798 typedef struct _SERVER_TRANSPORT_INFO_0
799 {
800 DWORD svti0_numberofvcs;
801 [string] wchar_t *svti0_transportname;
802 [size_is(svti0_transportaddresslength)] unsigned char *svti0_transportaddress;
803 DWORD svti0_transportaddresslength;
804 [string] wchar_t *svti0_networkaddress;
805 } SERVER_TRANSPORT_INFO_0, *PSERVER_TRANSPORT_INFO_0, *LPSERVER_TRANSPORT_INFO_0;
806
807 typedef struct _SERVER_XPORT_INFO_0_CONTAINER
808 {
809 DWORD EntriesRead;
810 [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_0 Buffer;
811 } SERVER_XPORT_INFO_0_CONTAINER, *PSERVER_XPORT_INFO_0_CONTAINER;
812
813 typedef struct _SERVER_TRANSPORT_INFO_1
814 {
815 DWORD svti1_numberofvcs;
816 [string] wchar_t *svti1_transportname;
817 [size_is(svti1_transportaddresslength)] unsigned char *svti1_transportaddress;
818 DWORD svti1_transportaddresslength;
819 [string] wchar_t *svti1_networkaddress;
820 [string] wchar_t *svti1_domain;
821 } SERVER_TRANSPORT_INFO_1, *PSERVER_TRANSPORT_INFO_1, *LPSERVER_TRANSPORT_INFO_1;
822
823 typedef struct _SERVER_XPORT_INFO_1_CONTAINER
824 {
825 DWORD EntriesRead;
826 [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_1 Buffer;
827 } SERVER_XPORT_INFO_1_CONTAINER, *PSERVER_XPORT_INFO_1_CONTAINER;
828
829 typedef struct _SERVER_TRANSPORT_INFO_2
830 {
831 DWORD svti2_numberofvcs;
832 [string] wchar_t *svti2_transportname;
833 [size_is(svti2_transportaddresslength)] unsigned char *svti2_transportaddress;
834 DWORD svti2_transportaddresslength;
835 [string] wchar_t *svti2_networkaddress;
836 [string] wchar_t *svti2_domain;
837 unsigned long svti2_flags;
838 } SERVER_TRANSPORT_INFO_2, *PSERVER_TRANSPORT_INFO_2, *LPSERVER_TRANSPORT_INFO_2;
839
840 typedef struct _SERVER_XPORT_INFO_2_CONTAINER
841 {
842 DWORD EntriesRead;
843 [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_2 Buffer;
844 } SERVER_XPORT_INFO_2_CONTAINER, *PSERVER_XPORT_INFO_2_CONTAINER;
845
846 typedef struct _SERVER_TRANSPORT_INFO_3
847 {
848 DWORD svti3_numberofvcs;
849 [string] wchar_t *svti3_transportname;
850 [size_is(svti3_transportaddresslength)] unsigned char *svti3_transportaddress;
851 DWORD svti3_transportaddresslength;
852 [string] wchar_t *svti3_networkaddress;
853 [string] wchar_t *svti3_domain;
854 unsigned long svti3_flags;
855 DWORD svti3_passwordlength;
856 unsigned char svti3_password[256];
857 } SERVER_TRANSPORT_INFO_3, *PSERVER_TRANSPORT_INFO_3, *LPSERVER_TRANSPORT_INFO_3;
858
859 typedef struct _SERVER_XPORT_INFO_3_CONTAINER
860 {
861 DWORD EntriesRead;
862 [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_3 Buffer;
863 } SERVER_XPORT_INFO_3_CONTAINER, *PSERVER_XPORT_INFO_3_CONTAINER;
864
865 typedef [switch_type(unsigned long)] union _TRANSPORT_INFO
866 {
867 [case(0)] SERVER_TRANSPORT_INFO_0 Transport0;
868 [case(1)] SERVER_TRANSPORT_INFO_1 Transport1;
869 [case(2)] SERVER_TRANSPORT_INFO_2 Transport2;
870 [case(3)] SERVER_TRANSPORT_INFO_3 Transport3;
871 } TRANSPORT_INFO, *PTRANSPORT_INFO, *LPTRANSPORT_INFO;
872
873 typedef [switch_type(DWORD)] union _SERVER_XPORT_ENUM_UNION
874 {
875 [case(0)] PSERVER_XPORT_INFO_0_CONTAINER Level0;
876 [case(1)] PSERVER_XPORT_INFO_1_CONTAINER Level1;
877 [case(2)] PSERVER_XPORT_INFO_2_CONTAINER Level2;
878 [case(3)] PSERVER_XPORT_INFO_3_CONTAINER Level3;
879 } SERVER_XPORT_ENUM_UNION;
880
881 typedef struct _SERVER_XPORT_ENUM_STRUCT
882 {
883 DWORD Level;
884 [switch_is(Level)] SERVER_XPORT_ENUM_UNION XportInfo;
885 } SERVER_XPORT_ENUM_STRUCT, *PSERVER_XPORT_ENUM_STRUCT, *LPSERVER_XPORT_ENUM_STRUCT;
886
887 typedef [context_handle] void *SHARE_DEL_HANDLE;
888 typedef SHARE_DEL_HANDLE *PSHARE_DEL_HANDLE;
889
890 typedef struct _ADT_SECURITY_DESCRIPTOR
891 {
892 DWORD Length;
893 [size_is(Length)] unsigned char *Buffer;
894 } ADT_SECURITY_DESCRIPTOR, *PADT_SECURITY_DESCRIPTOR;
895
896 typedef struct _STAT_SERVER_0
897 {
898 DWORD sts0_start;
899 DWORD sts0_fopens;
900 DWORD sts0_devopens;
901 DWORD sts0_jobsqueued;
902 DWORD sts0_sopens;
903 DWORD sts0_stimedout;
904 DWORD sts0_serrorout;
905 DWORD sts0_pwerrors;
906 DWORD sts0_permerrors;
907 DWORD sts0_syserrors;
908 DWORD sts0_bytessent_low;
909 DWORD sts0_bytessent_high;
910 DWORD sts0_bytesrcvd_low;
911 DWORD sts0_bytesrcvd_high;
912 DWORD sts0_avresponse;
913 DWORD sts0_reqbufneed;
914 DWORD sts0_bigbufneed;
915 } STAT_SERVER_0, *PSTAT_SERVER_0, *LPSTAT_SERVER_0;
916
917 typedef struct _TIME_OF_DAY_INFO
918 {
919 DWORD tod_elapsedt;
920 DWORD tod_msecs;
921 DWORD tod_hours;
922 DWORD tod_mins;
923 DWORD tod_secs;
924 DWORD tod_hunds;
925 long tod_timezone;
926 DWORD tod_tinterval;
927 DWORD tod_day;
928 DWORD tod_month;
929 DWORD tod_year;
930 DWORD tod_weekday;
931 } TIME_OF_DAY_INFO, *PTIME_OF_DAY_INFO, *LPTIME_OF_DAY_INFO;
932
933 typedef struct _NET_DFS_ENTRY_ID
934 {
935 GUID Uid;
936 [string] WCHAR *Prefix;
937 } NET_DFS_ENTRY_ID, *LPNET_DFS_ENTRY_ID;
938
939 typedef struct _NET_DFS_ENTRY_ID_CONTAINER
940 {
941 unsigned long Count;
942 [size_is(Count)] LPNET_DFS_ENTRY_ID Buffer;
943 } NET_DFS_ENTRY_ID_CONTAINER, *LPNET_DFS_ENTRY_ID_CONTAINER;
944
945 typedef struct _DFS_SITENAME_INFO
946 {
947 unsigned long SiteFlags;
948 [string,unique] WCHAR *SiteName;
949 } DFS_SITENAME_INFO, *PDFS_SITENAME_INFO, *LPDFS_SITENAME_INFO;
950
951 typedef struct _DFS_SITELIST_INFO
952 {
953 unsigned long cSites;
954 [size_is(cSites)] DFS_SITENAME_INFO Site[];
955 } DFS_SITELIST_INFO, *PDFS_SITELIST_INFO, *LPDFS_SITELIST_INFO;
956
957 typedef struct _SERVER_ALIAS_INFO_0
958 {
959 [string] LMSTR srvai0_alias;
960 [string] LMSTR srvai0_target;
961 BOOLEAN srvai0_default;
962 ULONG srvai0_reserved;
963 }SERVER_ALIAS_INFO_0, *PSERVER_ALIAS_INFO_0, *LPSERVER_ALIAS_INFO_0;
964
965 typedef struct _SERVER_ALIAS_INFO_0_CONTAINER
966 {
967 DWORD EntriesRead;
968 [size_is(EntriesRead)] LPSERVER_ALIAS_INFO_0 Buffer;
969 } SERVER_ALIAS_INFO_0_CONTAINER;
970
971 typedef struct _SERVER_ALIAS_ENUM_STRUCT
972 {
973 DWORD Level;
974 [switch_is(Level)] union SERVER_ALIAS_ENUM_UNION
975 {
976 [case(0)] SERVER_ALIAS_INFO_0_CONTAINER *Level0;
977 } ServerAliasInfo;
978 } SERVER_ALIAS_ENUM_STRUCT, *PSERVER_ALIAS_ENUM_STRUCT, *LPSERVER_ALIAS_ENUM_STRUCT;
979
980 typedef [switch_type(unsigned long)] union _SERVER_ALIAS_INFO
981 {
982 [case(0)] LPSERVER_ALIAS_INFO_0 ServerAliasInfo0;
983 } SERVER_ALIAS_INFO, *PSERVER_ALIAS_INFO, *LPSERVER_ALIAS_INFO;
984
985
986 [
987 uuid(4B324FC8-1670-01D3-1278-5A47BF6EE188),
988 version(3.0),
989 // ms_union,
990 pointer_default(unique),
991 endpoint("ncacn_np:[\\pipe\\srvsvc]")
992 #ifndef __midl
993 ,implicit_handle(handle_t hBinding)
994 #endif
995 ]
996 interface srvsvc
997 {
998 // This method not used on the wire
999 void
1000 __stdcall
1001 Opnum0NotUsedOnWire(void);
1002
1003 // This method not used on the wire
1004 void
1005 __stdcall
1006 Opnum1NotUsedOnWire(void);
1007
1008 // This method not used on the wire
1009 void
1010 __stdcall
1011 Opnum2NotUsedOnWire(void);
1012
1013 // This method not used on the wire
1014 void
1015 __stdcall
1016 Opnum3NotUsedOnWire(void);
1017
1018 // This method not used on the wire
1019 void
1020 __stdcall
1021 Opnum4NotUsedOnWire(void);
1022
1023 // This method not used on the wire
1024 void
1025 __stdcall
1026 Opnum5NotUsedOnWire(void);
1027
1028 // This method not used on the wire
1029 void
1030 __stdcall
1031 Opnum6NotUsedOnWire(void);
1032
1033 // This method not used on the wire
1034 void
1035 __stdcall
1036 Opnum7NotUsedOnWire(void);
1037
1038 NET_API_STATUS
1039 __stdcall
1040 NetrConnectionEnum(
1041 [in, string, unique] SRVSVC_HANDLE ServerName,
1042 [in, string, unique] WCHAR *Qualifier,
1043 [in, out] LPCONNECT_ENUM_STRUCT InfoStruct,
1044 [in] DWORD PreferedMaximumLength,
1045 [out] DWORD *TotalEntries,
1046 [in, out, unique] DWORD *ResumeHandle);
1047
1048 NET_API_STATUS
1049 __stdcall
1050 NetrFileEnum(
1051 [in, string, unique] SRVSVC_HANDLE ServerName,
1052 [in, string, unique] WCHAR *BasePath,
1053 [in, string, unique] WCHAR *UserName,
1054 [in, out] PFILE_ENUM_STRUCT InfoStruct,
1055 [in] DWORD PreferedMaximumLength,
1056 [out] DWORD *TotalEntries,
1057 [in, out, unique] DWORD *ResumeHandle);
1058
1059 NET_API_STATUS
1060 __stdcall
1061 NetrFileGetInfo(
1062 [in, string, unique] SRVSVC_HANDLE ServerName,
1063 [in] DWORD FileId,
1064 [in] DWORD Level,
1065 [out, switch_is(Level)] LPFILE_INFO InfoStruct);
1066
1067 NET_API_STATUS
1068 __stdcall
1069 NetrFileClose(
1070 [in,string,unique] SRVSVC_HANDLE ServerName,
1071 [in] DWORD FileId);
1072
1073 NET_API_STATUS
1074 __stdcall
1075 NetrSessionEnum(
1076 [in, string, unique] SRVSVC_HANDLE ServerName,
1077 [in, string, unique] WCHAR *ClientName,
1078 [in, string, unique] WCHAR *UserName,
1079 [in, out] PSESSION_ENUM_STRUCT InfoStruct,
1080 [in] DWORD PreferedMaximumLength,
1081 [out] DWORD *TotalEntries,
1082 [in, out, unique] DWORD *ResumeHandle);
1083
1084 NET_API_STATUS
1085 __stdcall
1086 NetrSessionDel(
1087 [in, string, unique] SRVSVC_HANDLE ServerName,
1088 [in, string, unique] WCHAR *ClientName,
1089 [in, string, unique] WCHAR *UserName);
1090
1091 NET_API_STATUS
1092 __stdcall
1093 NetrShareAdd(
1094 [in, string, unique] SRVSVC_HANDLE ServerName,
1095 [in] DWORD Level,
1096 [in, switch_is(Level)] LPSHARE_INFO InfoStruct,
1097 [in, out, unique] DWORD *ParmErr);
1098
1099 NET_API_STATUS
1100 __stdcall
1101 NetrShareEnum(
1102 [in, string, unique] SRVSVC_HANDLE ServerName,
1103 [in, out] LPSHARE_ENUM_STRUCT InfoStruct,
1104 [in] DWORD PreferedMaximumLength,
1105 [out] DWORD *TotalEntries,
1106 [in, out, unique] DWORD *ResumeHandle);
1107
1108 NET_API_STATUS
1109 __stdcall
1110 NetrShareGetInfo(
1111 [in, string, unique] SRVSVC_HANDLE ServerName,
1112 [in, string] WCHAR *NetName,
1113 [in] DWORD Level,
1114 [out, switch_is(Level)] LPSHARE_INFO InfoStruct);
1115
1116 NET_API_STATUS
1117 __stdcall
1118 NetrShareSetInfo(
1119 [in, string, unique] SRVSVC_HANDLE ServerName,
1120 [in, string] WCHAR *NetName,
1121 [in] DWORD Level,
1122 [in, switch_is(Level)] LPSHARE_INFO ShareInfo,
1123 [in, out, unique] DWORD *ParmErr);
1124
1125 NET_API_STATUS
1126 __stdcall
1127 NetrShareDel (
1128 [in, string, unique] SRVSVC_HANDLE ServerName,
1129 [in, string] WCHAR *NetName,
1130 [in] DWORD Reserved);
1131
1132 NET_API_STATUS
1133 __stdcall
1134 NetrShareDelSticky(
1135 [in, string, unique] SRVSVC_HANDLE ServerName,
1136 [in, string] WCHAR *NetName,
1137 [in] DWORD Reserved);
1138
1139 NET_API_STATUS
1140 __stdcall
1141 NetrShareCheck(
1142 [in, string, unique] SRVSVC_HANDLE ServerName,
1143 [in, string] WCHAR *Device,
1144 [out] DWORD *Type);
1145
1146 NET_API_STATUS
1147 __stdcall
1148 NetrServerGetInfo(
1149 [in, string, unique] SRVSVC_HANDLE ServerName,
1150 [in] DWORD Level,
1151 [out, switch_is(Level)] LPSERVER_INFO InfoStruct);
1152
1153 NET_API_STATUS
1154 __stdcall
1155 NetrServerSetInfo(
1156 [in, string, unique] SRVSVC_HANDLE ServerName,
1157 [in] DWORD Level,
1158 [in, switch_is(Level)] LPSERVER_INFO ServerInfo,
1159 [in, out, unique] DWORD *ParmErr);
1160
1161 NET_API_STATUS
1162 __stdcall
1163 NetrServerDiskEnum(
1164 [in, string, unique] SRVSVC_HANDLE ServerName,
1165 [in] DWORD Level,
1166 [in, out] DISK_ENUM_CONTAINER *DiskInfoStruct,
1167 [in] DWORD PreferedMaximumLength,
1168 [out] DWORD *TotalEntries,
1169 [in, out, unique] DWORD *ResumeHandle);
1170
1171 NET_API_STATUS
1172 __stdcall
1173 NetrServerStatisticsGet(
1174 [in, string, unique] SRVSVC_HANDLE ServerName,
1175 [in, string, unique] WCHAR *Service,
1176 [in] DWORD Level,
1177 [in] DWORD Options,
1178 [out] LPSTAT_SERVER_0 *InfoStruct);
1179
1180 NET_API_STATUS
1181 __stdcall
1182 NetrServerTransportAdd(
1183 [in, string, unique] SRVSVC_HANDLE ServerName,
1184 [in] DWORD Level,
1185 [in] LPSERVER_TRANSPORT_INFO_0 Buffer);
1186
1187 NET_API_STATUS
1188 __stdcall
1189 NetrServerTransportEnum(
1190 [in, string, unique] SRVSVC_HANDLE ServerName,
1191 [in, out] LPSERVER_XPORT_ENUM_STRUCT InfoStruct,
1192 [in] DWORD PreferedMaximumLength,
1193 [out] DWORD *TotalEntries,
1194 [in, out, unique] DWORD *ResumeHandle);
1195
1196 NET_API_STATUS
1197 __stdcall
1198 NetrServerTransportDel(
1199 [in, string, unique] SRVSVC_HANDLE ServerName,
1200 [in] DWORD Level,
1201 [in] LPSERVER_TRANSPORT_INFO_0 Buffer);
1202
1203 NET_API_STATUS
1204 __stdcall
1205 NetrRemoteTOD(
1206 [in, string, unique] SRVSVC_HANDLE ServerName,
1207 [out] LPTIME_OF_DAY_INFO *BufferPtr);
1208
1209 // This method not used on the wire
1210 void
1211 __stdcall
1212 Opnum29NotUsedOnWire(void);
1213
1214 NET_API_STATUS
1215 __stdcall
1216 NetprPathType(
1217 [in, string, unique] SRVSVC_HANDLE ServerName,
1218 [in, string] WCHAR *PathName,
1219 [out] DWORD *PathType,
1220 [in] DWORD Flags);
1221
1222 NET_API_STATUS
1223 __stdcall
1224 NetprPathCanonicalize(
1225 [in, string, unique] SRVSVC_HANDLE ServerName,
1226 [in, string] WCHAR *PathName,
1227 [out, size_is(OutbufLen)] unsigned char *Outbuf,
1228 [in, range(0, 64000)] DWORD OutbufLen,
1229 [in, string] WCHAR *Prefix,
1230 [in, out] DWORD *PathType,
1231 [in] DWORD Flags);
1232
1233 long
1234 __stdcall
1235 NetprPathCompare(
1236 [in, string,unique] SRVSVC_HANDLE ServerName,
1237 [in, string] WCHAR *PathName1,
1238 [in, string] WCHAR *PathName2,
1239 [in] DWORD PathType,
1240 [in] DWORD Flags);
1241
1242 NET_API_STATUS
1243 __stdcall
1244 NetprNameValidate(
1245 [in, string, unique] SRVSVC_HANDLE ServerName,
1246 [in, string] WCHAR *Name,
1247 [in] DWORD NameType,
1248 [in] DWORD Flags);
1249
1250 NET_API_STATUS
1251 __stdcall
1252 NetprNameCanonicalize(
1253 [in, string, unique] SRVSVC_HANDLE ServerName,
1254 [in, string] WCHAR *Name,
1255 [out, size_is(OutbufLen)] WCHAR *Outbuf,
1256 [in, range(0, 64000)] DWORD OutbufLen,
1257 [in] DWORD NameType,
1258 [in] DWORD Flags);
1259
1260 long
1261 __stdcall
1262 NetprNameCompare(
1263 [in, string, unique] SRVSVC_HANDLE ServerName,
1264 [in, string] WCHAR *Name1,
1265 [in, string] WCHAR *Name2,
1266 [in] DWORD NameType,
1267 [in] DWORD Flags);
1268
1269 NET_API_STATUS
1270 __stdcall
1271 NetrShareEnumSticky(
1272 [in, string, unique] SRVSVC_HANDLE ServerName,
1273 [in, out] LPSHARE_ENUM_STRUCT InfoStruct,
1274 [in] DWORD PreferedMaximumLength,
1275 [out] DWORD *TotalEntries,
1276 [in, out, unique] DWORD *ResumeHandle);
1277
1278 NET_API_STATUS
1279 __stdcall
1280 NetrShareDelStart(
1281 [in, string, unique] SRVSVC_HANDLE ServerName,
1282 [in, string] WCHAR *NetName,
1283 [in] DWORD Reserved,
1284 [out] PSHARE_DEL_HANDLE ContextHandle);
1285
1286 NET_API_STATUS
1287 __stdcall
1288 NetrShareDelCommit(
1289 [in, out] PSHARE_DEL_HANDLE ContextHandle);
1290
1291 DWORD
1292 __stdcall
1293 NetrpGetFileSecurity(
1294 [in, string, unique] SRVSVC_HANDLE ServerName,
1295 [in, string, unique] WCHAR *ShareName,
1296 [in, string] WCHAR *lpFileName,
1297 [in] SECURITY_INFORMATION RequestedInformation,
1298 [out] PADT_SECURITY_DESCRIPTOR *SecurityDescriptor);
1299
1300 DWORD
1301 __stdcall
1302 NetrpSetFileSecurity(
1303 [in, string, unique] SRVSVC_HANDLE ServerName,
1304 [in, string, unique] WCHAR *ShareName,
1305 [in, string] WCHAR *lpFileName,
1306 [in] SECURITY_INFORMATION SecurityInformation,
1307 [in] PADT_SECURITY_DESCRIPTOR SecurityDescriptor);
1308
1309 NET_API_STATUS
1310 __stdcall
1311 NetrServerTransportAddEx(
1312 [in, string, unique] SRVSVC_HANDLE ServerName,
1313 [in] DWORD Level,
1314 [in, switch_is(Level)] LPTRANSPORT_INFO Buffer);
1315
1316 // This method not used on the wire
1317 void
1318 __stdcall
1319 Opnum42NotUsedOnWire(void);
1320
1321 NET_API_STATUS
1322 __stdcall
1323 NetrDfsGetVersion(
1324 [in, string, unique] SRVSVC_HANDLE ServerName,
1325 [out] DWORD *Version);
1326
1327 NET_API_STATUS
1328 __stdcall
1329 NetrDfsCreateLocalPartition(
1330 [in, string, unique] SRVSVC_HANDLE ServerName,
1331 [in, string] WCHAR *ShareName,
1332 [in] GUID *EntryUid,
1333 [in, string] WCHAR *EntryPrefix,
1334 [in, string] WCHAR *ShortName,
1335 [in] LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
1336 [in] int Force);
1337
1338 NET_API_STATUS
1339 __stdcall
1340 NetrDfsDeleteLocalPartition(
1341 [in, string, unique] SRVSVC_HANDLE ServerName,
1342 [in] GUID *Uid,
1343 [in, string] WCHAR *Prefix);
1344
1345 NET_API_STATUS
1346 __stdcall
1347 NetrDfsSetLocalVolumeState(
1348 [in, string, unique] SRVSVC_HANDLE ServerName,
1349 [in] GUID *Uid,
1350 [in, string] WCHAR *Prefix,
1351 [in] unsigned long State);
1352
1353 // This method not used on the wire
1354 void
1355 __stdcall
1356 Opnum47NotUsedOnWire(void);
1357
1358 NET_API_STATUS
1359 __stdcall
1360 NetrDfsCreateExitPoint(
1361 [in, string, unique] SRVSVC_HANDLE ServerName,
1362 [in] GUID *Uid,
1363 [in, string] WCHAR *Prefix,
1364 [in] unsigned long Type,
1365 [in, range(0,32) ] DWORD ShortPrefixLen,
1366 [out, size_is(ShortPrefixLen)] WCHAR *ShortPrefix);
1367
1368 NET_API_STATUS
1369 __stdcall
1370 NetrDfsDeleteExitPoint(
1371 [in, string, unique] SRVSVC_HANDLE ServerName,
1372 [in] GUID *Uid,
1373 [in, string] WCHAR *Prefix,
1374 [in] unsigned long Type);
1375
1376 NET_API_STATUS
1377 __stdcall
1378 NetrDfsModifyPrefix(
1379 [in, string, unique] SRVSVC_HANDLE ServerName,
1380 [in] GUID *Uid,
1381 [in, string] WCHAR *Prefix);
1382
1383 NET_API_STATUS
1384 __stdcall
1385 NetrDfsFixLocalVolume(
1386 [in, string, unique] SRVSVC_HANDLE ServerName,
1387 [in, string] WCHAR *VolumeName,
1388 [in] unsigned long EntryType,
1389 [in] unsigned long ServiceType,
1390 [in, string] WCHAR *StgId,
1391 [in] GUID *EntryUid,
1392 [in, string] WCHAR *EntryPrefix,
1393 [in] LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
1394 [in] unsigned long CreateDisposition);
1395
1396 NET_API_STATUS
1397 __stdcall
1398 NetrDfsManagerReportSiteInfo(
1399 [in, string, unique] SRVSVC_HANDLE ServerName,
1400 [in, out, unique] LPDFS_SITELIST_INFO *ppSiteInfo);
1401
1402 NET_API_STATUS
1403 __stdcall
1404 NetrServerTransportDelEx(
1405 [in, string, unique] SRVSVC_HANDLE ServerName,
1406 [in] DWORD Level,
1407 [in, switch_is(Level)] LPTRANSPORT_INFO Buffer);
1408 }