OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/WINNT/afsd/ms-srvsvc.idl
00001 /*
00002  * Copyright 2009 Microsoft
00003  *
00004  * Used with permission
00005  */
00006 
00007 import "wtypes.idl";
00008 
00009 typedef unsigned char UCHAR;
00010 typedef unsigned char *PUCHAR;
00011 typedef WCHAR *LMSTR;
00012 typedef DWORD NET_API_STATUS;
00013 typedef DWORD SECURITY_INFORMATION;
00014 typedef DWORD *PSECURITY_INFORMATION;
00015 
00016 [
00017     uuid(4B324FC8-1670-01D3-1278-5A47BF6EE188),
00018     version(3.0),
00019     ms_union,
00020     pointer_default(unique)
00021 ]
00022 interface srvsvc
00023 {
00024     typedef [handle, string] wchar_t * SRVSVC_HANDLE;
00025 
00026     typedef struct _CONNECTION_INFO_0
00027     {
00028         DWORD coni0_id;
00029     } CONNECTION_INFO_0,
00030      *PCONNECTION_INFO_0,
00031      *LPCONNECTION_INFO_0;
00032 
00033     typedef struct _CONNECT_INFO_0_CONTAINER
00034     {
00035         DWORD EntriesRead;
00036         [size_is(EntriesRead)] LPCONNECTION_INFO_0 Buffer;
00037     } CONNECT_INFO_0_CONTAINER,
00038      *PCONNECT_INFO_0_CONTAINER,
00039      *LPCONNECT_INFO_0_CONTAINER;
00040 
00041     typedef struct _CONNECTION_INFO_1
00042     {
00043         DWORD coni1_id;
00044         DWORD coni1_type;
00045         DWORD coni1_num_opens;
00046         DWORD coni1_num_users;
00047         DWORD coni1_time;
00048         [string] wchar_t * coni1_username;
00049         [string] wchar_t * coni1_netname;
00050     } CONNECTION_INFO_1,
00051      *PCONNECTION_INFO_1,
00052      *LPCONNECTION_INFO_1;
00053 
00054     typedef struct _CONNECT_INFO_1_CONTAINER
00055     {
00056         DWORD EntriesRead;
00057         [size_is(EntriesRead)] LPCONNECTION_INFO_1 Buffer;
00058     } CONNECT_INFO_1_CONTAINER,
00059      *PCONNECT_INFO_1_CONTAINER,
00060      *LPCONNECT_INFO_1_CONTAINER;
00061 
00062     typedef [switch_type(DWORD)] union _CONNECT_ENUM_UNION {
00063         [case(0)]
00064            CONNECT_INFO_0_CONTAINER* Level0;
00065         [case(1)]
00066            CONNECT_INFO_1_CONTAINER* Level1;
00067     } CONNECT_ENUM_UNION;
00068 
00069     typedef struct _CONNECT_ENUM_STRUCT {
00070         DWORD Level;
00071         [switch_is(Level)] CONNECT_ENUM_UNION ConnectInfo;
00072     } CONNECT_ENUM_STRUCT,
00073       *PCONNECT_ENUM_STRUCT,
00074       *LPCONNECT_ENUM_STRUCT;
00075 
00076     typedef struct _FILE_INFO_2
00077     {
00078         DWORD fi2_id;
00079     } FILE_INFO_2, *PFILE_INFO_2, *LPFILE_INFO_2;
00080 
00081     typedef struct _FILE_INFO_2_CONTAINER
00082     {
00083         DWORD EntriesRead;
00084         [size_is(EntriesRead)] LPFILE_INFO_2 Buffer;
00085     } FILE_INFO_2_CONTAINER,
00086      *PFILE_INFO_2_CONTAINER,
00087      *LPFILE_INFO_2_CONTAINER;
00088 
00089     typedef struct _FILE_INFO_3 {
00090         DWORD fi3_id;
00091         DWORD fi3_permissions;
00092         DWORD fi3_num_locks;
00093         [string] wchar_t * fi3_pathname;
00094         [string] wchar_t * fi3_username;
00095     } FILE_INFO_3,
00096      *PFILE_INFO_3,
00097      *LPFILE_INFO_3;
00098 
00099     typedef struct _FILE_INFO_3_CONTAINER
00100     {
00101         DWORD EntriesRead;
00102         [size_is(EntriesRead)] LPFILE_INFO_3 Buffer;
00103     } FILE_INFO_3_CONTAINER,
00104      *PFILE_INFO_3_CONTAINER,
00105      *LPFILE_INFO_3_CONTAINER;
00106 
00107     typedef [switch_type(DWORD)] union _FILE_ENUM_UNION {
00108         [case(2)]
00109            FILE_INFO_2_CONTAINER* Level2;
00110         [case(3)]
00111            FILE_INFO_3_CONTAINER* Level3;
00112     } FILE_ENUM_UNION;
00113 
00114     typedef struct _FILE_ENUM_STRUCT {
00115         DWORD Level;
00116         [switch_is(Level)] FILE_ENUM_UNION FileInfo;
00117     } FILE_ENUM_STRUCT,
00118      *PFILE_ENUM_STRUCT,
00119      *LPFILE_ENUM_STRUCT;
00120 
00121     typedef [switch_type(unsigned long)] union _FILE_INFO
00122     {
00123         [case(2)]
00124             LPFILE_INFO_2 FileInfo2;
00125         [case(3)]
00126             LPFILE_INFO_3 FileInfo3;
00127     } FILE_INFO,
00128      *PFILE_INFO,
00129     *LPFILE_INFO;
00130 
00131     typedef struct _SESSION_INFO_0
00132     {
00133         [string] wchar_t * sesi0_cname;
00134     } SESSION_INFO_0,
00135      *PSESSION_INFO_0,
00136      *LPSESSION_INFO_0;
00137 
00138     typedef struct _SESSION_INFO_0_CONTAINER
00139     {
00140         DWORD EntriesRead;
00141         [size_is(EntriesRead)] LPSESSION_INFO_0 Buffer;
00142     } SESSION_INFO_0_CONTAINER,
00143      *PSESSION_INFO_0_CONTAINER,
00144      *LPSESSION_INFO_0_CONTAINER;
00145 
00146     typedef struct _SESSION_INFO_1
00147     {
00148         [string] wchar_t * sesi1_cname;
00149         [string] wchar_t * sesi1_username;
00150         DWORD sesi1_num_opens;
00151         DWORD sesi1_time;
00152         DWORD sesi1_idle_time;
00153         DWORD sesi1_user_flags;
00154     } SESSION_INFO_1,
00155      *PSESSION_INFO_1,
00156      *LPSESSION_INFO_1;
00157 
00158     typedef struct _SESSION_INFO_1_CONTAINER
00159     {
00160         DWORD EntriesRead;
00161         [size_is(EntriesRead)] LPSESSION_INFO_1 Buffer;
00162     } SESSION_INFO_1_CONTAINER,
00163      *PSESSION_INFO_1_CONTAINER,
00164      *LPSESSION_INFO_1_CONTAINER;
00165 
00166     typedef struct _SESSION_INFO_2
00167     {
00168         [string] wchar_t * sesi2_cname;
00169         [string] wchar_t * sesi2_username;
00170         DWORD sesi2_num_opens;
00171         DWORD sesi2_time;
00172         DWORD sesi2_idle_time;
00173         DWORD sesi2_user_flags;
00174         [string] wchar_t * sesi2_cltype_name;
00175     } SESSION_INFO_2,
00176      *PSESSION_INFO_2,
00177      *LPSESSION_INFO_2;
00178 
00179     typedef struct _SESSION_INFO_2_CONTAINER
00180     {
00181         DWORD EntriesRead;
00182         [size_is(EntriesRead)] LPSESSION_INFO_2 Buffer;
00183     } SESSION_INFO_2_CONTAINER,
00184      *PSESSION_INFO_2_CONTAINER,
00185      *LPSESSION_INFO_2_CONTAINER;
00186 
00187     typedef struct _SESSION_INFO_10
00188     {
00189         [string] wchar_t * sesi10_cname;
00190         [string] wchar_t * sesi10_username;
00191         DWORD sesi10_time;
00192         DWORD sesi10_idle_time;
00193     } SESSION_INFO_10,
00194      *PSESSION_INFO_10,
00195      *LPSESSION_INFO_10;
00196 
00197     typedef struct _SESSION_INFO_10_CONTAINER
00198     {
00199         DWORD EntriesRead;
00200         [size_is(EntriesRead)] LPSESSION_INFO_10 Buffer;
00201     } SESSION_INFO_10_CONTAINER,
00202      *PSESSION_INFO_10_CONTAINER,
00203      *LPSESSION_INFO_10_CONTAINER;
00204 
00205     typedef struct _SESSION_INFO_502
00206     {
00207         [string] wchar_t * sesi502_cname;
00208         [string] wchar_t * sesi502_username;
00209         DWORD sesi502_num_opens;
00210         DWORD sesi502_time;
00211         DWORD sesi502_idle_time;
00212         DWORD sesi502_user_flags;
00213         [string] wchar_t * sesi502_cltype_name;
00214         [string] wchar_t * sesi502_transport;
00215     } SESSION_INFO_502,
00216      *PSESSION_INFO_502,
00217      *LPSESSION_INFO_502;
00218 
00219     typedef struct _SESSION_INFO_502_CONTAINER
00220     {
00221         DWORD EntriesRead;
00222         [size_is(EntriesRead)] LPSESSION_INFO_502 Buffer;
00223     } SESSION_INFO_502_CONTAINER,
00224      *PSESSION_INFO_502_CONTAINER,
00225      *LPSESSION_INFO_502_CONTAINER;
00226 
00227     typedef [switch_type(DWORD)] union _SESSION_ENUM_UNION {
00228 [case(0)]
00229         SESSION_INFO_0_CONTAINER* Level0;
00230         [case(1)]
00231         SESSION_INFO_1_CONTAINER* Level1;
00232         [case(2)]
00233         SESSION_INFO_2_CONTAINER* Level2;
00234         [case(10)]
00235             SESSION_INFO_10_CONTAINER* Level10;
00236         [case(502)]
00237         SESSION_INFO_502_CONTAINER* Level502;
00238     } SESSION_ENUM_UNION;
00239 
00240     typedef struct _SESSION_ENUM_STRUCT {
00241         DWORD Level;
00242         [switch_is(Level)] SESSION_ENUM_UNION SessionInfo;
00243     } SESSION_ENUM_STRUCT,
00244      *PSESSION_ENUM_STRUCT,
00245      *LPSESSION_ENUM_STRUCT;
00246 
00247     typedef struct _SHARE_INFO_502_I
00248     {
00249         [string] WCHAR * shi502_netname;
00250         DWORD shi502_type;
00251         [string] WCHAR * shi502_remark;
00252         DWORD shi502_permissions;
00253         DWORD shi502_max_uses;
00254         DWORD shi502_current_uses;
00255         [string] WCHAR * shi502_path;
00256         [string] WCHAR * shi502_passwd;
00257         DWORD shi502_reserved;
00258         [size_is(shi502_reserved)] unsigned char
00259                 * shi502_security_descriptor;
00260     } SHARE_INFO_502_I,
00261      *PSHARE_INFO_502_I,
00262      *LPSHARE_INFO_502_I;
00263 
00264     typedef struct _SHARE_INFO_503_I
00265     {
00266         [string] WCHAR * shi503_netname;
00267         DWORD            shi503_type;
00268         [string] WCHAR * shi503_remark;
00269         DWORD            shi503_permissions;
00270         DWORD            shi503_max_uses;
00271         DWORD            shi503_current_uses;
00272         [string] WCHAR * shi503_path;
00273         [string] WCHAR * shi503_passwd;
00274         [string] WCHAR * shi503_servername;
00275         DWORD            shi503_reserved;
00276         [size_is(shi503_reserved)] PUCHAR shi503_security_descriptor;
00277     } SHARE_INFO_503_I,
00278      *PSHARE_INFO_503_I,
00279      *LPSHARE_INFO_503_I;
00280 
00281     typedef struct _SHARE_INFO_503_CONTAINER
00282     {   DWORD EntriesRead;
00283         [size_is(EntriesRead)] LPSHARE_INFO_503_I Buffer;
00284     }   SHARE_INFO_503_CONTAINER,
00285       *PSHARE_INFO_503_CONTAINER,
00286      *LPSHARE_INFO_503_CONTAINER;
00287 
00288     typedef struct _SHARE_INFO_1501_I
00289     {
00290         DWORD shi1501_reserved;
00291         [size_is(shi1501_reserved)] unsigned char
00292                 * shi1501_security_descriptor;
00293     } SHARE_INFO_1501_I,
00294      *PSHARE_INFO_1501_I,
00295      *LPSHARE_INFO_1501_I;
00296 
00297     typedef struct _SHARE_INFO_0
00298     {
00299         [string] wchar_t * shi0_netname;
00300     } SHARE_INFO_0,
00301      *PSHARE_INFO_0,
00302      *LPSHARE_INFO_0;
00303 
00304     typedef struct _SHARE_INFO_0_CONTAINER
00305     {
00306         DWORD EntriesRead;
00307         [size_is(EntriesRead)] LPSHARE_INFO_0 Buffer;
00308     } SHARE_INFO_0_CONTAINER;
00309 
00310     typedef struct _SHARE_INFO_1
00311     {
00312         [string] wchar_t * shi1_netname;
00313         DWORD shi1_type;
00314         [string] wchar_t * shi1_remark;
00315     } SHARE_INFO_1,
00316      *PSHARE_INFO_1,
00317      *LPSHARE_INFO_1;
00318 
00319     typedef struct _SHARE_INFO_1_CONTAINER
00320     {
00321         DWORD EntriesRead;
00322         [size_is(EntriesRead)] LPSHARE_INFO_1 Buffer;
00323     } SHARE_INFO_1_CONTAINER;
00324 
00325     typedef struct _SHARE_INFO_2
00326     {
00327         [string] wchar_t * shi2_netname;
00328         DWORD shi2_type;
00329         [string] wchar_t * shi2_remark;
00330         DWORD shi2_permissions;
00331         DWORD shi2_max_uses;
00332         DWORD shi2_current_uses;
00333         [string] wchar_t * shi2_path;
00334         [string] wchar_t * shi2_passwd;
00335     } SHARE_INFO_2,
00336      *PSHARE_INFO_2,
00337      *LPSHARE_INFO_2;
00338 
00339     typedef struct _SHARE_INFO_2_CONTAINER
00340     {
00341         DWORD EntriesRead;
00342         [size_is(EntriesRead)] LPSHARE_INFO_2 Buffer;
00343     } SHARE_INFO_2_CONTAINER,
00344      *PSHARE_INFO_2_CONTAINER,
00345      *LPSHARE_INFO_2_CONTAINER;
00346 
00347     typedef struct _SHARE_INFO_501
00348     {
00349         [string] wchar_t * shi501_netname;
00350         DWORD shi501_type;
00351         [string] wchar_t * shi501_remark;
00352         DWORD shi501_flags;
00353     } SHARE_INFO_501,
00354      *PSHARE_INFO_501,
00355      *LPSHARE_INFO_501;
00356 
00357     typedef struct _SHARE_INFO_501_CONTAINER
00358     {
00359         DWORD EntriesRead;
00360         [size_is(EntriesRead)] LPSHARE_INFO_501 Buffer;
00361     } SHARE_INFO_501_CONTAINER, *PSHARE_INFO_501_CONTAINER,
00362       *LPSHARE_INFO_501_CONTAINER;
00363 
00364     typedef struct _SHARE_INFO_502_CONTAINER
00365     {
00366         DWORD EntriesRead;
00367         [size_is(EntriesRead)] LPSHARE_INFO_502_I Buffer;
00368     } SHARE_INFO_502_CONTAINER,
00369      *PSHARE_INFO_502_CONTAINER,
00370      *LPSHARE_INFO_502_CONTAINER;
00371 
00372     typedef [switch_type(DWORD)] union _SHARE_ENUM_UNION {
00373       [case(0)]
00374          SHARE_INFO_0_CONTAINER* Level0;
00375       [case(1)]
00376          SHARE_INFO_1_CONTAINER* Level1;
00377       [case(2)]
00378          SHARE_INFO_2_CONTAINER* Level2;
00379       [case(501)]
00380          SHARE_INFO_501_CONTAINER* Level501;
00381       [case(502)]
00382          SHARE_INFO_502_CONTAINER* Level502;
00383       [case(503)]
00384          SHARE_INFO_503_CONTAINER* Level503;
00385     } SHARE_ENUM_UNION;
00386 
00387     typedef struct _SHARE_ENUM_STRUCT
00388     {
00389         DWORD Level;
00390         [switch_is(Level)] SHARE_ENUM_UNION ShareInfo;
00391     }   SHARE_ENUM_STRUCT,
00392       *PSHARE_ENUM_STRUCT,
00393      *LPSHARE_ENUM_STRUCT;
00394 
00395     typedef struct _SHARE_INFO_1004
00396     {
00397         [string] wchar_t * shi1004_remark;
00398     } SHARE_INFO_1004,
00399      *PSHARE_INFO_1004,
00400      *LPSHARE_INFO_1004;
00401 
00402     typedef struct _SHARE_INFO_1006
00403     {
00404         DWORD shi1006_max_uses;
00405     } SHARE_INFO_1006,
00406      *PSHARE_INFO_1006,
00407      *LPSHARE_INFO_1006;
00408 
00409     typedef struct _SHARE_INFO_1005
00410     {
00411         DWORD shi1005_flags;
00412     } SHARE_INFO_1005,
00413      *PSHARE_INFO_1005,
00414      *LPSHARE_INFO_1005;
00415 
00416 //JMP: order differs in documentation
00417     typedef [switch_type(unsigned long)] union _SHARE_INFO
00418 // for Get & Set info
00419     {
00420         [case(0)]
00421             LPSHARE_INFO_0 ShareInfo0;
00422         [case(1)]
00423             LPSHARE_INFO_1 ShareInfo1;
00424         [case(2)]
00425             LPSHARE_INFO_2 ShareInfo2;
00426         [case(502)]
00427             LPSHARE_INFO_502_I ShareInfo502;
00428         [case(1004)]
00429             LPSHARE_INFO_1004 ShareInfo1004;
00430         [case(1006)]
00431             LPSHARE_INFO_1006 ShareInfo1006;
00432         [case(1501)]
00433             LPSHARE_INFO_1501_I ShareInfo1501;
00434         [default]
00435            ;
00436         [case(1005)]
00437             LPSHARE_INFO_1005 ShareInfo1005;
00438         [case(501)]
00439             LPSHARE_INFO_501 ShareInfo501;
00440         [case(503)]
00441             LPSHARE_INFO_503_I ShareInfo503;
00442     } SHARE_INFO,
00443      *PSHARE_INFO,
00444      *LPSHARE_INFO;
00445 
00446     typedef struct _SERVER_INFO_100
00447     {
00448         DWORD sv100_platform_id;
00449         [string] wchar_t * sv100_name;
00450     } SERVER_INFO_100,
00451      *PSERVER_INFO_100,
00452      *LPSERVER_INFO_100;
00453 
00454     typedef struct _SERVER_INFO_101
00455     {
00456         DWORD sv101_platform_id;
00457         [string] wchar_t * sv101_name;
00458         DWORD sv101_version_major;
00459         DWORD sv101_version_minor;
00460         DWORD sv101_type;
00461         [string] wchar_t * sv101_comment;
00462     } SERVER_INFO_101,
00463      *PSERVER_INFO_101,
00464      *LPSERVER_INFO_101;
00465 
00466     typedef struct _SERVER_INFO_102
00467     {
00468          DWORD sv102_platform_id;
00469          [string] wchar_t * sv102_name;
00470          DWORD sv102_version_major;
00471          DWORD sv102_version_minor;
00472          DWORD sv102_type;
00473          [string] wchar_t * sv102_comment;
00474          DWORD sv102_users;
00475          long sv102_disc;
00476          int sv102_hidden;
00477          DWORD sv102_announce;
00478          DWORD sv102_anndelta;
00479          DWORD sv102_licenses;
00480          [string] wchar_t * sv102_userpath;
00481     } SERVER_INFO_102,
00482      *PSERVER_INFO_102,
00483      *LPSERVER_INFO_102;
00484 
00485     typedef struct _SERVER_INFO_103
00486     {
00487        DWORD sv103_platform_id;
00488          [string] wchar_t* sv103_name;
00489          DWORD sv103_version_major;
00490          DWORD sv103_version_minor;
00491          DWORD sv103_type;
00492          [string] wchar_t* sv103_comment;
00493          DWORD sv103_users;
00494          LONG  sv103_disc;
00495          BOOL  sv103_hidden;
00496          DWORD sv103_announce;
00497          DWORD sv103_anndelta;
00498          DWORD sv103_licenses;
00499          [string] wchar_t* sv103_userpath;
00500          DWORD sv103_capabilities;
00501     } SERVER_INFO_103,
00502     *PSERVER_INFO_103,
00503     *LPSERVER_INFO_103;
00504 
00505     typedef struct _SERVER_INFO_502
00506     {
00507         DWORD sv502_sessopens;
00508         DWORD sv502_sessvcs;
00509         DWORD sv502_opensearch;
00510         DWORD sv502_sizreqbuf;
00511         DWORD sv502_initworkitems;
00512         DWORD sv502_maxworkitems;
00513         DWORD sv502_rawworkitems;
00514         DWORD sv502_irpstacksize;
00515         DWORD sv502_maxrawbuflen;
00516         DWORD sv502_sessusers;
00517         DWORD sv502_sessconns;
00518         DWORD sv502_maxpagedmemoryusage;
00519         DWORD sv502_maxnonpagedmemoryusage;
00520         int sv502_enablesoftcompat;
00521         int sv502_enableforcedlogoff;
00522         int sv502_timesource;
00523         int sv502_acceptdownlevelapis;
00524         int sv502_lmannounce;
00525     } SERVER_INFO_502,
00526      *PSERVER_INFO_502,
00527      *LPSERVER_INFO_502;
00528 
00529     typedef struct _SERVER_INFO_503
00530     {
00531         DWORD sv503_sessopens;
00532         DWORD sv503_sessvcs;
00533         DWORD sv503_opensearch;
00534         DWORD sv503_sizreqbuf;
00535         DWORD sv503_initworkitems;
00536         DWORD sv503_maxworkitems;
00537         DWORD sv503_rawworkitems;
00538         DWORD sv503_irpstacksize;
00539         DWORD sv503_maxrawbuflen;
00540         DWORD sv503_sessusers;
00541         DWORD sv503_sessconns;
00542         DWORD sv503_maxpagedmemoryusage;
00543         DWORD sv503_maxnonpagedmemoryusage;
00544         int sv503_enablesoftcompat;
00545         int sv503_enableforcedlogoff;
00546         int sv503_timesource;
00547         int sv503_acceptdownlevelapis;
00548         int sv503_lmannounce;
00549         [string] wchar_t * sv503_domain;
00550         DWORD sv503_maxcopyreadlen;
00551         DWORD sv503_maxcopywritelen;
00552         DWORD sv503_minkeepsearch;
00553         DWORD sv503_maxkeepsearch;
00554         DWORD sv503_minkeepcomplsearch;
00555         DWORD sv503_maxkeepcomplsearch;
00556         DWORD sv503_threadcountadd;
00557         DWORD sv503_numblockthreads;
00558         DWORD sv503_scavtimeout;
00559         DWORD sv503_minrcvqueue;
00560         DWORD sv503_minfreeworkitems;
00561         DWORD sv503_xactmemsize;
00562         DWORD sv503_threadpriority;
00563         DWORD sv503_maxmpxct;
00564         DWORD sv503_oplockbreakwait;
00565         DWORD sv503_oplockbreakresponsewait;
00566         int sv503_enableoplocks;
00567         int sv503_enableoplockforceclose;
00568         int sv503_enablefcbopens;
00569         int sv503_enableraw;
00570         int sv503_enablesharednetdrives;
00571         DWORD sv503_minfreeconnections;
00572         DWORD sv503_maxfreeconnections;
00573     } SERVER_INFO_503,
00574      *PSERVER_INFO_503,
00575      *LPSERVER_INFO_503;
00576 
00577     typedef struct _SERVER_INFO_599
00578     {
00579         DWORD sv599_sessopens;
00580         DWORD sv599_sessvcs;
00581         DWORD sv599_opensearch;
00582         DWORD sv599_sizreqbuf;
00583         DWORD sv599_initworkitems;
00584         DWORD sv599_maxworkitems;
00585         DWORD sv599_rawworkitems;
00586         DWORD sv599_irpstacksize;
00587         DWORD sv599_maxrawbuflen;
00588         DWORD sv599_sessusers;
00589         DWORD sv599_sessconns;
00590         DWORD sv599_maxpagedmemoryusage;
00591         DWORD sv599_maxnonpagedmemoryusage;
00592         int sv599_enablesoftcompat;
00593         int sv599_enableforcedlogoff;
00594         int sv599_timesource;
00595         int sv599_acceptdownlevelapis;
00596         int sv599_lmannounce;
00597         [string] wchar_t * sv599_domain;
00598         DWORD sv599_maxcopyreadlen;
00599         DWORD sv599_maxcopywritelen;
00600         DWORD sv599_minkeepsearch;
00601         DWORD sv599_maxkeepsearch;
00602         DWORD sv599_minkeepcomplsearch;
00603         DWORD sv599_maxkeepcomplsearch;
00604         DWORD sv599_threadcountadd;
00605         DWORD sv599_numblockthreads;
00606         DWORD sv599_scavtimeout;
00607         DWORD sv599_minrcvqueue;
00608         DWORD sv599_minfreeworkitems;
00609         DWORD sv599_xactmemsize;
00610         DWORD sv599_threadpriority;
00611         DWORD sv599_maxmpxct;
00612         DWORD sv599_oplockbreakwait;
00613         DWORD sv599_oplockbreakresponsewait;
00614         int sv599_enableoplocks;
00615         int sv599_enableoplockforceclose;
00616         int sv599_enablefcbopens;
00617         int sv599_enableraw;
00618         int sv599_enablesharednetdrives;
00619         DWORD sv599_minfreeconnections;
00620         DWORD sv599_maxfreeconnections;
00621         DWORD sv599_initsesstable;
00622         DWORD sv599_initconntable;
00623         DWORD sv599_initfiletable;
00624         DWORD sv599_initsearchtable;
00625         DWORD sv599_alertschedule;
00626         DWORD sv599_errorthreshold;
00627         DWORD sv599_networkerrorthreshold;
00628         DWORD sv599_diskspacethreshold;
00629         DWORD sv599_reserved;
00630         DWORD sv599_maxlinkdelay;
00631         DWORD sv599_minlinkthroughput;
00632         DWORD sv599_linkinfovalidtime;
00633         DWORD sv599_scavqosinfoupdatetime;
00634         DWORD sv599_maxworkitemidletime;
00635     } SERVER_INFO_599,
00636      *PSERVER_INFO_599,
00637      *LPSERVER_INFO_599;
00638 
00639     typedef struct _SERVER_INFO_1005
00640     {
00641         [string] wchar_t * sv1005_comment;
00642     } SERVER_INFO_1005,
00643      *PSERVER_INFO_1005,
00644      *LPSERVER_INFO_1005;
00645 
00646     typedef struct _SERVER_INFO_1107
00647     {
00648         DWORD sv1107_users;
00649     } SERVER_INFO_1107,
00650      *PSERVER_INFO_1107,
00651      *LPSERVER_INFO_1107;
00652 
00653     typedef struct _SERVER_INFO_1010
00654     {
00655         long sv1010_disc;
00656     } SERVER_INFO_1010,
00657      *PSERVER_INFO_1010,
00658      *LPSERVER_INFO_1010;
00659 
00660     typedef struct _SERVER_INFO_1016
00661     {
00662         int sv1016_hidden;
00663     } SERVER_INFO_1016,
00664      *PSERVER_INFO_1016,
00665      *LPSERVER_INFO_1016;
00666 
00667     typedef struct _SERVER_INFO_1017
00668     {
00669         DWORD sv1017_announce;
00670     } SERVER_INFO_1017,
00671      *PSERVER_INFO_1017,
00672      *LPSERVER_INFO_1017;
00673 
00674     typedef struct _SERVER_INFO_1018
00675     {
00676         DWORD sv1018_anndelta;
00677     } SERVER_INFO_1018,
00678      *PSERVER_INFO_1018,
00679      *LPSERVER_INFO_1018;
00680 
00681     typedef struct _SERVER_INFO_1501
00682     {
00683         DWORD sv1501_sessopens;
00684     } SERVER_INFO_1501,
00685      *PSERVER_INFO_1501,
00686      *LPSERVER_INFO_1501;
00687 
00688     typedef struct _SERVER_INFO_1502
00689     {
00690         DWORD sv1502_sessvcs;
00691     } SERVER_INFO_1502,
00692      *PSERVER_INFO_1502,
00693      *LPSERVER_INFO_1502;
00694 
00695     typedef struct _SERVER_INFO_1503
00696     {
00697         DWORD sv1503_opensearch;
00698     } SERVER_INFO_1503, *PSERVER_INFO_1503, *LPSERVER_INFO_1503;
00699 
00700     typedef struct _SERVER_INFO_1506
00701     {
00702         DWORD sv1506_maxworkitems;
00703     } SERVER_INFO_1506, *PSERVER_INFO_1506, *LPSERVER_INFO_1506;
00704 
00705     typedef struct _SERVER_INFO_1510
00706     {
00707         DWORD sv1510_sessusers;
00708     } SERVER_INFO_1510, *PSERVER_INFO_1510, *LPSERVER_INFO_1510;
00709 
00710     typedef struct _SERVER_INFO_1511
00711     {
00712         DWORD sv1511_sessconns;
00713     } SERVER_INFO_1511, *PSERVER_INFO_1511, *LPSERVER_INFO_1511;
00714 
00715     typedef struct _SERVER_INFO_1512
00716     {
00717         DWORD sv1512_maxnonpagedmemoryusage;
00718     } SERVER_INFO_1512, *PSERVER_INFO_1512, *LPSERVER_INFO_1512;
00719 
00720     typedef struct _SERVER_INFO_1513
00721     {
00722         DWORD sv1513_maxpagedmemoryusage;
00723     } SERVER_INFO_1513, *PSERVER_INFO_1513, *LPSERVER_INFO_1513;
00724 
00725     typedef struct _SERVER_INFO_1514
00726     {
00727         int sv1514_enablesoftcompat;
00728     } SERVER_INFO_1514, *PSERVER_INFO_1514, *LPSERVER_INFO_1514;
00729 
00730     typedef struct _SERVER_INFO_1515
00731     {
00732         int sv1515_enableforcedlogoff;
00733     } SERVER_INFO_1515, *PSERVER_INFO_1515, *LPSERVER_INFO_1515;
00734 
00735     typedef struct _SERVER_INFO_1516
00736     {
00737         int sv1516_timesource;
00738     } SERVER_INFO_1516, *PSERVER_INFO_1516, *LPSERVER_INFO_1516;
00739 
00740     typedef struct _SERVER_INFO_1518
00741     {
00742         int sv1518_lmannounce;
00743     } SERVER_INFO_1518, *PSERVER_INFO_1518, *LPSERVER_INFO_1518;
00744 
00745     typedef struct _SERVER_INFO_1523
00746     {
00747         DWORD sv1523_maxkeepsearch;
00748     } SERVER_INFO_1523, *PSERVER_INFO_1523, *LPSERVER_INFO_1523;
00749 
00750     typedef struct _SERVER_INFO_1528
00751     {
00752         DWORD sv1528_scavtimeout;
00753     } SERVER_INFO_1528, *PSERVER_INFO_1528, *LPSERVER_INFO_1528;
00754 
00755     typedef struct _SERVER_INFO_1529
00756     {
00757         DWORD sv1529_minrcvqueue;
00758     } SERVER_INFO_1529, *PSERVER_INFO_1529, *LPSERVER_INFO_1529;
00759 
00760     typedef struct _SERVER_INFO_1530
00761     {
00762         DWORD sv1530_minfreeworkitems;
00763     } SERVER_INFO_1530, *PSERVER_INFO_1530, *LPSERVER_INFO_1530;
00764 
00765     typedef struct _SERVER_INFO_1533
00766     {
00767         DWORD sv1533_maxmpxct;
00768     } SERVER_INFO_1533, *PSERVER_INFO_1533, *LPSERVER_INFO_1533;
00769 
00770     typedef struct _SERVER_INFO_1534
00771     {
00772         DWORD sv1534_oplockbreakwait;
00773     } SERVER_INFO_1534, *PSERVER_INFO_1534, *LPSERVER_INFO_1534;
00774 
00775     typedef struct _SERVER_INFO_1535
00776     {
00777         DWORD sv1535_oplockbreakresponsewait;
00778     } SERVER_INFO_1535, *PSERVER_INFO_1535, *LPSERVER_INFO_1535;
00779 
00780     typedef struct _SERVER_INFO_1536
00781     {
00782         int sv1536_enableoplocks;
00783     } SERVER_INFO_1536, *PSERVER_INFO_1536, *LPSERVER_INFO_1536;
00784 
00785     typedef struct _SERVER_INFO_1538
00786     {
00787         int sv1538_enablefcbopens;
00788     } SERVER_INFO_1538, *PSERVER_INFO_1538, *LPSERVER_INFO_1538;
00789 
00790     typedef struct _SERVER_INFO_1539
00791     {
00792         int sv1539_enableraw;
00793     } SERVER_INFO_1539, *PSERVER_INFO_1539, *LPSERVER_INFO_1539;
00794 
00795     typedef struct _SERVER_INFO_1540
00796     {
00797         int sv1540_enablesharednetdrives;
00798     } SERVER_INFO_1540, *PSERVER_INFO_1540, *LPSERVER_INFO_1540;
00799 
00800     typedef struct _SERVER_INFO_1541
00801     {
00802         int sv1541_minfreeconnections;
00803     } SERVER_INFO_1541, *PSERVER_INFO_1541, *LPSERVER_INFO_1541;
00804 
00805     typedef struct _SERVER_INFO_1542
00806     {
00807         int sv1542_maxfreeconnections;
00808     } SERVER_INFO_1542, *PSERVER_INFO_1542, *LPSERVER_INFO_1542;
00809 
00810     typedef struct _SERVER_INFO_1543
00811     {
00812         DWORD sv1543_initsesstable;
00813     } SERVER_INFO_1543, *PSERVER_INFO_1543, *LPSERVER_INFO_1543;
00814 
00815     typedef struct _SERVER_INFO_1544
00816     {
00817         DWORD sv1544_initconntable;
00818     } SERVER_INFO_1544, *PSERVER_INFO_1544, *LPSERVER_INFO_1544;
00819 
00820     typedef struct _SERVER_INFO_1545
00821     {
00822         DWORD sv1545_initfiletable;
00823     } SERVER_INFO_1545, *PSERVER_INFO_1545, *LPSERVER_INFO_1545;
00824 
00825     typedef struct _SERVER_INFO_1546
00826     {
00827         DWORD sv1546_initsearchtable;
00828     } SERVER_INFO_1546, *PSERVER_INFO_1546, *LPSERVER_INFO_1546;
00829 
00830     typedef struct _SERVER_INFO_1547
00831     {
00832         DWORD sv1547_alertschedule;
00833     } SERVER_INFO_1547, *PSERVER_INFO_1547, *LPSERVER_INFO_1547;
00834 
00835     typedef struct _SERVER_INFO_1548
00836     {
00837         DWORD sv1548_errorthreshold;
00838     } SERVER_INFO_1548, *PSERVER_INFO_1548, *LPSERVER_INFO_1548;
00839 
00840     typedef struct _SERVER_INFO_1549
00841     {
00842         DWORD sv1549_networkerrorthreshold;
00843     } SERVER_INFO_1549, *PSERVER_INFO_1549, *LPSERVER_INFO_1549;
00844 
00845     typedef struct _SERVER_INFO_1550
00846     {
00847         DWORD sv1550_diskspacethreshold;
00848     } SERVER_INFO_1550, *PSERVER_INFO_1550, *LPSERVER_INFO_1550;
00849 
00850     typedef struct _SERVER_INFO_1552
00851     {
00852         DWORD sv1552_maxlinkdelay;
00853     } SERVER_INFO_1552, *PSERVER_INFO_1552, *LPSERVER_INFO_1552;
00854 
00855     typedef struct _SERVER_INFO_1553
00856     {
00857         DWORD sv1553_minlinkthroughput;
00858     } SERVER_INFO_1553, *PSERVER_INFO_1553, *LPSERVER_INFO_1553;
00859 
00860     typedef struct _SERVER_INFO_1554
00861     {
00862         DWORD sv1554_linkinfovalidtime;
00863     } SERVER_INFO_1554, *PSERVER_INFO_1554, *LPSERVER_INFO_1554;
00864 
00865     typedef struct _SERVER_INFO_1555
00866     {
00867         DWORD sv1555_scavqosinfoupdatetime;
00868     } SERVER_INFO_1555, *PSERVER_INFO_1555, *LPSERVER_INFO_1555;
00869 
00870     typedef struct _SERVER_INFO_1556
00871     {
00872         DWORD sv1556_maxworkitemidletime;
00873     } SERVER_INFO_1556, *PSERVER_INFO_1556, *LPSERVER_INFO_1556;
00874 
00875     typedef [switch_type(unsigned long)] union _SERVER_INFO
00876     {
00877         [case(100)]
00878             LPSERVER_INFO_100 ServerInfo100;
00879         [case(101)]
00880             LPSERVER_INFO_101 ServerInfo101;
00881         [case(102)]
00882             LPSERVER_INFO_102 ServerInfo102;
00883        [case(103)]
00884            LPSERVER_INFO_103 ServerInfo103;
00885         [case(502)]
00886             LPSERVER_INFO_502 ServerInfo502;
00887         [case(503)]
00888             LPSERVER_INFO_503 ServerInfo503;
00889         [case(599)]
00890             LPSERVER_INFO_599 ServerInfo599;
00891         [case(1005)]
00892             LPSERVER_INFO_1005 ServerInfo1005;
00893         [case(1107)]
00894             LPSERVER_INFO_1107 ServerInfo1107;
00895         [case(1010)]
00896             LPSERVER_INFO_1010 ServerInfo1010;
00897         [case(1016)]
00898             LPSERVER_INFO_1016 ServerInfo1016;
00899         [case(1017)]
00900             LPSERVER_INFO_1017 ServerInfo1017;
00901         [case(1018)]
00902             LPSERVER_INFO_1018 ServerInfo1018;
00903         [case(1501)]
00904             LPSERVER_INFO_1501 ServerInfo1501;
00905         [case(1502)]
00906             LPSERVER_INFO_1502 ServerInfo1502;
00907         [case(1503)]
00908             LPSERVER_INFO_1503 ServerInfo1503;
00909         [case(1506)]
00910             LPSERVER_INFO_1506 ServerInfo1506;
00911         [case(1510)]
00912             LPSERVER_INFO_1510 ServerInfo1510;
00913         [case(1511)]
00914             LPSERVER_INFO_1511 ServerInfo1511;
00915         [case(1512)]
00916             LPSERVER_INFO_1512 ServerInfo1512;
00917         [case(1513)]
00918             LPSERVER_INFO_1513 ServerInfo1513;
00919         [case(1514)]
00920             LPSERVER_INFO_1514 ServerInfo1514;
00921         [case(1515)]
00922             LPSERVER_INFO_1515 ServerInfo1515;
00923         [case(1516)]
00924             LPSERVER_INFO_1516 ServerInfo1516;
00925         [case(1518)]
00926             LPSERVER_INFO_1518 ServerInfo1518;
00927         [case(1523)]
00928             LPSERVER_INFO_1523 ServerInfo1523;
00929         [case(1528)]
00930             LPSERVER_INFO_1528 ServerInfo1528;
00931         [case(1529)]
00932             LPSERVER_INFO_1529 ServerInfo1529;
00933         [case(1530)]
00934             LPSERVER_INFO_1530 ServerInfo1530;
00935         [case(1533)]
00936             LPSERVER_INFO_1533 ServerInfo1533;
00937         [case(1534)]
00938             LPSERVER_INFO_1534 ServerInfo1534;
00939         [case(1535)]
00940             LPSERVER_INFO_1535 ServerInfo1535;
00941         [case(1536)]
00942             LPSERVER_INFO_1536 ServerInfo1536;
00943         [case(1538)]
00944             LPSERVER_INFO_1538 ServerInfo1538;
00945         [case(1539)]
00946             LPSERVER_INFO_1539 ServerInfo1539;
00947         [case(1540)]
00948             LPSERVER_INFO_1540 ServerInfo1540;
00949         [case(1541)]
00950             LPSERVER_INFO_1541 ServerInfo1541;
00951         [case(1542)]
00952             LPSERVER_INFO_1542 ServerInfo1542;
00953         [case(1543)]
00954             LPSERVER_INFO_1543 ServerInfo1543;
00955         [case(1544)]
00956             LPSERVER_INFO_1544 ServerInfo1544;
00957         [case(1545)]
00958             LPSERVER_INFO_1545 ServerInfo1545;
00959         [case(1546)]
00960             LPSERVER_INFO_1546 ServerInfo1546;
00961         [case(1547)]
00962             LPSERVER_INFO_1547 ServerInfo1547;
00963         [case(1548)]
00964             LPSERVER_INFO_1548 ServerInfo1548;
00965         [case(1549)]
00966             LPSERVER_INFO_1549 ServerInfo1549;
00967         [case(1550)]
00968             LPSERVER_INFO_1550 ServerInfo1550;
00969         [case(1552)]
00970             LPSERVER_INFO_1552 ServerInfo1552;
00971         [case(1553)]
00972             LPSERVER_INFO_1553 ServerInfo1553;
00973         [case(1554)]
00974             LPSERVER_INFO_1554 ServerInfo1554;
00975         [case(1555)]
00976             LPSERVER_INFO_1555 ServerInfo1555;
00977         [case(1556)]
00978             LPSERVER_INFO_1556 ServerInfo1556;
00979     } SERVER_INFO, *PSERVER_INFO, *LPSERVER_INFO;
00980 
00981     typedef struct _DISK_INFO
00982     {
00983         [string] WCHAR Disk[3];
00984     } DISK_INFO, *PDISK_INFO, *LPDISK_INFO;
00985 
00986     typedef struct _DISK_ENUM_CONTAINER
00987     {
00988         DWORD EntriesRead;
00989         [size_is(EntriesRead), length_is(EntriesRead)] LPDISK_INFO
00990              Buffer;
00991     } DISK_ENUM_CONTAINER;
00992 
00993     typedef struct _SERVER_TRANSPORT_INFO_0
00994     {
00995         DWORD svti0_numberofvcs;
00996         [string] wchar_t * svti0_transportname;
00997         [size_is(svti0_transportaddresslength)] unsigned char
00998              * svti0_transportaddress;
00999         DWORD svti0_transportaddresslength;
01000         [string] wchar_t * svti0_networkaddress;
01001     } SERVER_TRANSPORT_INFO_0, *PSERVER_TRANSPORT_INFO_0,
01002       *LPSERVER_TRANSPORT_INFO_0;
01003 
01004     typedef struct _SERVER_XPORT_INFO_0_CONTAINER
01005     {
01006         DWORD EntriesRead;
01007         [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_0 Buffer;
01008     } SERVER_XPORT_INFO_0_CONTAINER, *PSERVER_XPORT_INFO_0_CONTAINER;
01009 
01010     typedef struct _SERVER_TRANSPORT_INFO_1
01011     {
01012         DWORD svti1_numberofvcs;
01013         [string] wchar_t * svti1_transportname;
01014         [size_is(svti1_transportaddresslength)] unsigned char
01015              * svti1_transportaddress;
01016         DWORD svti1_transportaddresslength;
01017         [string] wchar_t * svti1_networkaddress;
01018         [string] wchar_t * svti1_domain;
01019     } SERVER_TRANSPORT_INFO_1, *PSERVER_TRANSPORT_INFO_1,
01020       *LPSERVER_TRANSPORT_INFO_1;
01021 
01022     typedef struct _SERVER_XPORT_INFO_1_CONTAINER
01023     {
01024         DWORD EntriesRead;
01025         [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_1 Buffer;
01026     } SERVER_XPORT_INFO_1_CONTAINER, *PSERVER_XPORT_INFO_1_CONTAINER;
01027 
01028     typedef struct _SERVER_TRANSPORT_INFO_2
01029     {
01030         DWORD svti2_numberofvcs;
01031         [string] wchar_t * svti2_transportname;
01032         [size_is(svti2_transportaddresslength)] unsigned char
01033              * svti2_transportaddress;
01034         DWORD svti2_transportaddresslength;
01035         [string] wchar_t * svti2_networkaddress;
01036         [string] wchar_t * svti2_domain;
01037         unsigned long svti2_flags;
01038     } SERVER_TRANSPORT_INFO_2, *PSERVER_TRANSPORT_INFO_2,
01039       *LPSERVER_TRANSPORT_INFO_2;
01040 
01041     typedef struct _SERVER_XPORT_INFO_2_CONTAINER
01042     {
01043         DWORD EntriesRead;
01044         [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_2 Buffer;
01045     } SERVER_XPORT_INFO_2_CONTAINER, *PSERVER_XPORT_INFO_2_CONTAINER;
01046 
01047     typedef struct _SERVER_TRANSPORT_INFO_3
01048     {
01049         DWORD svti3_numberofvcs;
01050         [string] wchar_t * svti3_transportname;
01051         [size_is(svti3_transportaddresslength)] unsigned char
01052              * svti3_transportaddress;
01053         DWORD svti3_transportaddresslength;
01054         [string] wchar_t * svti3_networkaddress;
01055         [string] wchar_t * svti3_domain;
01056         unsigned long svti3_flags;
01057         DWORD svti3_passwordlength;
01058         unsigned char svti3_password[ 256 ];
01059     } SERVER_TRANSPORT_INFO_3, *PSERVER_TRANSPORT_INFO_3,
01060       *LPSERVER_TRANSPORT_INFO_3;
01061 
01062     typedef struct _SERVER_XPORT_INFO_3_CONTAINER
01063     {
01064         DWORD EntriesRead;
01065         [size_is(EntriesRead)] LPSERVER_TRANSPORT_INFO_3 Buffer;
01066     } SERVER_XPORT_INFO_3_CONTAINER, *PSERVER_XPORT_INFO_3_CONTAINER;
01067 
01068     typedef [switch_type(unsigned long)] union _TRANSPORT_INFO
01069     {
01070         [case(0)]
01071             SERVER_TRANSPORT_INFO_0 Transport0;
01072         [case(1)]
01073             SERVER_TRANSPORT_INFO_1 Transport1;
01074         [case(2)]
01075             SERVER_TRANSPORT_INFO_2 Transport2;
01076         [case(3)]
01077             SERVER_TRANSPORT_INFO_3 Transport3;
01078     } TRANSPORT_INFO, *PTRANSPORT_INFO, *LPTRANSPORT_INFO;
01079 
01080     typedef [switch_type(DWORD)] union _SERVER_XPORT_ENUM_UNION {
01081        [case(0)]
01082            PSERVER_XPORT_INFO_0_CONTAINER Level0;
01083        [case(1)]
01084            PSERVER_XPORT_INFO_1_CONTAINER Level1;
01085        [case(2)]
01086            PSERVER_XPORT_INFO_2_CONTAINER Level2;
01087        [case(3)]
01088            PSERVER_XPORT_INFO_3_CONTAINER Level3;
01089     } SERVER_XPORT_ENUM_UNION;
01090 
01091     typedef struct _SERVER_XPORT_ENUM_STRUCT
01092     {
01093         DWORD Level;
01094         [switch_is(Level)] SERVER_XPORT_ENUM_UNION XportInfo;
01095 
01096     } SERVER_XPORT_ENUM_STRUCT, *PSERVER_XPORT_ENUM_STRUCT,
01097       *LPSERVER_XPORT_ENUM_STRUCT;
01098 
01099     typedef [context_handle] void *SHARE_DEL_HANDLE;
01100     typedef SHARE_DEL_HANDLE *PSHARE_DEL_HANDLE;
01101 
01102     typedef struct _ADT_SECURITY_DESCRIPTOR
01103     {
01104         DWORD Length;
01105         [size_is(Length)] unsigned char * Buffer;
01106     } ADT_SECURITY_DESCRIPTOR, *PADT_SECURITY_DESCRIPTOR;
01107 
01108     typedef struct _STAT_SERVER_0
01109     {
01110          DWORD sts0_start;
01111          DWORD sts0_fopens;
01112          DWORD sts0_devopens;
01113          DWORD sts0_jobsqueued;
01114          DWORD sts0_sopens;
01115          DWORD sts0_stimedout;
01116          DWORD sts0_serrorout;
01117          DWORD sts0_pwerrors;
01118          DWORD sts0_permerrors;
01119          DWORD sts0_syserrors;
01120          DWORD sts0_bytessent_low;
01121          DWORD sts0_bytessent_high;
01122          DWORD sts0_bytesrcvd_low;
01123          DWORD sts0_bytesrcvd_high;
01124          DWORD sts0_avresponse;
01125          DWORD sts0_reqbufneed;
01126          DWORD sts0_bigbufneed;
01127     } STAT_SERVER_0, *PSTAT_SERVER_0, *LPSTAT_SERVER_0;
01128 
01129     typedef struct _TIME_OF_DAY_INFO
01130     {
01131         DWORD tod_elapsedt;
01132         DWORD tod_msecs;
01133         DWORD tod_hours;
01134         DWORD tod_mins;
01135         DWORD tod_secs;
01136         DWORD tod_hunds;
01137         long tod_timezone;
01138         DWORD tod_tinterval;
01139         DWORD tod_day;
01140         DWORD tod_month;
01141         DWORD tod_year;
01142         DWORD tod_weekday;
01143     } TIME_OF_DAY_INFO, *PTIME_OF_DAY_INFO, *LPTIME_OF_DAY_INFO;
01144 
01145     typedef struct _NET_DFS_ENTRY_ID
01146     {
01147         GUID Uid;
01148         [string] WCHAR * Prefix;
01149     } NET_DFS_ENTRY_ID, *LPNET_DFS_ENTRY_ID;
01150 
01151     typedef struct _NET_DFS_ENTRY_ID_CONTAINER
01152     {
01153         unsigned long Count;
01154         [size_is(Count)] LPNET_DFS_ENTRY_ID Buffer;
01155     } NET_DFS_ENTRY_ID_CONTAINER, *LPNET_DFS_ENTRY_ID_CONTAINER;
01156 
01157     typedef struct _DFS_SITENAME_INFO
01158     {
01159         unsigned long SiteFlags;
01160         [string,unique] WCHAR * SiteName;
01161     } DFS_SITENAME_INFO, *PDFS_SITENAME_INFO, *LPDFS_SITENAME_INFO;
01162 
01163     typedef struct _DFS_SITELIST_INFO
01164     {
01165         unsigned long cSites;
01166         [size_is(cSites)] DFS_SITENAME_INFO Site[];
01167     } DFS_SITELIST_INFO, *PDFS_SITELIST_INFO, *LPDFS_SITELIST_INFO;
01168 
01169 typedef struct _SERVER_ALIAS_INFO_0 {
01170 LMSTR    srvai0_alias;
01171 LMSTR    srvai0_target;
01172 BOOLEAN  srvai0_default;
01173 ULONG    srvai0_reserved;
01174 }SERVER_ALIAS_INFO_0, *PSERVER_ALIAS_INFO_0, *LPSERVER_ALIAS_INFO_0;
01175 
01176 typedef struct _SERVER_ALIAS_INFO_0_CONTAINER {
01177 DWORD  EntriesRead;
01178 [size_is(EntriesRead)] LPSERVER_ALIAS_INFO_0 Buffer;
01179 } SERVER_ALIAS_INFO_0_CONTAINER;
01180 
01181 typedef struct _SERVER_ALIAS_ENUM_STRUCT {
01182 DWORD  Level;
01183 [switch_is(Level)] union SERVER_ALIAS_ENUM_UNION {
01184 [case(0)]
01185 SERVER_ALIAS_INFO_0_CONTAINER *Level0;
01186 } ServerAliasInfo;
01187 }SERVER_ALIAS_ENUM_STRUCT, *PSERVER_ALIAS_ENUM_STRUCT,
01188        *LPSERVER_ALIAS_ENUM_STRUCT;
01189 
01190 typedef [switch_type(unsigned long)] union _SERVER_ALIAS_INFO
01191       { // for Get & Set Info
01192 [case(0)]
01193 LPSERVER_ALIAS_INFO_0 ServerAliasInfo0;
01194 } SERVER_ALIAS_INFO, *PSERVER_ALIAS_INFO, *LPSERVER_ALIAS_INFO;
01195 
01196 // This method not used on the wire
01197     void Opnum0NotUsedOnWire(void);
01198 
01199 // This method not used on the wire
01200     void Opnum1NotUsedOnWire(void);
01201 
01202 // This method not used on the wire
01203     void Opnum2NotUsedOnWire(void);
01204 
01205 // This method not used on the wire
01206     void Opnum3NotUsedOnWire(void);
01207 
01208 // This method not used on the wire
01209     void Opnum4NotUsedOnWire(void);
01210 
01211 // This method not used on the wire
01212     void Opnum5NotUsedOnWire(void);
01213 
01214 // This method not used on the wire
01215     void Opnum6NotUsedOnWire(void);
01216 
01217 // This method not used on the wire
01218     void Opnum7NotUsedOnWire(void);
01219 
01220     NET_API_STATUS
01221     NetrConnectionEnum (
01222         [in,string,unique] SRVSVC_HANDLE ServerName,
01223         [in,string,unique] WCHAR * Qualifier,
01224         [in,out] LPCONNECT_ENUM_STRUCT InfoStruct,
01225         [in] DWORD PreferedMaximumLength,
01226         [out] DWORD * TotalEntries,
01227         [in,out,unique] DWORD * ResumeHandle
01228     );
01229 
01230     NET_API_STATUS
01231     NetrFileEnum (
01232         [in,string,unique] SRVSVC_HANDLE ServerName,
01233         [in,string,unique] WCHAR * BasePath,
01234         [in,string,unique] WCHAR * UserName,
01235         [in,out] PFILE_ENUM_STRUCT InfoStruct,
01236         [in] DWORD PreferedMaximumLength,
01237         [out] DWORD * TotalEntries,
01238         [in,out,unique] DWORD * ResumeHandle
01239     );
01240 
01241     NET_API_STATUS
01242     NetrFileGetInfo (
01243         [in,string,unique] SRVSVC_HANDLE ServerName,
01244         [in] DWORD FileId,
01245         [in] DWORD Level,
01246         [out, switch_is(Level)] LPFILE_INFO InfoStruct
01247     );
01248 
01249     NET_API_STATUS
01250     NetrFileClose (
01251         [in,string,unique] SRVSVC_HANDLE ServerName,
01252         [in] DWORD FileId
01253     );
01254 
01255     NET_API_STATUS
01256     NetrSessionEnum (
01257         [in,string,unique] SRVSVC_HANDLE ServerName,
01258         [in,string,unique] WCHAR * ClientName,
01259         [in,string,unique] WCHAR * UserName,
01260         [in,out] PSESSION_ENUM_STRUCT InfoStruct,
01261         [in] DWORD PreferedMaximumLength,
01262         [out] DWORD * TotalEntries,
01263         [in,out,unique] DWORD * ResumeHandle
01264     );
01265 
01266     NET_API_STATUS
01267     NetrSessionDel (
01268         [in,string,unique] SRVSVC_HANDLE ServerName,
01269         [in,string,unique] WCHAR * ClientName,
01270         [in,string,unique] WCHAR * UserName
01271     );
01272 
01273     NET_API_STATUS
01274     NetrShareAdd (
01275         [in,string,unique] SRVSVC_HANDLE ServerName,
01276         [in] DWORD Level,
01277         [in, switch_is(Level)] LPSHARE_INFO InfoStruct,
01278         [in,out,unique] DWORD * ParmErr
01279     );
01280 
01281     NET_API_STATUS
01282     NetrShareEnum (
01283         [in,string,unique] SRVSVC_HANDLE ServerName,
01284         [in,out] LPSHARE_ENUM_STRUCT InfoStruct,
01285         [in] DWORD PreferedMaximumLength,
01286         [out] DWORD * TotalEntries,
01287         [in,out,unique] DWORD * ResumeHandle
01288     );
01289 
01290     NET_API_STATUS
01291     NetrShareGetInfo (
01292         [in,string,unique] SRVSVC_HANDLE ServerName,
01293         [in,string] WCHAR * NetName,
01294         [in] DWORD Level,
01295         [out, switch_is(Level)] LPSHARE_INFO InfoStruct
01296     );
01297 
01298     NET_API_STATUS
01299     NetrShareSetInfo (
01300         [in,string,unique] SRVSVC_HANDLE ServerName,
01301         [in,string] WCHAR * NetName,
01302         [in] DWORD Level,
01303         [in, switch_is(Level)] LPSHARE_INFO ShareInfo,
01304         [in,out,unique] DWORD * ParmErr
01305     );
01306 
01307     NET_API_STATUS
01308     NetrShareDel (
01309         [in,string,unique] SRVSVC_HANDLE ServerName,
01310         [in,string] WCHAR * NetName,
01311         [in] DWORD Reserved
01312     );
01313 
01314     NET_API_STATUS
01315     NetrShareDelSticky (
01316         [in,string,unique] SRVSVC_HANDLE ServerName,
01317         [in,string] WCHAR * NetName,
01318         [in] DWORD Reserved
01319     );
01320 
01321     NET_API_STATUS
01322     NetrShareCheck (
01323         [in,string,unique] SRVSVC_HANDLE ServerName,
01324         [in,string] WCHAR * Device,
01325         [out] DWORD * Type
01326     );
01327 
01328     NET_API_STATUS
01329     NetrServerGetInfo (
01330         [in,string,unique] SRVSVC_HANDLE ServerName,
01331         [in] DWORD Level,
01332         [out, switch_is(Level)] LPSERVER_INFO InfoStruct
01333     );
01334 
01335     NET_API_STATUS
01336     NetrServerSetInfo (
01337         [in,string,unique] SRVSVC_HANDLE ServerName,
01338         [in] DWORD Level,
01339         [in, switch_is(Level)] LPSERVER_INFO ServerInfo,
01340         [in,out,unique] DWORD * ParmErr
01341     );
01342 
01343     NET_API_STATUS
01344     NetrServerDiskEnum (
01345         [in,string,unique] SRVSVC_HANDLE ServerName,
01346         [in] DWORD Level,
01347         [in,out] DISK_ENUM_CONTAINER *DiskInfoStruct,
01348         [in] DWORD PreferedMaximumLength,
01349         [out] DWORD * TotalEntries,
01350         [in,out,unique] DWORD * ResumeHandle
01351     );
01352 
01353     NET_API_STATUS
01354     NetrServerStatisticsGet (
01355         [in,string,unique] SRVSVC_HANDLE ServerName,
01356         [in,string,unique] WCHAR * Service,
01357         [in] DWORD Level,
01358         [in] DWORD Options,
01359         [out] LPSTAT_SERVER_0 *InfoStruct
01360     );
01361 
01362     NET_API_STATUS
01363     NetrServerTransportAdd (
01364         [in,string,unique] SRVSVC_HANDLE ServerName,
01365         [in] DWORD Level,
01366         [in] LPSERVER_TRANSPORT_INFO_0 Buffer
01367     );
01368 
01369     NET_API_STATUS
01370     NetrServerTransportEnum (
01371         [in,string,unique] SRVSVC_HANDLE ServerName,
01372         [in,out] LPSERVER_XPORT_ENUM_STRUCT InfoStruct,
01373         [in] DWORD PreferedMaximumLength,
01374         [out] DWORD * TotalEntries,
01375         [in,out,unique] DWORD * ResumeHandle
01376     );
01377 
01378     NET_API_STATUS
01379     NetrServerTransportDel (
01380         [in,string,unique] SRVSVC_HANDLE ServerName,
01381         [in] DWORD Level,
01382         [in] LPSERVER_TRANSPORT_INFO_0 Buffer
01383     );
01384 
01385     NET_API_STATUS
01386     NetrRemoteTOD (
01387         [in,string,unique] SRVSVC_HANDLE ServerName,
01388         [out] LPTIME_OF_DAY_INFO *BufferPtr
01389     );
01390 
01391 // This method not used on the wire
01392     void Opnum29NotUsedOnWire(void);
01393 
01394     NET_API_STATUS
01395     NetprPathType(
01396         [in,string,unique] SRVSVC_HANDLE ServerName,
01397         [in,string] WCHAR * PathName,
01398         [out] DWORD * PathType,
01399         [in] DWORD Flags
01400     );
01401 
01402     NET_API_STATUS
01403     NetprPathCanonicalize(
01404         [in,string,unique] SRVSVC_HANDLE ServerName,
01405         [in,string] WCHAR * PathName,
01406         [out,size_is(OutbufLen)] unsigned char * Outbuf,
01407         [in,range(0, 64000)] DWORD OutbufLen,
01408         [in,string] WCHAR * Prefix,
01409         [in,out] DWORD * PathType,
01410         [in] DWORD Flags
01411     );
01412 
01413     long
01414     NetprPathCompare(
01415         [in,string,unique] SRVSVC_HANDLE ServerName,
01416         [in,string] WCHAR * PathName1,
01417         [in,string] WCHAR * PathName2,
01418         [in] DWORD PathType,
01419         [in] DWORD Flags
01420     );
01421 
01422     NET_API_STATUS
01423     NetprNameValidate(
01424         [in,string,unique] SRVSVC_HANDLE ServerName,
01425         [in,string] WCHAR * Name,
01426         [in] DWORD NameType,
01427         [in] DWORD Flags
01428     );
01429 
01430     NET_API_STATUS
01431     NetprNameCanonicalize(
01432         [in,string,unique] SRVSVC_HANDLE ServerName,
01433         [in,string] WCHAR * Name,
01434         [out, size_is(OutbufLen)] WCHAR * Outbuf,
01435         [in,range(0, 64000)] DWORD OutbufLen,
01436         [in] DWORD NameType,
01437         [in] DWORD Flags
01438     );
01439 
01440     long
01441     NetprNameCompare(
01442         [in,string,unique] SRVSVC_HANDLE ServerName,
01443         [in,string] WCHAR * Name1,
01444         [in,string] WCHAR * Name2,
01445         [in] DWORD NameType,
01446         [in] DWORD Flags
01447     );
01448 
01449     NET_API_STATUS
01450     NetrShareEnumSticky (
01451         [in,string,unique] SRVSVC_HANDLE ServerName,
01452         [in,out] LPSHARE_ENUM_STRUCT InfoStruct,
01453         [in] DWORD PreferedMaximumLength,
01454         [out] DWORD * TotalEntries,
01455         [in,out,unique] DWORD * ResumeHandle
01456     );
01457 
01458     NET_API_STATUS
01459     NetrShareDelStart (
01460         [in,string,unique] SRVSVC_HANDLE ServerName,
01461         [in,string] WCHAR * NetName,
01462         [in] DWORD Reserved,
01463         [out] PSHARE_DEL_HANDLE ContextHandle
01464     );
01465 
01466     NET_API_STATUS
01467     NetrShareDelCommit (
01468         [in, out] PSHARE_DEL_HANDLE ContextHandle
01469     );
01470 
01471     DWORD
01472     NetrpGetFileSecurity (
01473         [in,string,unique] SRVSVC_HANDLE ServerName,
01474         [in,string,unique] WCHAR * ShareName,
01475         [in,string] WCHAR * lpFileName,
01476         [in] SECURITY_INFORMATION RequestedInformation,
01477         [out] PADT_SECURITY_DESCRIPTOR *SecurityDescriptor
01478     );
01479 
01480     DWORD
01481     NetrpSetFileSecurity (
01482         [in,string,unique] SRVSVC_HANDLE ServerName,
01483         [in,string,unique] WCHAR * ShareName,
01484         [in,string] WCHAR * lpFileName,
01485         [in] SECURITY_INFORMATION SecurityInformation,
01486         [in] PADT_SECURITY_DESCRIPTOR SecurityDescriptor
01487     );
01488 
01489     NET_API_STATUS
01490     NetrServerTransportAddEx (
01491         [in,string,unique] SRVSVC_HANDLE ServerName,
01492         [in] DWORD Level,
01493         [in, switch_is(Level)] LPTRANSPORT_INFO Buffer
01494     );
01495 
01496 // This method not used on the wire
01497     void Opnum42NotUsedOnWire(void);
01498 
01499     NET_API_STATUS
01500     NetrDfsGetVersion(
01501         [in,string,unique] SRVSVC_HANDLE ServerName,
01502         [out] DWORD * Version
01503     );
01504 
01505     NET_API_STATUS
01506     NetrDfsCreateLocalPartition (
01507         [in,string,unique] SRVSVC_HANDLE ServerName,
01508         [in,string] WCHAR * ShareName,
01509         [in] GUID * EntryUid,
01510         [in,string] WCHAR * EntryPrefix,
01511         [in,string] WCHAR * ShortName,
01512         [in] LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
01513         [in] int Force
01514     );
01515 
01516     NET_API_STATUS
01517     NetrDfsDeleteLocalPartition (
01518         [in,string,unique] SRVSVC_HANDLE ServerName,
01519         [in] GUID * Uid,
01520         [in,string] WCHAR * Prefix
01521     );
01522 
01523     NET_API_STATUS
01524     NetrDfsSetLocalVolumeState (
01525         [in,string,unique] SRVSVC_HANDLE ServerName,
01526         [in] GUID * Uid,
01527         [in,string] WCHAR * Prefix,
01528         [in] unsigned long State
01529     );
01530 
01531 // This method not used on the wire
01532     void Opnum47NotUsedOnWire(void);
01533 
01534     NET_API_STATUS
01535     NetrDfsCreateExitPoint (
01536         [in,string,unique] SRVSVC_HANDLE ServerName,
01537         [in] GUID * Uid,
01538         [in,string] WCHAR * Prefix,
01539         [in] unsigned long Type,
01540         [in, range(0,32) ] DWORD ShortPrefixLen,
01541         [out,string,size_is(ShortPrefixLen)] WCHAR * ShortPrefix
01542     );
01543 
01544     NET_API_STATUS
01545     NetrDfsDeleteExitPoint (
01546         [in,string,unique] SRVSVC_HANDLE ServerName,
01547         [in] GUID * Uid,
01548         [in,string] WCHAR * Prefix,
01549         [in] unsigned long Type
01550     );
01551 
01552     NET_API_STATUS
01553     NetrDfsModifyPrefix (
01554         [in,string,unique] SRVSVC_HANDLE ServerName,
01555         [in] GUID * Uid,
01556         [in,string] WCHAR * Prefix
01557     );
01558 
01559     NET_API_STATUS
01560     NetrDfsFixLocalVolume (
01561         [in,string,unique] SRVSVC_HANDLE ServerName,
01562         [in,string] WCHAR * VolumeName,
01563         [in] unsigned long EntryType,
01564         [in] unsigned long ServiceType,
01565         [in,string] WCHAR * StgId,
01566         [in] GUID * EntryUid,
01567         [in,string] WCHAR * EntryPrefix,
01568         [in] LPNET_DFS_ENTRY_ID_CONTAINER RelationInfo,
01569         [in] unsigned long CreateDisposition
01570     );
01571 
01572     NET_API_STATUS
01573     NetrDfsManagerReportSiteInfo (
01574         [in,string,unique] SRVSVC_HANDLE ServerName,
01575         [in,out,unique] LPDFS_SITELIST_INFO *ppSiteInfo
01576     );
01577 
01578     NET_API_STATUS
01579     NetrServerTransportDelEx (
01580         [in,string,unique] SRVSVC_HANDLE ServerName,
01581         [in] DWORD Level,
01582         [in, switch_is(Level)] LPTRANSPORT_INFO Buffer
01583     );
01584 
01585 NET_API_STATUS
01586 NetrServerAliasAdd (
01587     [in,string,unique] SRVSVC_HANDLE        ServerName,
01588     [in]               DWORD                Level,
01589     [in, switch_is(Level)] LPSERVER_ALIAS_INFO     InfoStruct
01590     );
01591 
01592 NET_API_STATUS
01593 NetrServerAliasEnum (
01594     [in,string,unique] SRVSVC_HANDLE        ServerName,
01595     [in,out]           LPSERVER_ALIAS_ENUM_STRUCT  InfoStruct,
01596     [in]               DWORD                PreferedMaximumLength,
01597     [out]              LPDWORD              TotalEntries,
01598     [in,out,unique]    LPDWORD              ResumeHandle
01599     );
01600 
01601 NET_API_STATUS
01602 NetrServerAliasDel (
01603     [in,string,unique] SRVSVC_HANDLE        ServerName,
01604     [in]               DWORD                Level,
01605     [in, switch_is(Level)] LPSERVER_ALIAS_INFO     InfoStruct
01606     );
01607 
01608     NET_API_STATUS
01609     NetrShareDelEx (
01610         [in,string,unique] SRVSVC_HANDLE ServerName,
01611         [in] DWORD Level,
01612         [in,switch_is(Level)] LPSHARE_INFO ShareInfo
01613     );
01614 }
 All Data Structures Files Functions Variables