1 #ifndef _LMWKSTA_H 2 #define _LMWKSTA_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 #include <lmuseflg.h> 8 #define WKSTA_PLATFORM_ID_PARMNUM 100 9 #define WKSTA_COMPUTERNAME_PARMNUM 1 10 #define WKSTA_LANGROUP_PARMNUM 2 11 #define WKSTA_VER_MAJOR_PARMNUM 4 12 #define WKSTA_VER_MINOR_PARMNUM 5 13 #define WKSTA_LOGGED_ON_USERS_PARMNUM 6 14 #define WKSTA_LANROOT_PARMNUM 7 15 #define WKSTA_LOGON_DOMAIN_PARMNUM 8 16 #define WKSTA_LOGON_SERVER_PARMNUM 9 17 #define WKSTA_CHARWAIT_PARMNUM 10 18 #define WKSTA_CHARTIME_PARMNUM 11 19 #define WKSTA_CHARCOUNT_PARMNUM 12 20 #define WKSTA_KEEPCONN_PARMNUM 13 21 #define WKSTA_KEEPSEARCH_PARMNUM 14 22 #define WKSTA_MAXCMDS_PARMNUM 15 23 #define WKSTA_NUMWORKBUF_PARMNUM 16 24 #define WKSTA_MAXWRKCACHE_PARMNUM 17 25 #define WKSTA_SESSTIMEOUT_PARMNUM 18 26 #define WKSTA_SIZERROR_PARMNUM 19 27 #define WKSTA_NUMALERTS_PARMNUM 20 28 #define WKSTA_NUMSERVICES_PARMNUM 21 29 #define WKSTA_NUMCHARBUF_PARMNUM 22 30 #define WKSTA_SIZCHARBUF_PARMNUM 23 31 #define WKSTA_ERRLOGSZ_PARMNUM 27 32 #define WKSTA_PRINTBUFTIME_PARMNUM 28 33 #define WKSTA_SIZWORKBUF_PARMNUM 29 34 #define WKSTA_MAILSLOTS_PARMNUM 30 35 #define WKSTA_NUMDGRAMBUF_PARMNUM 31 36 #define WKSTA_WRKHEURISTICS_PARMNUM 32 37 #define WKSTA_MAXTHREADS_PARMNUM 33 38 #define WKSTA_LOCKQUOTA_PARMNUM 41 39 #define WKSTA_LOCKINCREMENT_PARMNUM 42 40 #define WKSTA_LOCKMAXIMUM_PARMNUM 43 41 #define WKSTA_PIPEINCREMENT_PARMNUM 44 42 #define WKSTA_PIPEMAXIMUM_PARMNUM 45 43 #define WKSTA_DORMANTFILELIMIT_PARMNUM 46 44 #define WKSTA_CACHEFILETIMEOUT_PARMNUM 47 45 #define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48 46 #define WKSTA_USEUNLOCKBEHIND_PARMNUM 49 47 #define WKSTA_USECLOSEBEHIND_PARMNUM 50 48 #define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51 49 #define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52 50 #define WKSTA_UTILIZENTCACHING_PARMNUM 53 51 #define WKSTA_USERAWREAD_PARMNUM 54 52 #define WKSTA_USERAWWRITE_PARMNUM 55 53 #define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56 54 #define WKSTA_USEENCRYPTION_PARMNUM 57 55 #define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58 56 #define WKSTA_BUFFERREADONLYFILES_PARMNUM 59 57 #define WKSTA_FORCECORECREATEMODE_PARMNUM 60 58 #define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61 59 #define WKSTA_READAHEADTHRUPUT_PARMNUM 62 60 #define WKSTA_OTH_DOMAINS_PARMNUM 101 61 #define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201 62 #define TRANSPORT_NAME_PARMNUM 202 63 64 typedef struct _WKSTA_INFO_100 { 65 DWORD wki100_platform_id; 66 LPWSTR wki100_computername; 67 LPWSTR wki100_langroup; 68 DWORD wki100_ver_major; 69 DWORD wki100_ver_minor; 70 }WKSTA_INFO_100,*PWKSTA_INFO_100,*LPWKSTA_INFO_100; 71 typedef struct _WKSTA_INFO_101 { 72 DWORD wki101_platform_id; 73 LPWSTR wki101_computername; 74 LPWSTR wki101_langroup; 75 DWORD wki101_ver_major; 76 DWORD wki101_ver_minor; 77 LPWSTR wki101_lanroot; 78 }WKSTA_INFO_101,*PWKSTA_INFO_101,*LPWKSTA_INFO_101; 79 typedef struct _WKSTA_INFO_102 { 80 DWORD wki102_platform_id; 81 LPWSTR wki102_computername; 82 LPWSTR wki102_langroup; 83 DWORD wki102_ver_major; 84 DWORD wki102_ver_minor; 85 LPWSTR wki102_lanroot; 86 DWORD wki102_logged_on_users; 87 }WKSTA_INFO_102,*PWKSTA_INFO_102,*LPWKSTA_INFO_102; 88 typedef struct _WKSTA_INFO_302{ 89 DWORD wki302_char_wait; 90 DWORD wki302_collection_time; 91 DWORD wki302_maximum_collection_count; 92 DWORD wki302_keep_conn; 93 DWORD wki302_keep_search; 94 DWORD wki302_max_cmds; 95 DWORD wki302_num_work_buf; 96 DWORD wki302_siz_work_buf; 97 DWORD wki302_max_wrk_cache; 98 DWORD wki302_sess_timeout; 99 DWORD wki302_siz_error; 100 DWORD wki302_num_alerts; 101 DWORD wki302_num_services; 102 DWORD wki302_errlog_sz; 103 DWORD wki302_print_buf_time; 104 DWORD wki302_num_char_buf; 105 DWORD wki302_siz_char_buf; 106 LPWSTR wki302_wrk_heuristics; 107 DWORD wki302_mailslots; 108 DWORD wki302_num_dgram_buf; 109 }WKSTA_INFO_302,*PWKSTA_INFO_302,*LPWKSTA_INFO_302; 110 typedef struct _WKSTA_INFO_402{ 111 DWORD wki402_char_wait; 112 DWORD wki402_collection_time; 113 DWORD wki402_maximum_collection_count; 114 DWORD wki402_keep_conn; 115 DWORD wki402_keep_search; 116 DWORD wki402_max_cmds; 117 DWORD wki402_num_work_buf; 118 DWORD wki402_siz_work_buf; 119 DWORD wki402_max_wrk_cache; 120 DWORD wki402_sess_timeout; 121 DWORD wki402_siz_error; 122 DWORD wki402_num_alerts; 123 DWORD wki402_num_services; 124 DWORD wki402_errlog_sz; 125 DWORD wki402_print_buf_time; 126 DWORD wki402_num_char_buf; 127 DWORD wki402_siz_char_buf; 128 LPWSTR wki402_wrk_heuristics; 129 DWORD wki402_mailslots; 130 DWORD wki402_num_dgram_buf; 131 DWORD wki402_max_threads; 132 }WKSTA_INFO_402,*PWKSTA_INFO_402,*LPWKSTA_INFO_402; 133 typedef struct _WKSTA_INFO_502{ 134 DWORD wki502_char_wait; 135 DWORD wki502_collection_time; 136 DWORD wki502_maximum_collection_count; 137 DWORD wki502_keep_conn; 138 DWORD wki502_max_cmds; 139 DWORD wki502_sess_timeout; 140 DWORD wki502_siz_char_buf; 141 DWORD wki502_max_threads; 142 DWORD wki502_lock_quota; 143 DWORD wki502_lock_increment; 144 DWORD wki502_lock_maximum; 145 DWORD wki502_pipe_increment; 146 DWORD wki502_pipe_maximum; 147 DWORD wki502_cache_file_timeout; 148 DWORD wki502_dormant_file_limit; 149 DWORD wki502_read_ahead_throughput; 150 DWORD wki502_num_mailslot_buffers; 151 DWORD wki502_num_srv_announce_buffers; 152 DWORD wki502_max_illegal_datagram_events; 153 DWORD wki502_illegal_datagram_event_reset_frequency; 154 BOOL wki502_log_election_packets; 155 BOOL wki502_use_opportunistic_locking; 156 BOOL wki502_use_unlock_behind; 157 BOOL wki502_use_close_behind; 158 BOOL wki502_buf_named_pipes; 159 BOOL wki502_use_lock_read_unlock; 160 BOOL wki502_utilize_nt_caching; 161 BOOL wki502_use_raw_read; 162 BOOL wki502_use_raw_write; 163 BOOL wki502_use_write_raw_data; 164 BOOL wki502_use_encryption; 165 BOOL wki502_buf_files_deny_write; 166 BOOL wki502_buf_read_only_files; 167 BOOL wki502_force_core_create_mode; 168 BOOL wki502_use_512_byte_max_transfer; 169 }WKSTA_INFO_502,*PWKSTA_INFO_502,*LPWKSTA_INFO_502; 170 typedef struct _WKSTA_INFO_1010 { DWORD wki1010_char_wait;} WKSTA_INFO_1010,*PWKSTA_INFO_1010,*LPWKSTA_INFO_1010; 171 typedef struct _WKSTA_INFO_1011 { DWORD wki1011_collection_time;} WKSTA_INFO_1011,*PWKSTA_INFO_1011,*LPWKSTA_INFO_1011; 172 typedef struct _WKSTA_INFO_1012 { DWORD wki1012_maximum_collection_count;} WKSTA_INFO_1012,*PWKSTA_INFO_1012,*LPWKSTA_INFO_1012; 173 typedef struct _WKSTA_INFO_1027 { DWORD wki1027_errlog_sz;} WKSTA_INFO_1027,*PWKSTA_INFO_1027,*LPWKSTA_INFO_1027; 174 typedef struct _WKSTA_INFO_1028 { DWORD wki1028_print_buf_time;} WKSTA_INFO_1028,*PWKSTA_INFO_1028,*LPWKSTA_INFO_1028; 175 typedef struct _WKSTA_INFO_1032 { DWORD wki1032_wrk_heuristics;} WKSTA_INFO_1032,*PWKSTA_INFO_1032,*LPWKSTA_INFO_1032; 176 typedef struct _WKSTA_INFO_1013 { DWORD wki1013_keep_conn;} WKSTA_INFO_1013,*PWKSTA_INFO_1013,*LPWKSTA_INFO_1013; 177 typedef struct _WKSTA_INFO_1018 { DWORD wki1018_sess_timeout;} WKSTA_INFO_1018,*PWKSTA_INFO_1018,*LPWKSTA_INFO_1018; 178 typedef struct _WKSTA_INFO_1023 { DWORD wki1023_siz_char_buf;} WKSTA_INFO_1023,*PWKSTA_INFO_1023,*LPWKSTA_INFO_1023; 179 typedef struct _WKSTA_INFO_1033 { DWORD wki1033_max_threads;} WKSTA_INFO_1033,*PWKSTA_INFO_1033,*LPWKSTA_INFO_1033; 180 typedef struct _WKSTA_INFO_1041 { DWORD wki1041_lock_quota;} WKSTA_INFO_1041,*PWKSTA_INFO_1041,*LPWKSTA_INFO_1041; 181 typedef struct _WKSTA_INFO_1042 { DWORD wki1042_lock_increment;} WKSTA_INFO_1042,*PWKSTA_INFO_1042,*LPWKSTA_INFO_1042; 182 typedef struct _WKSTA_INFO_1043 { DWORD wki1043_lock_maximum;} WKSTA_INFO_1043,*PWKSTA_INFO_1043,*LPWKSTA_INFO_1043; 183 typedef struct _WKSTA_INFO_1044 { DWORD wki1044_pipe_increment;} WKSTA_INFO_1044,*PWKSTA_INFO_1044,*LPWKSTA_INFO_1044; 184 typedef struct _WKSTA_INFO_1045 { DWORD wki1045_pipe_maximum;} WKSTA_INFO_1045,*PWKSTA_INFO_1045,*LPWKSTA_INFO_1045; 185 typedef struct _WKSTA_INFO_1046 { DWORD wki1046_dormant_file_limit;} WKSTA_INFO_1046,*PWKSTA_INFO_1046,*LPWKSTA_INFO_1046; 186 typedef struct _WKSTA_INFO_1047 { DWORD wki1047_cache_file_timeout;} WKSTA_INFO_1047,*PWKSTA_INFO_1047,*LPWKSTA_INFO_1047; 187 typedef struct _WKSTA_INFO_1048 { BOOL wki1048_use_opportunistic_locking;} WKSTA_INFO_1048,*PWKSTA_INFO_1048,*LPWKSTA_INFO_1048; 188 typedef struct _WKSTA_INFO_1049 { BOOL wki1049_use_unlock_behind;} WKSTA_INFO_1049,*PWKSTA_INFO_1049,*LPWKSTA_INFO_1049; 189 typedef struct _WKSTA_INFO_1050 { BOOL wki1050_use_close_behind;} WKSTA_INFO_1050,*PWKSTA_INFO_1050,*LPWKSTA_INFO_1050; 190 typedef struct _WKSTA_INFO_1051 { BOOL wki1051_buf_named_pipes;} WKSTA_INFO_1051,*PWKSTA_INFO_1051,*LPWKSTA_INFO_1051; 191 typedef struct _WKSTA_INFO_1052 { BOOL wki1052_use_lock_read_unlock;} WKSTA_INFO_1052,*PWKSTA_INFO_1052,*LPWKSTA_INFO_1052; 192 typedef struct _WKSTA_INFO_1053 { BOOL wki1053_utilize_nt_caching;} WKSTA_INFO_1053,*PWKSTA_INFO_1053,*LPWKSTA_INFO_1053; 193 typedef struct _WKSTA_INFO_1054 { BOOL wki1054_use_raw_read;} WKSTA_INFO_1054,*PWKSTA_INFO_1054,*LPWKSTA_INFO_1054; 194 typedef struct _WKSTA_INFO_1055 { BOOL wki1055_use_raw_write;} WKSTA_INFO_1055,*PWKSTA_INFO_1055,*LPWKSTA_INFO_1055; 195 typedef struct _WKSTA_INFO_1056 { BOOL wki1056_use_write_raw_data;} WKSTA_INFO_1056,*PWKSTA_INFO_1056,*LPWKSTA_INFO_1056; 196 typedef struct _WKSTA_INFO_1057 { BOOL wki1057_use_encryption;} WKSTA_INFO_1057,*PWKSTA_INFO_1057,*LPWKSTA_INFO_1057; 197 typedef struct _WKSTA_INFO_1058 { BOOL wki1058_buf_files_deny_write;} WKSTA_INFO_1058,*PWKSTA_INFO_1058,*LPWKSTA_INFO_1058; 198 typedef struct _WKSTA_INFO_1059 { BOOL wki1059_buf_read_only_files;} WKSTA_INFO_1059,*PWKSTA_INFO_1059,*LPWKSTA_INFO_1059; 199 typedef struct _WKSTA_INFO_1060 { BOOL wki1060_force_core_create_mode;} WKSTA_INFO_1060,*PWKSTA_INFO_1060,*LPWKSTA_INFO_1060; 200 typedef struct _WKSTA_INFO_1061 { BOOL wki1061_use_512_byte_max_transfer;} WKSTA_INFO_1061,*PWKSTA_INFO_1061,*LPWKSTA_INFO_1061; 201 typedef struct _WKSTA_INFO_1062 { DWORD wki1062_read_ahead_throughput;} WKSTA_INFO_1062,*PWKSTA_INFO_1062,*LPWKSTA_INFO_1062; 202 typedef struct _WKSTA_USER_INFO_0 { LPWSTR wkui0_username;}WKSTA_USER_INFO_0,*PWKSTA_USER_INFO_0,*LPWKSTA_USER_INFO_0; 203 typedef struct _WKSTA_USER_INFO_1 { 204 LPWSTR wkui1_username; 205 LPWSTR wkui1_logon_domain; 206 LPWSTR wkui1_oth_domains; 207 LPWSTR wkui1_logon_server; 208 }WKSTA_USER_INFO_1,*PWKSTA_USER_INFO_1,*LPWKSTA_USER_INFO_1; 209 typedef struct _WKSTA_USER_INFO_1101 { LPWSTR wkui1101_oth_domains;} WKSTA_USER_INFO_1101,*PWKSTA_USER_INFO_1101,*LPWKSTA_USER_INFO_1101; 210 typedef struct _WKSTA_TRANSPORT_INFO_0 { 211 DWORD wkti0_quality_of_service; 212 DWORD wkti0_number_of_vcs; 213 LPWSTR wkti0_transport_name; 214 LPWSTR wkti0_transport_address; 215 BOOL wkti0_wan_ish; 216 }WKSTA_TRANSPORT_INFO_0,*PWKSTA_TRANSPORT_INFO_0,*LPWKSTA_TRANSPORT_INFO_0; 217 218 NET_API_STATUS WINAPI NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*); 219 NET_API_STATUS WINAPI NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); 220 NET_API_STATUS WINAPI NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*); 221 NET_API_STATUS WINAPI NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); 222 NET_API_STATUS WINAPI NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 223 NET_API_STATUS WINAPI NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD); 224 NET_API_STATUS WINAPI NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD); 225 NET_API_STATUS WINAPI NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 226 227 #ifdef __cplusplus 228 } 229 #endif 230 #endif 231