⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srvsvc.idl

📁 samba最新软件
💻 IDL
📖 第 1 页 / 共 3 页
字号:
#include "idl_types.h"/*  srvsvc interface definitions*/import "security.idl", "svcctl.idl";[ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),  version(3.0),  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 {		[string,charset(UTF16)] uint16 *device;	} srvsvc_NetCharDevInfo0;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetCharDevInfo0 *array;	} srvsvc_NetCharDevCtr0;	typedef struct {		[string,charset(UTF16)] uint16 *device;		uint32 status;		[string,charset(UTF16)] uint16 *user;		uint32 time;	} srvsvc_NetCharDevInfo1;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetCharDevInfo1 *array;	} srvsvc_NetCharDevCtr1;	typedef union {		[case(0)] srvsvc_NetCharDevInfo0 *info0;		[case(1)] srvsvc_NetCharDevInfo1 *info1;		[default] ;	} srvsvc_NetCharDevInfo;	typedef union {		[case(0)] srvsvc_NetCharDevCtr0 *ctr0;		[case(1)] srvsvc_NetCharDevCtr1 *ctr1;		[default] ;	} srvsvc_NetCharDevCtr;	/******************/	/* Function: 0x00 */	WERROR srvsvc_NetCharDevEnum(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,out]   uint32 level,		[in,out,switch_is(level)]   srvsvc_NetCharDevCtr ctr,		[in]   uint32 max_buffer,		[out]   uint32 totalentries,		[in,out,unique]   uint32 *resume_handle		);	/******************/	/* Function: 0x01 */	WERROR srvsvc_NetCharDevGetInfo(		[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		);	/******************/	/* Function: 0x02 */	WERROR srvsvc_NetCharDevControl(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in]   [string,charset(UTF16)] uint16 device_name[],		[in]   uint32 opcode		);/**************************//* srvsvc_NetCharDevQ     *//**************************/	typedef struct {		[string,charset(UTF16)] uint16 *device;	} srvsvc_NetCharDevQInfo0;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetCharDevQInfo0 *array;	} srvsvc_NetCharDevQCtr0;	typedef struct {		[string,charset(UTF16)] uint16 *device;		uint32 priority;		[string,charset(UTF16)] uint16 *devices;		uint32 users;		uint32 num_ahead;	} srvsvc_NetCharDevQInfo1;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetCharDevQInfo1 *array;	} srvsvc_NetCharDevQCtr1;	typedef union {		[case(0)] srvsvc_NetCharDevQInfo0 *info0;		[case(1)] srvsvc_NetCharDevQInfo1 *info1;		[default] ;	} srvsvc_NetCharDevQInfo;	typedef union {		[case(0)] srvsvc_NetCharDevQCtr0 *ctr0;		[case(1)] srvsvc_NetCharDevQCtr1 *ctr1;		[default] ;	} srvsvc_NetCharDevQCtr;	/******************/	/* Function: 0x03 */	WERROR srvsvc_NetCharDevQEnum(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,unique]   [string,charset(UTF16)] uint16 *user,		[in,out]   uint32 level,		[in,out,switch_is(level)]   srvsvc_NetCharDevQCtr ctr,		[in]   uint32 max_buffer,		[out]   uint32 totalentries,		[in,out,unique]   uint32 *resume_handle		);	/******************/	/* Function: 0x04 */	WERROR srvsvc_NetCharDevQGetInfo(		[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		);	/******************/	/* Function: 0x05 */	WERROR srvsvc_NetCharDevQSetInfo(		[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,unique]   uint32 *parm_error		);	/******************/	/* Function: 0x06 */	WERROR srvsvc_NetCharDevQPurge(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in]   [string,charset(UTF16)] uint16 queue_name[]		);	/******************/	/* Function: 0x07 */	WERROR srvsvc_NetCharDevQPurgeSelf(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in]   [string,charset(UTF16)] uint16 queue_name[],		[in]   [string,charset(UTF16)] uint16 computer_name[]		);/**************************//* srvsvc_NetConn         *//**************************/	typedef struct {		uint32 conn_id;	} srvsvc_NetConnInfo0;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetConnInfo0 *array;	} srvsvc_NetConnCtr0;	typedef struct {		uint32 conn_id;		uint32 conn_type;		uint32 num_open;		uint32 num_users;		uint32 conn_time;		[string,charset(UTF16)] uint16 *user;		[string,charset(UTF16)] uint16 *share;	} srvsvc_NetConnInfo1;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetConnInfo1 *array;	} srvsvc_NetConnCtr1;	typedef union {		[case(0)] srvsvc_NetConnCtr0 *ctr0;		[case(1)] srvsvc_NetConnCtr1 *ctr1;		[default] ;	} srvsvc_NetConnCtr;	/******************/	/* Function: 0x08 */	WERROR srvsvc_NetConnEnum(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,unique]   [string,charset(UTF16)] uint16 *path,		[in,out]   uint32 level,		[in,out,switch_is(level)]   srvsvc_NetConnCtr ctr,		[in]   uint32 max_buffer,		[out]   uint32 totalentries,		[in,out,unique]   uint32 *resume_handle		);/**************************//* srvsvc_NetFile         *//**************************/	typedef struct {		uint32 fid;	} srvsvc_NetFileInfo2;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetFileInfo2 *array;	} srvsvc_NetFileCtr2;	typedef struct {		uint32 fid;		uint32 permissions;		uint32 num_locks;		[string,charset(UTF16)] uint16 *path;		[string,charset(UTF16)] uint16 *user;	} srvsvc_NetFileInfo3;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetFileInfo3 *array;	} srvsvc_NetFileCtr3;	typedef union {		[case(2)] srvsvc_NetFileInfo2 *info2;		[case(3)] srvsvc_NetFileInfo3 *info3;		[default] ;	} srvsvc_NetFileInfo;	typedef union {		[case(2)] srvsvc_NetFileCtr2 *ctr2;		[case(3)] srvsvc_NetFileCtr3 *ctr3;		[default] ;	} srvsvc_NetFileCtr;	/******************/	/* Function: 0x09 */	WERROR srvsvc_NetFileEnum(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,unique]   [string,charset(UTF16)] uint16 *path,		[in,unique]   [string,charset(UTF16)] uint16 *user,		[in,out]   uint32 level,		[in,out,switch_is(level)]   srvsvc_NetFileCtr ctr,		[in]   uint32 max_buffer,		[out]   uint32 totalentries,		[in,out,unique]   uint32 *resume_handle		);	/******************/	/* Function: 0x0a */	WERROR srvsvc_NetFileGetInfo(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in]   uint32 fid,		[in]   uint32 level,		[out,switch_is(level)]   srvsvc_NetFileInfo info		);	/******************/	/* Function: 0x0b */	WERROR srvsvc_NetFileClose(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in]   uint32 fid			);/**************************//* srvsvc_NetSess         *//**************************/	typedef struct {		[string,charset(UTF16)] uint16 *client;	} srvsvc_NetSessInfo0;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetSessInfo0 *array;	} srvsvc_NetSessCtr0;	typedef struct {		[string,charset(UTF16)] uint16 *client;		[string,charset(UTF16)] uint16 *user;		uint32 num_open;		uint32 time;		uint32 idle_time;		uint32 user_flags;	} srvsvc_NetSessInfo1;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetSessInfo1 *array;	} srvsvc_NetSessCtr1;	typedef struct {		[string,charset(UTF16)] uint16 *client;		[string,charset(UTF16)] uint16 *user;		uint32 num_open;		uint32 time;		uint32 idle_time;		uint32 user_flags;		[string,charset(UTF16)] uint16 *client_type;	} srvsvc_NetSessInfo2;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetSessInfo2 *array;	} srvsvc_NetSessCtr2;	typedef struct {		[string,charset(UTF16)] uint16 *client;		[string,charset(UTF16)] uint16 *user;		uint32 time;		uint32 idle_time;	} srvsvc_NetSessInfo10;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetSessInfo10 *array;	} srvsvc_NetSessCtr10;	typedef struct {		[string,charset(UTF16)] uint16 *client;		[string,charset(UTF16)] uint16 *user;		uint32 num_open;		uint32 time;		uint32 idle_time;		uint32 user_flags;		[string,charset(UTF16)] uint16 *client_type;		[string,charset(UTF16)] uint16 *transport;	} srvsvc_NetSessInfo502;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetSessInfo502 *array;	} srvsvc_NetSessCtr502;	typedef union {		[case(0)] srvsvc_NetSessCtr0 *ctr0;		[case(1)] srvsvc_NetSessCtr1 *ctr1;		[case(2)] srvsvc_NetSessCtr2 *ctr2;		[case(10)] srvsvc_NetSessCtr10 *ctr10;		[case(502)] srvsvc_NetSessCtr502 *ctr502;		[default] ;	} srvsvc_NetSessCtr;	/******************/	/* Function: 0x0c */	WERROR srvsvc_NetSessEnum(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,unique]   [string,charset(UTF16)] uint16 *client,		[in,unique]   [string,charset(UTF16)] uint16 *user,		[in,out]   uint32 level,		[in,out,switch_is(level)]   srvsvc_NetSessCtr ctr,		[in]   uint32 max_buffer,		[out]   uint32 totalentries,		[in,out,unique]   uint32 *resume_handle		);	/******************/	/* Function: 0x0d */	WERROR srvsvc_NetSessDel(		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,		[in,unique]   [string,charset(UTF16)] uint16 *client,		[in,unique]   [string,charset(UTF16)] uint16 *user		);/**************************//* srvsvc_NetShare        *//**************************/	/* share types */	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 {		[string,charset(UTF16)] uint16 *name;	} srvsvc_NetShareInfo0;	typedef struct {		[string,charset(UTF16)] uint16 *name;		srvsvc_ShareType type;		[string,charset(UTF16)] uint16 *comment;	} srvsvc_NetShareInfo1;	typedef struct {		[string,charset(UTF16)] uint16 *name;		srvsvc_ShareType type;		[string,charset(UTF16)] uint16 *comment;		uint32 permissions;		uint32 max_users;		uint32 current_users;		[string,charset(UTF16)] uint16 *path;		[string,charset(UTF16)] uint16 *password;	} srvsvc_NetShareInfo2;	typedef struct {		[string,charset(UTF16)] uint16 *name;		srvsvc_ShareType type;		[string,charset(UTF16)] uint16 *comment;		uint32 csc_policy;	} srvsvc_NetShareInfo501;	typedef struct {		[string,charset(UTF16)] uint16 *name;		srvsvc_ShareType type;		[string,charset(UTF16)] uint16 *comment;		uint32 permissions;		int32 max_users;		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;	} srvsvc_NetShareInfo502;	typedef struct {		[string,charset(UTF16)] uint16 *comment;	} srvsvc_NetShareInfo1004;	typedef struct {		int32 max_users;	} srvsvc_NetShareInfo1006;	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 flags;		[string,charset(UTF16)] uint16 *alternate_directory_name;	} srvsvc_NetShareInfo1007;	typedef union {		[case(0)] srvsvc_NetShareInfo0 *info0;		[case(1)] srvsvc_NetShareInfo1 *info1;		[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;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo0 *array;	} srvsvc_NetShareCtr0;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo1 *array;	} srvsvc_NetShareCtr1;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo2 *array;	} srvsvc_NetShareCtr2;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo501 *array;	} srvsvc_NetShareCtr501;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo502 *array;	} srvsvc_NetShareCtr502;	typedef struct {		uint32 count;		[size_is(count)] srvsvc_NetShareInfo1004 *array;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -