diff options
Diffstat (limited to 'public/sdk/inc/lmwksta.h')
-rw-r--r-- | public/sdk/inc/lmwksta.h | 539 |
1 files changed, 539 insertions, 0 deletions
diff --git a/public/sdk/inc/lmwksta.h b/public/sdk/inc/lmwksta.h new file mode 100644 index 000000000..1bc866a24 --- /dev/null +++ b/public/sdk/inc/lmwksta.h @@ -0,0 +1,539 @@ +/*++ BUILD Version: 0006 // Increment this if a change has global effects + +Copyright (c) 1991-1996 Microsoft Corporation + +Module Name: + + lmwksta.h + +Abstract: + + This file contains structures, function prototypes, and definitions + for the NetWorkstation and NetWkstaTransport API. + +Environment: + + User Mode - Win32 + Portable to any flat, 32-bit environment. (Uses Win32 typedefs.) + Requires ANSI C extensions: slash-slash comments, long external names. + +Notes: + + You must include NETCONS.H before this file, since this file depends + on values defined in NETCONS.H. + +--*/ + +#ifndef _LMWKSTA_ +#define _LMWKSTA_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <lmuseflg.h> // Deletion force level flags + +// +// Function Prototypes +// + +NET_API_STATUS NET_API_FUNCTION +NetWkstaGetInfo ( + IN LPTSTR servername OPTIONAL, + IN DWORD level, + OUT LPBYTE *bufptr + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaSetInfo ( + IN LPTSTR servername OPTIONAL, + IN DWORD level, + IN LPBYTE buffer, + OUT LPDWORD parm_err OPTIONAL + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaUserGetInfo ( + IN LPTSTR reserved, + IN DWORD level, + OUT LPBYTE *bufptr + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaUserSetInfo ( + IN LPTSTR reserved, + IN DWORD level, + OUT LPBYTE buf, + OUT LPDWORD parm_err OPTIONAL + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaUserEnum ( + IN LPTSTR servername OPTIONAL, + IN DWORD level, + OUT LPBYTE *bufptr, + IN DWORD prefmaxlen, + OUT LPDWORD entriesread, + OUT LPDWORD totalentries, + IN OUT LPDWORD resumehandle OPTIONAL + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaTransportAdd ( + IN LPTSTR servername OPTIONAL, + IN DWORD level, + IN LPBYTE buf, + OUT LPDWORD parm_err + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaTransportDel ( + IN LPTSTR servername OPTIONAL, + IN LPTSTR transportname, + IN DWORD ucond + ); + +NET_API_STATUS NET_API_FUNCTION +NetWkstaTransportEnum ( + IN LPTSTR servername OPTIONAL, + IN DWORD level, + OUT LPBYTE *bufptr, + IN DWORD prefmaxlen, + OUT LPDWORD entriesread, + OUT LPDWORD totalentries, + IN OUT LPDWORD resumehandle OPTIONAL + ); + +// +// Data Structures +// + +// +// NetWkstaGetInfo and NetWkstaSetInfo +// + +// +// NetWkstaGetInfo only. System information - guest access +// +typedef struct _WKSTA_INFO_100 { + DWORD wki100_platform_id; + LPTSTR wki100_computername; + LPTSTR wki100_langroup; + DWORD wki100_ver_major; + DWORD wki100_ver_minor; +}WKSTA_INFO_100, *PWKSTA_INFO_100, *LPWKSTA_INFO_100; + +// +// NetWkstaGetInfo only. System information - user access +// +typedef struct _WKSTA_INFO_101 { + DWORD wki101_platform_id; + LPTSTR wki101_computername; + LPTSTR wki101_langroup; + DWORD wki101_ver_major; + DWORD wki101_ver_minor; + LPTSTR wki101_lanroot; +}WKSTA_INFO_101, *PWKSTA_INFO_101, *LPWKSTA_INFO_101; + +// +// NetWkstaGetInfo only. System information - admin or operator access +// +typedef struct _WKSTA_INFO_102 { + DWORD wki102_platform_id; + LPTSTR wki102_computername; + LPTSTR wki102_langroup; + DWORD wki102_ver_major; + DWORD wki102_ver_minor; + LPTSTR wki102_lanroot; + DWORD wki102_logged_on_users; +}WKSTA_INFO_102, *PWKSTA_INFO_102, *LPWKSTA_INFO_102; + +// +// Down-level NetWkstaGetInfo and NetWkstaSetInfo. +// +// DOS specific workstation information - +// admin or domain operator access +// +typedef struct _WKSTA_INFO_302{ + DWORD wki302_char_wait; + DWORD wki302_collection_time; + DWORD wki302_maximum_collection_count; + DWORD wki302_keep_conn; + DWORD wki302_keep_search; + DWORD wki302_max_cmds; + DWORD wki302_num_work_buf; + DWORD wki302_siz_work_buf; + DWORD wki302_max_wrk_cache; + DWORD wki302_sess_timeout; + DWORD wki302_siz_error; + DWORD wki302_num_alerts; + DWORD wki302_num_services; + DWORD wki302_errlog_sz; + DWORD wki302_print_buf_time; + DWORD wki302_num_char_buf; + DWORD wki302_siz_char_buf; + LPTSTR wki302_wrk_heuristics; + DWORD wki302_mailslots; + DWORD wki302_num_dgram_buf; +}WKSTA_INFO_302, *PWKSTA_INFO_302, *LPWKSTA_INFO_302; + +// +// Down-level NetWkstaGetInfo and NetWkstaSetInfo +// +// OS/2 specific workstation information - +// admin or domain operator access +// +typedef struct _WKSTA_INFO_402{ + DWORD wki402_char_wait; + DWORD wki402_collection_time; + DWORD wki402_maximum_collection_count; + DWORD wki402_keep_conn; + DWORD wki402_keep_search; + DWORD wki402_max_cmds; + DWORD wki402_num_work_buf; + DWORD wki402_siz_work_buf; + DWORD wki402_max_wrk_cache; + DWORD wki402_sess_timeout; + DWORD wki402_siz_error; + DWORD wki402_num_alerts; + DWORD wki402_num_services; + DWORD wki402_errlog_sz; + DWORD wki402_print_buf_time; + DWORD wki402_num_char_buf; + DWORD wki402_siz_char_buf; + LPTSTR wki402_wrk_heuristics; + DWORD wki402_mailslots; + DWORD wki402_num_dgram_buf; + DWORD wki402_max_threads; +}WKSTA_INFO_402, *PWKSTA_INFO_402, *LPWKSTA_INFO_402; + +// +// Same-level NetWkstaGetInfo and NetWkstaSetInfo. +// +// NT specific workstation information - +// admin or domain operator access +// +typedef struct _WKSTA_INFO_502{ + DWORD wki502_char_wait; + DWORD wki502_collection_time; + DWORD wki502_maximum_collection_count; + DWORD wki502_keep_conn; + DWORD wki502_max_cmds; + DWORD wki502_sess_timeout; + DWORD wki502_siz_char_buf; + DWORD wki502_max_threads; + + DWORD wki502_lock_quota; + DWORD wki502_lock_increment; + DWORD wki502_lock_maximum; + DWORD wki502_pipe_increment; + DWORD wki502_pipe_maximum; + DWORD wki502_cache_file_timeout; + DWORD wki502_dormant_file_limit; + DWORD wki502_read_ahead_throughput; + + DWORD wki502_num_mailslot_buffers; + DWORD wki502_num_srv_announce_buffers; + DWORD wki502_max_illegal_datagram_events; + DWORD wki502_illegal_datagram_event_reset_frequency; + BOOL wki502_log_election_packets; + + BOOL wki502_use_opportunistic_locking; + BOOL wki502_use_unlock_behind; + BOOL wki502_use_close_behind; + BOOL wki502_buf_named_pipes; + BOOL wki502_use_lock_read_unlock; + BOOL wki502_utilize_nt_caching; + BOOL wki502_use_raw_read; + BOOL wki502_use_raw_write; + BOOL wki502_use_write_raw_data; + BOOL wki502_use_encryption; + BOOL wki502_buf_files_deny_write; + BOOL wki502_buf_read_only_files; + BOOL wki502_force_core_create_mode; + BOOL wki502_use_512_byte_max_transfer; +}WKSTA_INFO_502, *PWKSTA_INFO_502, *LPWKSTA_INFO_502; + + +// +// The following info-levels are only valid for NetWkstaSetInfo +// + +// +// The following levels are supported on down-level systems (LAN Man 2.x) +// as well as NT systems: +// +typedef struct _WKSTA_INFO_1010 { + DWORD wki1010_char_wait; +} WKSTA_INFO_1010, *PWKSTA_INFO_1010, *LPWKSTA_INFO_1010; + +typedef struct _WKSTA_INFO_1011 { + DWORD wki1011_collection_time; +} WKSTA_INFO_1011, *PWKSTA_INFO_1011, *LPWKSTA_INFO_1011; + +typedef struct _WKSTA_INFO_1012 { + DWORD wki1012_maximum_collection_count; +} WKSTA_INFO_1012, *PWKSTA_INFO_1012, *LPWKSTA_INFO_1012; + +// +// The following level are supported on down-level systems (LAN Man 2.x) +// only: +// +typedef struct _WKSTA_INFO_1027 { + DWORD wki1027_errlog_sz; +} WKSTA_INFO_1027, *PWKSTA_INFO_1027, *LPWKSTA_INFO_1027; + +typedef struct _WKSTA_INFO_1028 { + DWORD wki1028_print_buf_time; +} WKSTA_INFO_1028, *PWKSTA_INFO_1028, *LPWKSTA_INFO_1028; + +typedef struct _WKSTA_INFO_1032 { + DWORD wki1032_wrk_heuristics; +} WKSTA_INFO_1032, *PWKSTA_INFO_1032, *LPWKSTA_INFO_1032; + +// +// The following levels are settable on NT systems, and have no +// effect on down-level systems (i.e. LANMan 2.x) since these +// fields cannot be set on them: +// +typedef struct _WKSTA_INFO_1013 { + DWORD wki1013_keep_conn; +} WKSTA_INFO_1013, *PWKSTA_INFO_1013, *LPWKSTA_INFO_1013; + +typedef struct _WKSTA_INFO_1018 { + DWORD wki1018_sess_timeout; +} WKSTA_INFO_1018, *PWKSTA_INFO_1018, *LPWKSTA_INFO_1018; + +typedef struct _WKSTA_INFO_1023 { + DWORD wki1023_siz_char_buf; +} WKSTA_INFO_1023, *PWKSTA_INFO_1023, *LPWKSTA_INFO_1023; + +typedef struct _WKSTA_INFO_1033 { + DWORD wki1033_max_threads; +} WKSTA_INFO_1033, *PWKSTA_INFO_1033, *LPWKSTA_INFO_1033; + +// +// The following levels are only supported on NT systems: +// +typedef struct _WKSTA_INFO_1041 { + DWORD wki1041_lock_quota; +} WKSTA_INFO_1041, *PWKSTA_INFO_1041, *LPWKSTA_INFO_1041; + +typedef struct _WKSTA_INFO_1042 { + DWORD wki1042_lock_increment; +} WKSTA_INFO_1042, *PWKSTA_INFO_1042, *LPWKSTA_INFO_1042; + +typedef struct _WKSTA_INFO_1043 { + DWORD wki1043_lock_maximum; +} WKSTA_INFO_1043, *PWKSTA_INFO_1043, *LPWKSTA_INFO_1043; + +typedef struct _WKSTA_INFO_1044 { + DWORD wki1044_pipe_increment; +} WKSTA_INFO_1044, *PWKSTA_INFO_1044, *LPWKSTA_INFO_1044; + +typedef struct _WKSTA_INFO_1045 { + DWORD wki1045_pipe_maximum; +} WKSTA_INFO_1045, *PWKSTA_INFO_1045, *LPWKSTA_INFO_1045; + +typedef struct _WKSTA_INFO_1046 { + DWORD wki1046_dormant_file_limit; +} WKSTA_INFO_1046, *PWKSTA_INFO_1046, *LPWKSTA_INFO_1046; + +typedef struct _WKSTA_INFO_1047 { + DWORD wki1047_cache_file_timeout; +} WKSTA_INFO_1047, *PWKSTA_INFO_1047, *LPWKSTA_INFO_1047; + +typedef struct _WKSTA_INFO_1048 { + BOOL wki1048_use_opportunistic_locking; +} WKSTA_INFO_1048, *PWKSTA_INFO_1048, *LPWKSTA_INFO_1048; + +typedef struct _WKSTA_INFO_1049 { + BOOL wki1049_use_unlock_behind; +} WKSTA_INFO_1049, *PWKSTA_INFO_1049, *LPWKSTA_INFO_1049; + +typedef struct _WKSTA_INFO_1050 { + BOOL wki1050_use_close_behind; +} WKSTA_INFO_1050, *PWKSTA_INFO_1050, *LPWKSTA_INFO_1050; + +typedef struct _WKSTA_INFO_1051 { + BOOL wki1051_buf_named_pipes; +} WKSTA_INFO_1051, *PWKSTA_INFO_1051, *LPWKSTA_INFO_1051; + +typedef struct _WKSTA_INFO_1052 { + BOOL wki1052_use_lock_read_unlock; +} WKSTA_INFO_1052, *PWKSTA_INFO_1052, *LPWKSTA_INFO_1052; + +typedef struct _WKSTA_INFO_1053 { + BOOL wki1053_utilize_nt_caching; +} WKSTA_INFO_1053, *PWKSTA_INFO_1053, *LPWKSTA_INFO_1053; + +typedef struct _WKSTA_INFO_1054 { + BOOL wki1054_use_raw_read; +} WKSTA_INFO_1054, *PWKSTA_INFO_1054, *LPWKSTA_INFO_1054; + +typedef struct _WKSTA_INFO_1055 { + BOOL wki1055_use_raw_write; +} WKSTA_INFO_1055, *PWKSTA_INFO_1055, *LPWKSTA_INFO_1055; + +typedef struct _WKSTA_INFO_1056 { + BOOL wki1056_use_write_raw_data; +} WKSTA_INFO_1056, *PWKSTA_INFO_1056, *LPWKSTA_INFO_1056; + +typedef struct _WKSTA_INFO_1057 { + BOOL wki1057_use_encryption; +} WKSTA_INFO_1057, *PWKSTA_INFO_1057, *LPWKSTA_INFO_1057; + +typedef struct _WKSTA_INFO_1058 { + BOOL wki1058_buf_files_deny_write; +} WKSTA_INFO_1058, *PWKSTA_INFO_1058, *LPWKSTA_INFO_1058; + +typedef struct _WKSTA_INFO_1059 { + BOOL wki1059_buf_read_only_files; +} WKSTA_INFO_1059, *PWKSTA_INFO_1059, *LPWKSTA_INFO_1059; + +typedef struct _WKSTA_INFO_1060 { + BOOL wki1060_force_core_create_mode; +} WKSTA_INFO_1060, *PWKSTA_INFO_1060, *LPWKSTA_INFO_1060; + +typedef struct _WKSTA_INFO_1061 { + BOOL wki1061_use_512_byte_max_transfer; +} WKSTA_INFO_1061, *PWKSTA_INFO_1061, *LPWKSTA_INFO_1061; + +typedef struct _WKSTA_INFO_1062 { + DWORD wki1062_read_ahead_throughput; +} WKSTA_INFO_1062, *PWKSTA_INFO_1062, *LPWKSTA_INFO_1062; + + +// +// NetWkstaUserGetInfo (local only) and NetWkstaUserEnum - +// no access restrictions. +// +typedef struct _WKSTA_USER_INFO_0 { + LPTSTR wkui0_username; +}WKSTA_USER_INFO_0, *PWKSTA_USER_INFO_0, *LPWKSTA_USER_INFO_0; + +// +// NetWkstaUserGetInfo (local only) and NetWkstaUserEnum - +// no access restrictions. +// +typedef struct _WKSTA_USER_INFO_1 { + LPTSTR wkui1_username; + LPTSTR wkui1_logon_domain; + LPTSTR wkui1_oth_domains; + LPTSTR wkui1_logon_server; +}WKSTA_USER_INFO_1, *PWKSTA_USER_INFO_1, *LPWKSTA_USER_INFO_1; + +// +// NetWkstaUserSetInfo - local access. +// +typedef struct _WKSTA_USER_INFO_1101 { + LPTSTR wkui1101_oth_domains; +} WKSTA_USER_INFO_1101, *PWKSTA_USER_INFO_1101, + *LPWKSTA_USER_INFO_1101; + + +// +// NetWkstaTransportAdd - admin access +// +typedef struct _WKSTA_TRANSPORT_INFO_0 { + DWORD wkti0_quality_of_service; + DWORD wkti0_number_of_vcs; + LPTSTR wkti0_transport_name; + LPTSTR wkti0_transport_address; + BOOL wkti0_wan_ish; +}WKSTA_TRANSPORT_INFO_0, *PWKSTA_TRANSPORT_INFO_0, + *LPWKSTA_TRANSPORT_INFO_0; + + +// +// Special Values and Constants +// + +// +// Identifiers for use as NetWkstaSetInfo parmnum parameter +// + +// +// One of these values indicates the parameter within an information +// structure that is invalid when ERROR_INVALID_PARAMETER is returned by +// NetWkstaSetInfo. +// + +#define WKSTA_PLATFORM_ID_PARMNUM 100 +#define WKSTA_COMPUTERNAME_PARMNUM 1 +#define WKSTA_LANGROUP_PARMNUM 2 +#define WKSTA_VER_MAJOR_PARMNUM 4 +#define WKSTA_VER_MINOR_PARMNUM 5 +#define WKSTA_LOGGED_ON_USERS_PARMNUM 6 +#define WKSTA_LANROOT_PARMNUM 7 +#define WKSTA_LOGON_DOMAIN_PARMNUM 8 +#define WKSTA_LOGON_SERVER_PARMNUM 9 +#define WKSTA_CHARWAIT_PARMNUM 10 // Supported by down-level. +#define WKSTA_CHARTIME_PARMNUM 11 // Supported by down-level. +#define WKSTA_CHARCOUNT_PARMNUM 12 // Supported by down-level. +#define WKSTA_KEEPCONN_PARMNUM 13 +#define WKSTA_KEEPSEARCH_PARMNUM 14 +#define WKSTA_MAXCMDS_PARMNUM 15 +#define WKSTA_NUMWORKBUF_PARMNUM 16 +#define WKSTA_MAXWRKCACHE_PARMNUM 17 +#define WKSTA_SESSTIMEOUT_PARMNUM 18 +#define WKSTA_SIZERROR_PARMNUM 19 +#define WKSTA_NUMALERTS_PARMNUM 20 +#define WKSTA_NUMSERVICES_PARMNUM 21 +#define WKSTA_NUMCHARBUF_PARMNUM 22 +#define WKSTA_SIZCHARBUF_PARMNUM 23 +#define WKSTA_ERRLOGSZ_PARMNUM 27 // Supported by down-level. +#define WKSTA_PRINTBUFTIME_PARMNUM 28 // Supported by down-level. +#define WKSTA_SIZWORKBUF_PARMNUM 29 +#define WKSTA_MAILSLOTS_PARMNUM 30 +#define WKSTA_NUMDGRAMBUF_PARMNUM 31 +#define WKSTA_WRKHEURISTICS_PARMNUM 32 // Supported by down-level. +#define WKSTA_MAXTHREADS_PARMNUM 33 + +#define WKSTA_LOCKQUOTA_PARMNUM 41 +#define WKSTA_LOCKINCREMENT_PARMNUM 42 +#define WKSTA_LOCKMAXIMUM_PARMNUM 43 +#define WKSTA_PIPEINCREMENT_PARMNUM 44 +#define WKSTA_PIPEMAXIMUM_PARMNUM 45 +#define WKSTA_DORMANTFILELIMIT_PARMNUM 46 +#define WKSTA_CACHEFILETIMEOUT_PARMNUM 47 +#define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48 +#define WKSTA_USEUNLOCKBEHIND_PARMNUM 49 +#define WKSTA_USECLOSEBEHIND_PARMNUM 50 +#define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51 +#define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52 +#define WKSTA_UTILIZENTCACHING_PARMNUM 53 +#define WKSTA_USERAWREAD_PARMNUM 54 +#define WKSTA_USERAWWRITE_PARMNUM 55 +#define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56 +#define WKSTA_USEENCRYPTION_PARMNUM 57 +#define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58 +#define WKSTA_BUFFERREADONLYFILES_PARMNUM 59 +#define WKSTA_FORCECORECREATEMODE_PARMNUM 60 +#define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61 +#define WKSTA_READAHEADTHRUPUT_PARMNUM 62 + + +// +// One of these values indicates the parameter within an information +// structure that is invalid when ERROR_INVALID_PARAMETER is returned by +// NetWkstaUserSetInfo. +// + +#define WKSTA_OTH_DOMAINS_PARMNUM 101 + + +// +// One of these values indicates the parameter within an information +// structure that is invalid when ERROR_INVALID_PARAMETER is returned by +// NetWkstaTransportAdd. +// + +#define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201 +#define TRANSPORT_NAME_PARMNUM 202 + +#ifdef __cplusplus +} +#endif + +#endif // _LMWKSTA_ |