/*
srvsvc interface definitions
*/
+import "security.idl", "svcctl.idl";
-[ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
+[ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
version(3.0),
- pointer_default(unique)
+ endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
+ pointer_default(unique),
+ helpstring("Server Service")
] interface srvsvc
{
+ typedef bitmap svcctl_ServerType svcctl_ServerType;
+ typedef bitmap security_secinfo security_secinfo;
+
/**************************/
/* srvsvc_NetCharDev */
/**************************/
typedef struct {
- unistr *device;
+ [string,charset(UTF16)] uint16 *device;
} srvsvc_NetCharDevInfo0;
typedef struct {
} srvsvc_NetCharDevCtr0;
typedef struct {
- unistr *device;
+ [string,charset(UTF16)] uint16 *device;
uint32 status;
- unistr *user;
+ [string,charset(UTF16)] uint16 *user;
uint32 time;
} srvsvc_NetCharDevInfo1;
[default] ;
} srvsvc_NetCharDevCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetCharDevCtr ctr;
+ } srvsvc_NetCharDevInfoCtr;
+
/******************/
/* Function: 0x00 */
WERROR srvsvc_NetCharDevEnum(
- [in] unistr *server_unc,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetCharDevCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,out,ref] srvsvc_NetCharDevInfoCtr *info_ctr,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x01 */
WERROR srvsvc_NetCharDevGetInfo(
- [in] unistr *server_unc,
- [in] unistr device_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 device_name[],
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetCharDevInfo info
+ [out,ref,switch_is(level)] srvsvc_NetCharDevInfo *info
);
/******************/
/* Function: 0x02 */
WERROR srvsvc_NetCharDevControl(
- [in] unistr *server_unc,
- [in] unistr device_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 device_name[],
[in] uint32 opcode
);
/* srvsvc_NetCharDevQ */
/**************************/
typedef struct {
- unistr *device;
+ [string,charset(UTF16)] uint16 *device;
} srvsvc_NetCharDevQInfo0;
typedef struct {
} srvsvc_NetCharDevQCtr0;
typedef struct {
- unistr *device;
+ [string,charset(UTF16)] uint16 *device;
uint32 priority;
- unistr *devices;
+ [string,charset(UTF16)] uint16 *devices;
uint32 users;
uint32 num_ahead;
} srvsvc_NetCharDevQInfo1;
[default] ;
} srvsvc_NetCharDevQCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetCharDevQCtr ctr;
+ } srvsvc_NetCharDevQInfoCtr;
+
/******************/
/* Function: 0x03 */
WERROR srvsvc_NetCharDevQEnum(
- [in] unistr *server_unc,
- [in] unistr *user,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetCharDevQCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *user,
+ [in,out,ref] srvsvc_NetCharDevQInfoCtr *info_ctr,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x04 */
WERROR srvsvc_NetCharDevQGetInfo(
- [in] unistr *server_unc,
- [in] unistr queue_name,
- [in] unistr user,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 queue_name[],
+ [in] [string,charset(UTF16)] uint16 user[],
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetCharDevQInfo info
+ [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
);
/******************/
/* Function: 0x05 */
WERROR srvsvc_NetCharDevQSetInfo(
- [in] unistr *server_unc,
- [in] unistr queue_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 queue_name[],
[in] uint32 level,
[in,switch_is(level)] srvsvc_NetCharDevQInfo info,
- [in,out] uint32 *parm_error
+ [in,out,unique] uint32 *parm_error
);
/******************/
/* Function: 0x06 */
WERROR srvsvc_NetCharDevQPurge(
- [in] unistr *server_unc,
- [in] unistr queue_name
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 queue_name[]
);
/******************/
/* Function: 0x07 */
WERROR srvsvc_NetCharDevQPurgeSelf(
- [in] unistr *server_unc,
- [in] unistr queue_name,
- [in] unistr computer_name
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 queue_name[],
+ [in] [string,charset(UTF16)] uint16 computer_name[]
);
/**************************/
uint32 num_open;
uint32 num_users;
uint32 conn_time;
- unistr *user;
- unistr *client;
+ [string,charset(UTF16)] uint16 *user;
+ [string,charset(UTF16)] uint16 *share;
} srvsvc_NetConnInfo1;
typedef struct {
[default] ;
} srvsvc_NetConnCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetConnCtr ctr;
+ } srvsvc_NetConnInfoCtr;
+
/******************/
/* Function: 0x08 */
WERROR srvsvc_NetConnEnum(
- [in] unistr *server_unc,
- [in] unistr *path,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetConnCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *path,
+ [in,out,ref] srvsvc_NetConnInfoCtr *info_ctr,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/**************************/
uint32 fid;
uint32 permissions;
uint32 num_locks;
- unistr *path;
- unistr *user;
+ [string,charset(UTF16)] uint16 *path;
+ [string,charset(UTF16)] uint16 *user;
} srvsvc_NetFileInfo3;
typedef struct {
[default] ;
} srvsvc_NetFileCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetFileCtr ctr;
+ } srvsvc_NetFileInfoCtr;
+
/******************/
/* Function: 0x09 */
WERROR srvsvc_NetFileEnum(
- [in] unistr *server_unc,
- [in] unistr *path,
- [in] unistr *user,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetFileCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *path,
+ [in,unique] [string,charset(UTF16)] uint16 *user,
+ [in,out,ref] srvsvc_NetFileInfoCtr *info_ctr,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x0a */
WERROR srvsvc_NetFileGetInfo(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 fid,
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetFileInfo info
+ [out,switch_is(level),ref] srvsvc_NetFileInfo *info
);
/******************/
/* Function: 0x0b */
WERROR srvsvc_NetFileClose(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 fid
);
/* srvsvc_NetSess */
/**************************/
typedef struct {
- unistr *client;
+ [string,charset(UTF16)] uint16 *client;
} srvsvc_NetSessInfo0;
typedef struct {
} srvsvc_NetSessCtr0;
typedef struct {
- unistr *client;
- unistr *user;
+ [string,charset(UTF16)] uint16 *client;
+ [string,charset(UTF16)] uint16 *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
} srvsvc_NetSessCtr1;
typedef struct {
- unistr *client;
- unistr *user;
+ [string,charset(UTF16)] uint16 *client;
+ [string,charset(UTF16)] uint16 *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
uint32 user_flags;
- unistr *client_type;
+ [string,charset(UTF16)] uint16 *client_type;
} srvsvc_NetSessInfo2;
typedef struct {
} srvsvc_NetSessCtr2;
typedef struct {
- unistr *client;
- unistr *user;
+ [string,charset(UTF16)] uint16 *client;
+ [string,charset(UTF16)] uint16 *user;
uint32 time;
uint32 idle_time;
} srvsvc_NetSessInfo10;
} srvsvc_NetSessCtr10;
typedef struct {
- unistr *client;
- unistr *user;
+ [string,charset(UTF16)] uint16 *client;
+ [string,charset(UTF16)] uint16 *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
uint32 user_flags;
- unistr *client_type;
- unistr *transport;
+ [string,charset(UTF16)] uint16 *client_type;
+ [string,charset(UTF16)] uint16 *transport;
} srvsvc_NetSessInfo502;
typedef struct {
/******************/
/* Function: 0x0c */
+
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetSessCtr ctr;
+ } srvsvc_NetSessInfoCtr;
+
WERROR srvsvc_NetSessEnum(
- [in] unistr *server_unc,
- [in] unistr *client,
- [in] unistr *user,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetSessCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *client,
+ [in,unique] [string,charset(UTF16)] uint16 *user,
+ [in,out,ref] srvsvc_NetSessInfoCtr *info_ctr,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x0d */
WERROR srvsvc_NetSessDel(
- [in] unistr *server_unc,
- [in] unistr *client,
- [in] unistr *user
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *client,
+ [in,unique] [string,charset(UTF16)] uint16 *user
);
/**************************/
/**************************/
/* share types */
- const int STYPE_DISKTREE = 0;
- const int STYPE_PRINTQ = 1;
- const int STYPE_DEVICE = 2; /* Serial device */
- const int STYPE_IPC = 3; /* Interprocess communication (IPC) */
- const int STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
+ const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
+ const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
+
+ typedef [v1_enum, flag(NDR_PAHEX)] enum {
+ STYPE_DISKTREE = 0,
+ STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
+ STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
+ STYPE_PRINTQ = 1,
+ STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
+ STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
+ STYPE_DEVICE = 2, /* Serial device */
+ STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
+ STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
+ STYPE_IPC = 3, /* Interprocess communication (IPC) */
+ STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
+ STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
+ } srvsvc_ShareType;
typedef struct {
- unistr *name;
+ [string,charset(UTF16)] uint16 *name;
} srvsvc_NetShareInfo0;
typedef struct {
} srvsvc_NetShareCtr0;
typedef struct {
- unistr *name;
- uint32 type;
- unistr *comment;
+ [string,charset(UTF16)] uint16 *name;
+ srvsvc_ShareType type;
+ [string,charset(UTF16)] uint16 *comment;
} srvsvc_NetShareInfo1;
typedef struct {
} srvsvc_NetShareCtr1;
typedef struct {
- unistr *name;
- uint32 type;
- unistr *comment;
+ [string,charset(UTF16)] uint16 *name;
+ srvsvc_ShareType type;
+ [string,charset(UTF16)] uint16 *comment;
uint32 permissions;
uint32 max_users;
uint32 current_users;
- unistr *path;
- unistr *password;
+ [string,charset(UTF16)] uint16 *path;
+ [string,charset(UTF16)] uint16 *password;
} srvsvc_NetShareInfo2;
typedef struct {
} srvsvc_NetShareCtr2;
typedef struct {
- unistr *name;
- uint32 type;
- unistr *comment;
+ [string,charset(UTF16)] uint16 *name;
+ srvsvc_ShareType type;
+ [string,charset(UTF16)] uint16 *comment;
uint32 csc_policy;
} srvsvc_NetShareInfo501;
} srvsvc_NetShareCtr501;
typedef struct {
- unistr *name;
- uint32 type;
- unistr *comment;
+ [string,charset(UTF16)] uint16 *name;
+ srvsvc_ShareType type;
+ [string,charset(UTF16)] uint16 *comment;
uint32 permissions;
uint32 max_users;
uint32 current_users;
- unistr *path;
- unistr *password;
- uint32 unknown;
- [subcontext(4)] security_descriptor *sd;
+ [string,charset(UTF16)] uint16 *path;
+ [string,charset(UTF16)] uint16 *password;
+ sec_desc_buf sd_buf;
} srvsvc_NetShareInfo502;
typedef struct {
- uint32 dfs_flags;
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo502 *array;
+ } srvsvc_NetShareCtr502;
+
+ typedef struct {
+ [string,charset(UTF16)] uint16 *comment;
+ } srvsvc_NetShareInfo1004;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo1004 *array;
+ } srvsvc_NetShareCtr1004;
+
+ typedef bitmap {
+ SHARE_1005_IN_DFS = 0x00000001,
+ SHARE_1005_DFS_ROOT = 0x00000002
+ } NetShareInfo1005Flags;
+
+ const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
+ const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
+
+ typedef struct {
+ NetShareInfo1005Flags dfs_flags;
} srvsvc_NetShareInfo1005;
typedef struct {
uint32 count;
- [size_is(count)] srvsvc_NetShareInfo502 *array;
- } srvsvc_NetShareCtr502;
+ [size_is(count)] srvsvc_NetShareInfo1005 *array;
+ } srvsvc_NetShareCtr1005;
+
+ typedef struct {
+ uint32 max_users;
+ } srvsvc_NetShareInfo1006;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo1006 *array;
+ } srvsvc_NetShareCtr1006;
+
+ typedef struct {
+ uint32 flags;
+ [string,charset(UTF16)] uint16 *alternate_directory_name;
+ } srvsvc_NetShareInfo1007;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo1007 *array;
+ } srvsvc_NetShareCtr1007;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] sec_desc_buf *array;
+ } srvsvc_NetShareCtr1501;
typedef union {
[case(0)] srvsvc_NetShareInfo0 *info0;
[case(2)] srvsvc_NetShareInfo2 *info2;
[case(501)] srvsvc_NetShareInfo501 *info501;
[case(502)] srvsvc_NetShareInfo502 *info502;
+ [case(1004)] srvsvc_NetShareInfo1004 *info1004;
[case(1005)] srvsvc_NetShareInfo1005 *info1005;
+ [case(1006)] srvsvc_NetShareInfo1006 *info1006;
+ [case(1007)] srvsvc_NetShareInfo1007 *info1007;
+ [case(1501)] sec_desc_buf *info1501;
[default] ;
} srvsvc_NetShareInfo;
[case(2)] srvsvc_NetShareCtr2 *ctr2;
[case(501)] srvsvc_NetShareCtr501 *ctr501;
[case(502)] srvsvc_NetShareCtr502 *ctr502;
+ [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
+ [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
+ [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
+ [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
+ [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
[default] ;
} srvsvc_NetShareCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetShareCtr ctr;
+ } srvsvc_NetShareInfoCtr;
+
/******************/
/* Function: 0x0e */
WERROR srvsvc_NetShareAdd(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetShareInfo info,
- [in,out] uint32 *parm_error
+ [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
+ [in,out,unique] uint32 *parm_error
);
/******************/
/* Function: 0x0f */
WERROR srvsvc_NetShareEnumAll (
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in,out] uint32 level,
[in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
[in] uint32 max_buffer,
[out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x10 */
WERROR srvsvc_NetShareGetInfo(
- [in] unistr *server_unc,
- [in] unistr share_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 share_name[],
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetShareInfo info
+ [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
);
/******************/
/* Function: 0x11 */
WERROR srvsvc_NetShareSetInfo(
- [in] unistr *server_unc,
- [in] unistr *share_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 share_name[],
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetShareInfo info,
- [in,out] uint32 *parm_error
+ [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
+ [in,out,unique] uint32 *parm_error
);
/******************/
/* Function: 0x12 */
WERROR srvsvc_NetShareDel(
- [in] unistr *server_unc,
- [in] unistr *share_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 share_name[],
[in] uint32 reserved
);
/******************/
/* Function: 0x13 */
WERROR srvsvc_NetShareDelSticky(
- [in] unistr *server_unc,
- [in] unistr *share_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 share_name[],
[in] uint32 reserved
);
/******************/
/* Function: 0x14 */
WERROR srvsvc_NetShareCheck(
- [in] unistr *server_unc,
- [in] unistr *share_name,
- [out] uint32 type
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 device_name[],
+ [out,ref] srvsvc_ShareType *type
);
/**************************/
/* srvsvc_NetSrv */
/**************************/
+ typedef [public,v1_enum] enum {
+ PLATFORM_ID_DOS = 300,
+ PLATFORM_ID_OS2 = 400,
+ PLATFORM_ID_NT = 500,
+ PLATFORM_ID_OSF = 600,
+ PLATFORM_ID_VMS = 700
+ } srvsvc_PlatformId;
+
typedef struct {
- uint32 platform_id;
- unistr *server_unc;
+ srvsvc_PlatformId platform_id;
+ [string,charset(UTF16)] uint16 *server_name;
} srvsvc_NetSrvInfo100;
typedef struct {
- uint32 platform_id;
- unistr *server_unc;
- uint32 ver_major;
- uint32 ver_minor;
- uint32 type;
- unistr *comment;
+ srvsvc_PlatformId platform_id;
+ [string,charset(UTF16)] uint16 *server_name;
+ uint32 version_major;
+ uint32 version_minor;
+ svcctl_ServerType server_type;
+ [string,charset(UTF16)] uint16 *comment;
} srvsvc_NetSrvInfo101;
typedef struct {
- uint32 platform_id;
- unistr *server_unc;
- uint32 ver_major;
- uint32 ver_minor;
- uint32 type;
- unistr *comment;
+ srvsvc_PlatformId platform_id;
+ [string,charset(UTF16)] uint16 *server_name;
+ uint32 version_major;
+ uint32 version_minor;
+ svcctl_ServerType server_type;
+ [string,charset(UTF16)] uint16 *comment;
uint32 users;
uint32 disc;
uint32 hidden;
uint32 announce;
uint32 anndelta;
- uint32 licences;
- unistr *userpath;
+ uint32 licenses;
+ [string,charset(UTF16)] uint16 *userpath;
} srvsvc_NetSrvInfo102;
typedef struct {
uint32 ulist_mtime;
uint32 glist_mtime;
uint32 alist_mtime;
- unistr *alerts;
+ [string,charset(UTF16)] uint16 *alerts;
uint32 security;
uint32 numadmin;
uint32 lanmask;
- unistr *guestaccount;
+ [string,charset(UTF16)] uint16 *guestaccount;
uint32 chdevs;
uint32 chdevqs;
uint32 chdevjobs;
uint32 sessreqs;
uint32 opensearch;
uint32 activelocks;
+ uint32 numreqbufs;
uint32 sizereqbufs;
uint32 numbigbufs;
uint32 numfiletasks;
uint32 alertsched;
- uint32 eroralert;
+ uint32 erroralert;
uint32 logonalert;
uint32 accessalert;
uint32 diskalert;
uint32 netioalert;
uint32 maxaudits;
- unistr *srvheuristics;
+ [string,charset(UTF16)] uint16 *srvheuristics;
} srvsvc_NetSrvInfo402;
typedef struct {
uint32 ulist_mtime;
uint32 glist_mtime;
uint32 alist_mtime;
- unistr *alerts;
+ [string,charset(UTF16)] uint16 *alerts;
uint32 security;
uint32 numadmin;
uint32 lanmask;
- unistr *guestaccount;
+ [string,charset(UTF16)] uint16 *guestaccount;
uint32 chdevs;
uint32 chdevqs;
uint32 chdevjobs;
uint32 sessreqs;
uint32 opensearch;
uint32 activelocks;
+ uint32 numreqbufs;
uint32 sizereqbufs;
uint32 numbigbufs;
uint32 numfiletasks;
uint32 diskalert;
uint32 netioalert;
uint32 maxaudits;
- unistr *srvheuristics;
+ [string,charset(UTF16)] uint16 *srvheuristics;
uint32 auditedevents;
uint32 auditprofile;
- unistr *autopath;
+ [string,charset(UTF16)] uint16 *autopath;
} srvsvc_NetSrvInfo403;
typedef struct {
uint32 timesource;
uint32 acceptdownlevelapis;
uint32 lmannounce;
- unistr *domain;
+ [string,charset(UTF16)] uint16 *domain;
uint32 maxcopyreadlen;
uint32 maxcopywritelen;
uint32 minkeepsearch;
} srvsvc_NetSrvInfo503;
typedef struct{
- uint32 dummy;
+ uint32 sessopen;
+ uint32 sesssvc;
+ uint32 opensearch;
+ uint32 sizereqbufs;
+ uint32 initworkitems;
+ uint32 maxworkitems;
+ uint32 rawworkitems;
+ uint32 irpstacksize;
+ uint32 maxrawbuflen;
+ uint32 sessusers;
+ uint32 sessconns;
+ uint32 maxpagedmemoryusage;
+ uint32 maxnonpagedmemoryusage;
+ uint32 enablesoftcompat;
+ uint32 enableforcedlogoff;
+ uint32 timesource;
+ uint32 acceptdownlevelapis;
+ uint32 lmannounce;
+ [string,charset(UTF16)] uint16 *domain;
+ uint32 maxcopyreadlen;
+ uint32 maxcopywritelen;
+ uint32 minkeepsearch;
+ uint32 minkeepcomplsearch;
+ uint32 maxkeepcomplsearch;
+ uint32 threadcountadd;
+ uint32 numlockthreads;
+ uint32 scavtimeout;
+ uint32 minrcvqueue;
+ uint32 minfreeworkitems;
+ uint32 xactmemsize;
+ uint32 threadpriority;
+ uint32 maxmpxct;
+ uint32 oplockbreakwait;
+ uint32 oplockbreakresponsewait;
+ uint32 enableoplocks;
+ uint32 enableoplockforceclose;
+ uint32 enablefcbopens;
+ uint32 enableraw;
+ uint32 enablesharednetdrives;
+ uint32 minfreeconnections;
+ uint32 maxfreeconnections;
+ uint32 initsesstable;
+ uint32 initconntable;
+ uint32 initfiletable;
+ uint32 initsearchtable;
+ uint32 alertsched;
+ uint32 errortreshold;
+ uint32 networkerrortreshold;
+ uint32 diskspacetreshold;
+ uint32 reserved;
+ uint32 maxlinkdelay;
+ uint32 minlinkthroughput;
+ uint32 linkinfovalidtime;
+ uint32 scavqosinfoupdatetime;
+ uint32 maxworkitemidletime;
} srvsvc_NetSrvInfo599;
typedef struct{
- uint32 dummy;
+ [string,charset(UTF16)] uint16 *comment;
} srvsvc_NetSrvInfo1005;
typedef struct{
- uint32 dummy;
+ uint32 disc;
} srvsvc_NetSrvInfo1010;
typedef struct{
- uint32 dummy;
+ uint32 hidden;
} srvsvc_NetSrvInfo1016;
typedef struct{
- uint32 dummy;
+ uint32 announce;
} srvsvc_NetSrvInfo1017;
typedef struct{
- uint32 dummy;
+ uint32 anndelta;
} srvsvc_NetSrvInfo1018;
typedef struct{
- uint32 dummy;
+ uint32 users;
} srvsvc_NetSrvInfo1107;
typedef struct{
- uint32 dummy;
+ uint32 sessopens;
} srvsvc_NetSrvInfo1501;
typedef struct{
- uint32 dummy;
+ uint32 sessvcs;
} srvsvc_NetSrvInfo1502;
typedef struct{
- uint32 dummy;
+ uint32 opensearch;
} srvsvc_NetSrvInfo1503;
typedef struct{
- uint32 dummy;
+ uint32 maxworkitems;
} srvsvc_NetSrvInfo1506;
typedef struct{
- uint32 dummy;
+ uint32 maxrawbuflen;
} srvsvc_NetSrvInfo1509;
typedef struct{
- uint32 dummy;
+ uint32 sessusers;
} srvsvc_NetSrvInfo1510;
typedef struct{
- uint32 dummy;
+ uint32 sesscons;
} srvsvc_NetSrvInfo1511;
typedef struct{
- uint32 dummy;
+ uint32 maxnonpagedmemoryusage;
} srvsvc_NetSrvInfo1512;
typedef struct{
- uint32 dummy;
+ uint32 maxpagedmemoryusage;
} srvsvc_NetSrvInfo1513;
typedef struct{
- uint32 dummy;
+ uint32 enablesoftcompat;
} srvsvc_NetSrvInfo1514;
typedef struct{
- uint32 dummy;
+ uint32 enableforcedlogoff;
} srvsvc_NetSrvInfo1515;
typedef struct{
- uint32 dummy;
+ uint32 timesource;
} srvsvc_NetSrvInfo1516;
typedef struct{
- uint32 dummy;
+ uint32 lmannounce;
} srvsvc_NetSrvInfo1518;
typedef struct{
- uint32 dummy;
+ uint32 maxcopyreadlen;
} srvsvc_NetSrvInfo1520;
typedef struct{
- uint32 dummy;
+ uint32 maxcopywritelen;
} srvsvc_NetSrvInfo1521;
typedef struct{
- uint32 dummy;
+ uint32 minkeepsearch;
} srvsvc_NetSrvInfo1522;
typedef struct{
- uint32 dummy;
+ uint32 maxkeepsearch;
} srvsvc_NetSrvInfo1523;
typedef struct{
- uint32 dummy;
+ uint32 minkeepcomplsearch;
} srvsvc_NetSrvInfo1524;
typedef struct{
- uint32 dummy;
+ uint32 maxkeepcomplsearch;
} srvsvc_NetSrvInfo1525;
typedef struct{
- uint32 dummy;
+ uint32 scavtimeout;
} srvsvc_NetSrvInfo1528;
typedef struct{
- uint32 dummy;
+ uint32 minrcvqueue;
} srvsvc_NetSrvInfo1529;
typedef struct{
- uint32 dummy;
+ uint32 minfreeworkitems;
} srvsvc_NetSrvInfo1530;
typedef struct{
- uint32 dummy;
+ uint32 maxmpxct;
} srvsvc_NetSrvInfo1533;
typedef struct{
- uint32 dummy;
+ uint32 oplockbreakwait;
} srvsvc_NetSrvInfo1534;
typedef struct{
- uint32 dummy;
+ uint32 oplockbreakresponsewait;
} srvsvc_NetSrvInfo1535;
typedef struct{
- uint32 dummy;
+ uint32 enableoplocks;
} srvsvc_NetSrvInfo1536;
typedef struct{
- uint32 dummy;
+ uint32 enableoplockforceclose;
} srvsvc_NetSrvInfo1537;
typedef struct{
- uint32 dummy;
+ uint32 enablefcbopens;
} srvsvc_NetSrvInfo1538;
typedef struct{
- uint32 dummy;
+ uint32 enableraw;
} srvsvc_NetSrvInfo1539;
typedef struct{
- uint32 dummy;
+ uint32 enablesharednetdrives;
} srvsvc_NetSrvInfo1540;
typedef struct{
- uint32 dummy;
+ uint32 minfreeconnections;
} srvsvc_NetSrvInfo1541;
typedef struct{
- uint32 dummy;
+ uint32 maxfreeconnections;
} srvsvc_NetSrvInfo1542;
typedef struct{
- uint32 dummy;
+ uint32 initsesstable;
} srvsvc_NetSrvInfo1543;
typedef struct{
- uint32 dummy;
+ uint32 initconntable;
} srvsvc_NetSrvInfo1544;
typedef struct{
- uint32 dummy;
+ uint32 initfiletable;
} srvsvc_NetSrvInfo1545;
typedef struct{
- uint32 dummy;
+ uint32 initsearchtable;
} srvsvc_NetSrvInfo1546;
typedef struct{
- uint32 dummy;
+ uint32 alertsched;
} srvsvc_NetSrvInfo1547;
typedef struct{
- uint32 dummy;
+ uint32 errortreshold;
} srvsvc_NetSrvInfo1548;
typedef struct{
- uint32 dummy;
+ uint32 networkerrortreshold;
} srvsvc_NetSrvInfo1549;
typedef struct{
- uint32 dummy;
+ uint32 diskspacetreshold;
} srvsvc_NetSrvInfo1550;
typedef struct{
- uint32 dummy;
+ uint32 maxlinkdelay;
} srvsvc_NetSrvInfo1552;
typedef struct{
- uint32 dummy;
+ uint32 minlinkthroughput;
} srvsvc_NetSrvInfo1553;
typedef struct{
- uint32 dummy;
+ uint32 linkinfovalidtime;
} srvsvc_NetSrvInfo1554;
typedef struct{
- uint32 dummy;
+ uint32 scavqosinfoupdatetime;
} srvsvc_NetSrvInfo1555;
typedef struct{
- uint32 dummy;
+ uint32 maxworkitemidletime;
} srvsvc_NetSrvInfo1556;
/******************/
/* Function: 0x15 */
WERROR srvsvc_NetSrvGetInfo(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetSrvInfo info
+ [out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
);
/******************/
/* Function: 0x16 */
WERROR srvsvc_NetSrvSetInfo(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetSrvInfo info,
- [in,out] uint32 *parm_error
+ [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
+ [in,out,unique] uint32 *parm_error
);
/**************************/
/* srvsvc_NetDisk */
/**************************/
typedef struct {
- uint32 unknown;
- lstring disk;
- uint16 unknown2;
+ /*
+ * In theory this should be:
+ * [charset(UTF16),string] uint16 annotation[3]
+ * But midl treats this as:
+ * [charset(UTF16),string] uint16 annotation[]
+ * and pidl doesn't support this yet
+ */
+ [value(0)] uint32 __disk_offset;
+ [value(strlen(disk)+1)] uint32 __disk_length;
+ [charset(UTF16)] uint16 disk[__disk_length];
} srvsvc_NetDiskInfo0;
typedef struct {
- uint32 unknown;
uint32 count;
- [size_is(count)] srvsvc_NetDiskInfo0 array[];
- } srvsvc_NetDiskCtr0;
-
- typedef union {
- [case(0)] srvsvc_NetDiskCtr0 *ctr0;
- } srvsvc_NetDiskCtr;
+ [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
+ } srvsvc_NetDiskInfo;
/******************/
/* Function: 0x17 */
WERROR srvsvc_NetDiskEnum(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [out] uint32 count,
- [in,switch_is(level)] srvsvc_NetDiskCtr ctr,
- [out] srvsvc_NetDiskCtr0 *ctr0,
- [in] uint32 unknown,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [in,out,ref] srvsvc_NetDiskInfo *info,
+ [in] uint32 maxlen,
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
- /******************/
- /* Function: 0x18 */
- WERROR srvsvc_NETRSERVERSTATISTICSGET(
- );
+/**************************/
+/* srvsvc_NetStatistics */
+/**************************/
+ typedef struct {
+ uint32 start;
+ uint32 fopens;
+ uint32 devopens;
+ uint32 jobsqueued;
+ uint32 sopens;
+ uint32 stimeouts;
+ uint32 serrorout;
+ uint32 pwerrors;
+ uint32 permerrors;
+ uint32 syserrors;
+ uint32 bytessent_low;
+ uint32 bytessent_high;
+ uint32 bytesrcvd_low;
+ uint32 bytesrcvd_high;
+ uint32 avresponse;
+ uint32 reqbufneed;
+ uint32 bigbufneed;
+ } srvsvc_Statistics;
/******************/
- /* Function: 0x19 */
- WERROR srvsvc_NETRSERVERTRANSPORTADD(
+ /* Function: 0x18 */
+ WERROR srvsvc_NetServerStatisticsGet(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *service,
+ [in] uint32 level,
+ [in] uint32 options,
+ [out,ref] srvsvc_Statistics **stats
);
/**************************/
/* srvsvc_NetTransport */
/**************************/
- typedef struct {
- uint32 count;
- uint8 addr[count];
- } srvsvc_NetTransportAddress;
-
typedef struct {
uint32 vcs;
- unistr *name;
- srvsvc_NetTransportAddress *addr;
+ [string,charset(UTF16)] uint16 *name;
+ [size_is(addr_len)] uint8 *addr;
uint32 addr_len;
- unistr *net_addr;
+ [string,charset(UTF16)] uint16 *net_addr;
} srvsvc_NetTransportInfo0;
+ /******************/
+ /* Function: 0x19 */
+ WERROR srvsvc_NetTransportAdd(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] uint32 level,
+ [in,switch_is(level)] srvsvc_NetTransportInfo info
+ );
+
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetTransportInfo0 *array;
typedef struct {
uint32 vcs;
- unistr *name;
- srvsvc_NetTransportAddress *addr;
+ [string,charset(UTF16)] uint16 *name;
+ [size_is(addr_len)] uint8 *addr;
uint32 addr_len;
- unistr *net_addr;
- unistr *domain;
+ [string,charset(UTF16)] uint16 *net_addr;
+ [string,charset(UTF16)] uint16 *domain;
} srvsvc_NetTransportInfo1;
typedef struct {
} srvsvc_NetTransportCtr1;
typedef struct {
- uint32 dummy;
+ uint32 vcs;
+ [string,charset(UTF16)] uint16 *name;
+ [size_is(addr_len)] uint8 *addr;
+ uint32 addr_len;
+ [string,charset(UTF16)] uint16 *net_addr;
+ [string,charset(UTF16)] uint16 *domain;
+ uint32 unknown;
} srvsvc_NetTransportInfo2;
typedef struct {
} srvsvc_NetTransportCtr2;
typedef struct {
- uint32 dummy;
+ uint32 vcs;
+ [string,charset(UTF16)] uint16 *name;
+ [size_is(addr_len)] uint8 *addr;
+ uint32 addr_len;
+ [string,charset(UTF16)] uint16 *net_addr;
+ [string,charset(UTF16)] uint16 *domain;
+ uint32 unknown1;
+ uint32 unknown2;
+ uint8 unknown3[256];
} srvsvc_NetTransportInfo3;
typedef struct {
[size_is(count)] srvsvc_NetTransportInfo3 *array;
} srvsvc_NetTransportCtr3;
- typedef union {
- [case(0)] srvsvc_NetTransportInfo0 *info0;
- [case(1)] srvsvc_NetTransportInfo1 *info1;
- [case(2)] srvsvc_NetTransportInfo2 *info2;
- [case(3)] srvsvc_NetTransportInfo3 *info3;
- [default];
- } srvsvc_NetTransportInfo;
-
typedef union {
[case(0)] srvsvc_NetTransportCtr0 *ctr0;
[case(1)] srvsvc_NetTransportCtr1 *ctr1;
[default];
} srvsvc_NetTransportCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetTransportCtr ctr;
+ } srvsvc_NetTransportInfoCtr;
+
/******************/
/* Function: 0x1a */
WERROR srvsvc_NetTransportEnum(
- [in] unistr *server_unc,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetTransportCtr ctr,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,out,ref] srvsvc_NetTransportInfoCtr *transports,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [out,ref] uint32 *totalentries,
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x1b */
- WERROR srvsvc_NETRSERVERTRANSPORTDEL(
+ WERROR srvsvc_NetTransportDel(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] uint32 level,
+ [in] srvsvc_NetTransportInfo0 *info0
);
+/**************************/
+/* srvsvc_NetRemoteTOD */
+/**************************/
+ typedef struct {
+ uint32 elapsed; /* time(NULL) */
+ uint32 msecs; /* milliseconds till system reboot (uptime) */
+ uint32 hours;
+ uint32 mins;
+ uint32 secs;
+ uint32 hunds;
+ int32 timezone; /* in minutes */
+ uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
+ uint32 day;
+ uint32 month;
+ uint32 year;
+ uint32 weekday;
+ } srvsvc_NetRemoteTODInfo;
+
/******************/
/* Function: 0x1c */
- WERROR srvsvc_NET_REMOTE_TOD(
+ WERROR srvsvc_NetRemoteTOD(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [out,ref] srvsvc_NetRemoteTODInfo **info
);
/**************************/
/**************************/
/******************/
/* Function: 0x1d */
- WERROR srvsvc_NETRSERVERSETSERVICEBITS(
+ WERROR srvsvc_NetSetServiceBits(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *transport,
+ [in] uint32 servicebits,
+ [in] uint32 updateimmediately
);
/**************************/
/**************************/
/******************/
/* Function: 0x1e */
- WERROR srvsvc_NETRPRPATHTYPE(
+ WERROR srvsvc_NetPathType(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 path[],
+ [in] uint32 pathflags,
+ [out,ref] uint32 *pathtype
);
/******************/
/* Function: 0x1f */
- WERROR srvsvc_NETRPRPATHCANONICALIZE(
+ WERROR srvsvc_NetPathCanonicalize(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 path[],
+ [out] [size_is(maxbuf)] uint8 can_path[],
+ [in] uint32 maxbuf,
+ [in] [string,charset(UTF16)] uint16 prefix[],
+ [in,out,ref] uint32 *pathtype,
+ [in] uint32 pathflags
);
/******************/
/* Function: 0x20 */
- WERROR srvsvc_NETRPRPATHCOMPARE(
+ WERROR srvsvc_NetPathCompare(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 path1[],
+ [in] [string,charset(UTF16)] uint16 path2[],
+ [in] uint32 pathtype,
+ [in] uint32 pathflags
);
/**************************/
/**************************/
/******************/
/* Function: 0x21 */
- WERROR srvsvc_NET_NAME_VALIDATE(
+ WERROR srvsvc_NetNameValidate(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 name[],
+ [in] uint32 name_type,
+ [in] uint32 flags
);
/******************/
/* Function: 0x22 */
- WERROR srvsvc_NETRPRNAMECANONICALIZE(
+ [todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
);
/******************/
/* Function: 0x23 */
- WERROR srvsvc_NETRPRNAMECOMPARE(
+ WERROR srvsvc_NetPRNameCompare(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 name1[],
+ [in] [string,charset(UTF16)] uint16 name2[],
+ [in] uint32 name_type,
+ [in] uint32 flags
);
/**************************/
/* Note, there must be some way to return entries read vs
total entries ... */
WERROR srvsvc_NetShareEnum(
- [in] unistr *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in,out] uint32 level,
[in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
[in] uint32 max_buffer,
[out] uint32 totalentries,
- [in,out] uint32 *resume_handle
+ [in,out,unique] uint32 *resume_handle
);
/******************/
/* Function: 0x25 */
- WERROR srvsvc_NETRSHAREDELSTART(
+ WERROR srvsvc_NetShareDelStart(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] [string,charset(UTF16)] uint16 share[],
+ [in] uint32 reserved,
+ [out,unique] policy_handle *hnd
);
/******************/
/* Function: 0x26 */
- WERROR srvsvc_NETRSHAREDELCOMMIT(
+ WERROR srvsvc_NetShareDelCommit(
+ [in, out,unique] policy_handle *hnd
);
/******************/
/* Function: 0x27 */
- WERROR srvsvc_NET_FILE_QUERY_SECDESC(
+ WERROR srvsvc_NetGetFileSecurity(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *share,
+ [in] [string,charset(UTF16)] uint16 file[],
+ [in] security_secinfo securityinformation,
+ [out,ref] sec_desc_buf **sd_buf
);
/******************/
/* Function: 0x28 */
- WERROR srvsvc_NET_FILE_SET_SECDESC(
+ WERROR srvsvc_NetSetFileSecurity(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *share,
+ [in] [string,charset(UTF16)] uint16 file[],
+ [in] security_secinfo securityinformation,
+ [in,ref] sec_desc_buf *sd_buf
);
+
+
+ typedef [switch_type(uint32)] union {
+ [case(0)] srvsvc_NetTransportInfo0 info0;
+ [case(1)] srvsvc_NetTransportInfo1 info1;
+ [case(2)] srvsvc_NetTransportInfo2 info2;
+ [case(3)] srvsvc_NetTransportInfo3 info3;
+ } srvsvc_NetTransportInfo;
+
/******************/
/* Function: 0x29 */
- WERROR srvsvc_NETRSERVERTRANSPORTADDEX(
+ WERROR srvsvc_NetServerTransportAddEx(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in] uint32 level,
+ [in,switch_is(level)] srvsvc_NetTransportInfo info
);
/******************/
/* Function: 0x2a */
- WERROR srvsvc_NETRSERVERSETSERVICEBITSEX(
+ WERROR srvsvc_NetServerSetServiceBitsEx(
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *transport,
+ [in] uint32 servicebitsofinterest,
+ [in] uint32 servicebits,
+ [in] uint32 updateimmediately
);
/******************/
/* Function: 0x2b */
- WERROR srvsvc_NETRDFSGETVERSION(
+ [todo] WERROR srvsvc_NETRDFSGETVERSION(
);
/******************/
/* Function: 0x2c */
- WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
+ [todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
);
/******************/
/* Function: 0x2d */
- WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
+ [todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
);
/******************/
/* Function: 0x2e */
- WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
+ [todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
);
/******************/
/* Function: 0x2f */
- WERROR srvsvc_NETRDFSSETSERVERINFO(
+ [todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
);
/******************/
/* Function: 0x30 */
- WERROR srvsvc_NETRDFSCREATEEXITPOINT(
+ [todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
);
/******************/
/* Function: 0x31 */
- WERROR srvsvc_NETRDFSDELETEEXITPOINT(
+ [todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
);
/******************/
/* Function: 0x32 */
- WERROR srvsvc_NETRDFSMODIFYPREFIX(
+ [todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
);
/******************/
/* Function: 0x33 */
- WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
+ [todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
);
/******************/
/* Function: 0x34 */
- WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
+ [todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
);
/******************/
/* Function: 0x35 */
- WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
+ [todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
);
}