2003-11-21 16:14:17 +03:00
#include "idl_types.h"
2003-11-17 15:43:18 +03:00
/*
wkssvc interface definitions
*/
[ uuid(6bffd098-a112-3610-9833-46c3f87e345a),
version(1.0),
pointer_default(unique)
] interface wkssvc
{
2003-11-18 14:52:06 +03:00
#define BOOL uint32
2003-11-17 15:43:18 +03:00
/******************/
/* Function: 0x00 */
2003-11-18 14:52:06 +03:00
2003-11-17 15:43:18 +03:00
typedef struct {
2003-11-18 04:18:24 +03:00
uint32 platform_id;
unistr *server;
unistr *domain;
uint32 ver_major;
uint32 ver_minor;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaInfo100;
2003-11-17 15:43:18 +03:00
2003-11-18 04:18:24 +03:00
typedef struct {
uint32 platform_id;
unistr *server;
unistr *domain;
uint32 ver_major;
uint32 ver_minor;
2003-11-18 06:28:01 +03:00
unistr *lan_root;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaInfo101;
2003-11-18 04:18:24 +03:00
typedef struct {
uint32 platform_id;
unistr *server;
unistr *domain;
uint32 ver_major;
uint32 ver_minor;
2003-11-18 06:28:01 +03:00
unistr *lan_root;
uint32 logged_on_users;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaInfo102;
2003-11-18 04:18:24 +03:00
2003-11-18 14:52:06 +03:00
typedef struct {
uint32 char_wait;
uint32 collection_time;
uint32 maximum_collection_count;
uint32 keep_connection;
uint32 max_commands;
uint32 session_timeout;
uint32 size_char_buf;
uint32 max_threads;
uint32 lock_quota;
uint32 lock_increment;
uint32 lock_maximum;
uint32 pipe_increment;
uint32 pipe_maximum;
uint32 cache_file_timeout;
uint32 dormant_file_limit;
uint32 read_ahead_throughput;
uint32 num_mailslot_buffers;
uint32 num_srv_announce_buffers;
uint32 max_illegal_dgram_events;
uint32 dgram_event_reset_freq;
BOOL log_election_packets;
BOOL use_opportunistic_locking;
BOOL use_unlock_behind;
BOOL use_close_behind;
BOOL buf_named_pipes;
BOOL use_lock_read_unlock;
BOOL utilize_nt_caching;
BOOL use_raw_read;
BOOL use_raw_write;
BOOL use_write_raw_data;
BOOL use_encryption;
BOOL buf_files_deny_write;
BOOL buf_read_only_files;
BOOL force_core_create_mode;
BOOL use_512_byte_max_transfer;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaInfo502;
2003-11-18 14:52:06 +03:00
2003-11-17 15:43:18 +03:00
typedef union {
2003-12-21 00:50:51 +03:00
[case(100)] wkssvc_NetWkstaInfo100 *info100;
[case(101)] wkssvc_NetWkstaInfo101 *info101;
[case(102)] wkssvc_NetWkstaInfo102 *info102;
[case(502)] wkssvc_NetWkstaInfo502 *info502;
2004-04-09 11:29:34 +04:00
[default] ;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaInfo;
2003-11-17 15:43:18 +03:00
2003-12-21 00:50:51 +03:00
WERROR wkssvc_NetWkstaGetInfo(
2003-11-17 15:43:18 +03:00
[in] unistr *server_name,
[in] uint32 level,
2003-12-21 00:50:51 +03:00
[out,switch_is(level)] wkssvc_NetWkstaInfo info
2003-11-17 15:43:18 +03:00
);
2003-11-18 06:28:01 +03:00
/******************/
/* Function: 0x01 */
2003-12-21 00:50:51 +03:00
WERROR wkssvc_NetWkstaSetInfo(
[in] unistr *server_name,
[in] uint32 level,
[in,switch_is(level)] wkssvc_NetWkstaInfo info,
[in,out] uint32 *parm_error
);
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x02 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWKSTAUSERENUM ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x03 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x04 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x05 */
typedef struct {
uint32 quality_of_service;
uint32 vc_count;
unistr *name;
unistr *address;
uint32 wan_link;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaTransportInfo0;
2003-11-18 06:28:01 +03:00
typedef struct {
uint32 count;
2003-12-21 00:50:51 +03:00
[size_is(count)] wkssvc_NetWkstaTransportInfo0 *array;
} wkssvc_NetWkstaTransportCtr0;
2003-11-18 06:28:01 +03:00
typedef union {
2003-12-21 00:50:51 +03:00
[case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
2003-11-20 03:57:59 +03:00
[default] ;
2003-12-21 00:50:51 +03:00
} wkssvc_NetWkstaTransportCtr;
2003-11-18 06:28:01 +03:00
2003-12-21 00:50:51 +03:00
WERROR wkssvc_NetWkstaTransportEnum (
2003-11-18 06:28:01 +03:00
[in] unistr *server_name,
2003-11-20 02:18:35 +03:00
[in,out] uint32 level,
2003-12-21 00:50:51 +03:00
[in,out,switch_is(level)] wkssvc_NetWkstaTransportCtr ctr,
2003-11-18 06:28:01 +03:00
[in] uint32 max_buffer,
2003-11-19 22:44:17 +03:00
[out] uint32 totalentries,
2003-11-18 06:28:01 +03:00
[in,out] uint32 *resume_handle
);
/*****************************/
/* Function 0x06 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x07 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x08 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUSEADD ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x09 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUSEGETINFO ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0a */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUSEDEL ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0b */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUSEENUM ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0c */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0d */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0e */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x0f */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x10 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRJOINDOMAIN ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x11 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUNJOINDOMAIN ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x12 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x13 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRVALIDATENAME ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x14 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRGETJOININFORMATION ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x15 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRGETJOINABLEOUS ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x16 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRJOINDOMAIN2 ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x17 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRUNJOINDOMAIN2 ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x18 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN2 ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x19 */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRVALIDATENAME2 ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x1a */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x1b */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRADDALTERNATECOMPUTERNAME ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x1c */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x1d */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
2003-11-18 06:28:01 +03:00
/*****************************/
/* Function 0x1e */
2003-11-18 11:03:06 +03:00
WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();
2003-11-17 15:43:18 +03:00
}