uint32 current_users;
[string,charset(UTF16)] uint16 *path;
[string,charset(UTF16)] uint16 *password;
- /* maybe here is a struct sec_desc_buf following */
- uint32 unknown;
- [subcontext(4)] security_descriptor *sd;
+ sec_desc_buf sd_buf;
} srvsvc_NetShareInfo502;
typedef struct {
WERROR srvsvc_NetShareAdd(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetShareInfo info,
+ [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
[in,out,unique] uint32 *parm_error
);
[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
);
/******************/
[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,ref,switch_is(level)] srvsvc_NetShareInfo *info,
[in,out,unique] uint32 *parm_error
);
WERROR srvsvc_NetShareCheck(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] [string,charset(UTF16)] uint16 device_name[],
- [out] srvsvc_ShareType type
+ [out,ref] srvsvc_ShareType *type
);
/**************************/
WERROR srvsvc_NetSrvSetInfo(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetSrvInfo info,
+ [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
[in,out,unique] uint32 *parm_error
);
[in,unique] [string,charset(UTF16)] uint16 *service,
[in] uint32 level,
[in] uint32 options,
- [out] srvsvc_Statistics stat
+ [out,ref] srvsvc_Statistics **stats
);
/**************************/
[default];
} srvsvc_NetTransportCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetTransportCtr ctr;
+ } srvsvc_NetTransportInfoCtr;
+
/******************/
/* Function: 0x1a */
WERROR srvsvc_NetTransportEnum(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,out] uint32 level,
- [in,out,switch_is(level)] srvsvc_NetTransportCtr transports,
+ [in,out,ref] srvsvc_NetTransportInfoCtr *transports,
[in] uint32 max_buffer,
- [out] uint32 totalentries,
+ [out,ref] uint32 *totalentries,
[in,out,unique] uint32 *resume_handle
);
WERROR srvsvc_NetTransportDel(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] uint32 level,
- [in,switch_is(level)] srvsvc_NetTransportInfo info
+ [in] srvsvc_NetTransportInfo0 *info0
);
/**************************/
/* Function: 0x1c */
WERROR srvsvc_NetRemoteTOD(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [out,unique] srvsvc_NetRemoteTODInfo *info
+ [out,ref] srvsvc_NetRemoteTODInfo **info
);
/**************************/
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in] [string,charset(UTF16)] uint16 path[],
[in] uint32 pathflags,
- [out] uint32 pathtype
+ [out,ref] uint32 *pathtype
);
/******************/
[out] [size_is(maxbuf)] uint8 can_path[],
[in] uint32 maxbuf,
[in] [string,charset(UTF16)] uint16 prefix[],
- [in,out] uint32 pathtype,
+ [in,out,ref] uint32 *pathtype,
[in] uint32 pathflags
);
[in,unique] [string,charset(UTF16)] uint16 *share,
[in] [string,charset(UTF16)] uint16 file[],
[in] security_secinfo securityinformation,
- [out,unique] sec_desc_buf *sd_buf
+ [out,ref] sec_desc_buf **sd_buf
);
/******************/
[in,unique] [string,charset(UTF16)] uint16 *share,
[in] [string,charset(UTF16)] uint16 file[],
[in] security_secinfo securityinformation,
- [in] sec_desc_buf sd_buf
+ [in,ref] sec_desc_buf *sd_buf
);