1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms 6 use shared::lmcons::{LMSTR, NET_API_STATUS}; 7 use shared::minwindef::{BOOL, DWORD, LPBYTE, LPDWORD}; 8 use um::winnt::LPCWSTR; 9 extern "system" { NetWkstaGetInfo( servername: LMSTR, level: DWORD, bufptr: *mut LPBYTE, ) -> NET_API_STATUS10 pub fn NetWkstaGetInfo( 11 servername: LMSTR, 12 level: DWORD, 13 bufptr: *mut LPBYTE, 14 ) -> NET_API_STATUS; NetWkstaSetInfo( servername: LMSTR, level: DWORD, buffer: LPBYTE, parm_err: LPDWORD, ) -> NET_API_STATUS15 pub fn NetWkstaSetInfo( 16 servername: LMSTR, 17 level: DWORD, 18 buffer: LPBYTE, 19 parm_err: LPDWORD, 20 ) -> NET_API_STATUS; NetWkstaUserGetInfo( reserved: LMSTR, level: DWORD, bufptr: *mut LPBYTE, ) -> NET_API_STATUS21 pub fn NetWkstaUserGetInfo( 22 reserved: LMSTR, 23 level: DWORD, 24 bufptr: *mut LPBYTE, 25 ) -> NET_API_STATUS; NetWkstaUserSetInfo( reserved: LMSTR, level: DWORD, buf: LPBYTE, parm_err: LPDWORD, ) -> NET_API_STATUS26 pub fn NetWkstaUserSetInfo( 27 reserved: LMSTR, 28 level: DWORD, 29 buf: LPBYTE, 30 parm_err: LPDWORD, 31 ) -> NET_API_STATUS; NetWkstaUserEnum( servername: LMSTR, level: DWORD, bufptr: *mut LPBYTE, prefmaxlen: DWORD, entriesread: LPDWORD, totalentries: LPDWORD, resumehandle: LPDWORD, ) -> NET_API_STATUS32 pub fn NetWkstaUserEnum( 33 servername: LMSTR, 34 level: DWORD, 35 bufptr: *mut LPBYTE, 36 prefmaxlen: DWORD, 37 entriesread: LPDWORD, 38 totalentries: LPDWORD, 39 resumehandle: LPDWORD, 40 ) -> NET_API_STATUS; NetWkstaTransportAdd( servername: LPCWSTR, level: DWORD, buf: LPBYTE, parm_err: LPDWORD, ) -> NET_API_STATUS41 pub fn NetWkstaTransportAdd( 42 servername: LPCWSTR, 43 level: DWORD, 44 buf: LPBYTE, 45 parm_err: LPDWORD, 46 ) -> NET_API_STATUS; NetWkstaTransportDel( servername: LMSTR, transportname: LMSTR, ucond: DWORD, ) -> NET_API_STATUS47 pub fn NetWkstaTransportDel( 48 servername: LMSTR, 49 transportname: LMSTR, 50 ucond: DWORD, 51 ) -> NET_API_STATUS; NetWkstaTransportEnum( servername: LPCWSTR, level: DWORD, bufptr: *mut LPBYTE, prefmaxlen: DWORD, entriesread: LPDWORD, totalentries: LPDWORD, resumehandle: LPDWORD, ) -> NET_API_STATUS52 pub fn NetWkstaTransportEnum( 53 servername: LPCWSTR, 54 level: DWORD, 55 bufptr: *mut LPBYTE, 56 prefmaxlen: DWORD, 57 entriesread: LPDWORD, 58 totalentries: LPDWORD, 59 resumehandle: LPDWORD, 60 ) -> NET_API_STATUS; 61 } 62 STRUCT!{struct WKSTA_INFO_100 { 63 wki100_platform_id: DWORD, 64 wki100_computername: LMSTR, 65 wki100_langroup: LMSTR, 66 wki100_ver_major: DWORD, 67 wki100_ver_minor: DWORD, 68 }} 69 pub type PWKSTA_INFO_100 = *mut WKSTA_INFO_100; 70 pub type LPWKSTA_INFO_100 = *mut WKSTA_INFO_100; 71 STRUCT!{struct WKSTA_INFO_101 { 72 wki101_platform_id: DWORD, 73 wki101_computername: LMSTR, 74 wki101_langroup: LMSTR, 75 wki101_ver_major: DWORD, 76 wki101_ver_minor: DWORD, 77 wki101_lanroot: LMSTR, 78 }} 79 pub type PWKSTA_INFO_101 = *mut WKSTA_INFO_101; 80 pub type LPWKSTA_INFO_101 = *mut WKSTA_INFO_101; 81 STRUCT!{struct WKSTA_INFO_102 { 82 wki102_platform_id: DWORD, 83 wki102_computername: LMSTR, 84 wki102_langroup: LMSTR, 85 wki102_ver_major: DWORD, 86 wki102_ver_minor: DWORD, 87 wki102_lanroot: LMSTR, 88 wki102_logged_on_users: DWORD, 89 }} 90 pub type PWKSTA_INFO_102 = *mut WKSTA_INFO_102; 91 pub type LPWKSTA_INFO_102 = *mut WKSTA_INFO_102; 92 STRUCT!{struct WKSTA_INFO_302 { 93 wki302_char_wait: DWORD, 94 wki302_collection_time: DWORD, 95 wki302_maximum_collection_count: DWORD, 96 wki302_keep_conn: DWORD, 97 wki302_keep_search: DWORD, 98 wki302_max_cmds: DWORD, 99 wki302_num_work_buf: DWORD, 100 wki302_siz_work_buf: DWORD, 101 wki302_max_wrk_cache: DWORD, 102 wki302_sess_timeout: DWORD, 103 wki302_siz_error: DWORD, 104 wki302_num_alerts: DWORD, 105 wki302_num_services: DWORD, 106 wki302_errlog_sz: DWORD, 107 wki302_print_buf_time: DWORD, 108 wki302_num_char_buf: DWORD, 109 wki302_siz_char_buf: DWORD, 110 wki302_wrk_heuristics: LMSTR, 111 wki302_mailslots: DWORD, 112 wki302_num_dgram_buf: DWORD, 113 }} 114 pub type PWKSTA_INFO_302 = *mut WKSTA_INFO_302; 115 pub type LPWKSTA_INFO_302 = *mut WKSTA_INFO_302; 116 STRUCT!{struct WKSTA_INFO_402 { 117 wki402_char_wait: DWORD, 118 wki402_collection_time: DWORD, 119 wki402_maximum_collection_count: DWORD, 120 wki402_keep_conn: DWORD, 121 wki402_keep_search: DWORD, 122 wki402_max_cmds: DWORD, 123 wki402_num_work_buf: DWORD, 124 wki402_siz_work_buf: DWORD, 125 wki402_max_wrk_cache: DWORD, 126 wki402_sess_timeout: DWORD, 127 wki402_siz_error: DWORD, 128 wki402_num_alerts: DWORD, 129 wki402_num_services: DWORD, 130 wki402_errlog_sz: DWORD, 131 wki402_print_buf_time: DWORD, 132 wki402_num_char_buf: DWORD, 133 wki402_siz_char_buf: DWORD, 134 wki402_wrk_heuristics: LMSTR, 135 wki402_mailslots: DWORD, 136 wki402_num_dgram_buf: DWORD, 137 wki402_max_threads: DWORD, 138 }} 139 pub type PWKSTA_INFO_402 = *mut WKSTA_INFO_402; 140 pub type LPWKSTA_INFO_402 = *mut WKSTA_INFO_402; 141 STRUCT!{struct WKSTA_INFO_502 { 142 wki502_char_wait: DWORD, 143 wki502_collection_time: DWORD, 144 wki502_maximum_collection_count: DWORD, 145 wki502_keep_conn: DWORD, 146 wki502_max_cmds: DWORD, 147 wki502_sess_timeout: DWORD, 148 wki502_siz_char_buf: DWORD, 149 wki502_max_threads: DWORD, 150 wki502_lock_quota: DWORD, 151 wki502_lock_increment: DWORD, 152 wki502_lock_maximum: DWORD, 153 wki502_pipe_increment: DWORD, 154 wki502_pipe_maximum: DWORD, 155 wki502_cache_file_timeout: DWORD, 156 wki502_dormant_file_limit: DWORD, 157 wki502_read_ahead_throughput: DWORD, 158 wki502_num_mailslot_buffers: DWORD, 159 wki502_num_srv_announce_buffers: DWORD, 160 wki502_max_illegal_datagram_events: DWORD, 161 wki502_illegal_datagram_event_reset_frequency: DWORD, 162 wki502_log_election_packets: BOOL, 163 wki502_use_opportunistic_locking: BOOL, 164 wki502_use_unlock_behind: BOOL, 165 wki502_use_close_behind: BOOL, 166 wki502_buf_named_pipes: BOOL, 167 wki502_use_lock_read_unlock: BOOL, 168 wki502_utilize_nt_caching: BOOL, 169 wki502_use_raw_read: BOOL, 170 wki502_use_raw_write: BOOL, 171 wki502_use_write_raw_data: BOOL, 172 wki502_use_encryption: BOOL, 173 wki502_buf_files_deny_write: BOOL, 174 wki502_buf_read_only_files: BOOL, 175 wki502_force_core_create_mode: BOOL, 176 wki502_use_512_byte_max_transfer: BOOL, 177 }} 178 pub type PWKSTA_INFO_502 = *mut WKSTA_INFO_502; 179 pub type LPWKSTA_INFO_502 = *mut WKSTA_INFO_502; 180 STRUCT!{struct WKSTA_INFO_1010 { 181 wki1010_char_wait: DWORD, 182 }} 183 pub type PWKSTA_INFO_1010 = *mut WKSTA_INFO_1010; 184 pub type LPWKSTA_INFO_1010 = *mut WKSTA_INFO_1010; 185 STRUCT!{struct WKSTA_INFO_1011 { 186 wki1011_collection_time: DWORD, 187 }} 188 pub type PWKSTA_INFO_1011 = *mut WKSTA_INFO_1011; 189 pub type LPWKSTA_INFO_1011 = *mut WKSTA_INFO_1011; 190 STRUCT!{struct WKSTA_INFO_1012 { 191 wki1012_maximum_collection_count: DWORD, 192 }} 193 pub type PWKSTA_INFO_1012 = *mut WKSTA_INFO_1012; 194 pub type LPWKSTA_INFO_1012 = *mut WKSTA_INFO_1012; 195 STRUCT!{struct WKSTA_INFO_1027 { 196 wki1027_errlog_sz: DWORD, 197 }} 198 pub type PWKSTA_INFO_1027 = *mut WKSTA_INFO_1027; 199 pub type LPWKSTA_INFO_1027 = *mut WKSTA_INFO_1027; 200 STRUCT!{struct WKSTA_INFO_1028 { 201 wki1028_print_buf_time: DWORD, 202 }} 203 pub type PWKSTA_INFO_1028 = *mut WKSTA_INFO_1028; 204 pub type LPWKSTA_INFO_1028 = *mut WKSTA_INFO_1028; 205 STRUCT!{struct WKSTA_INFO_1032 { 206 wki1032_wrk_heuristics: DWORD, 207 }} 208 pub type PWKSTA_INFO_1032 = *mut WKSTA_INFO_1032; 209 pub type LPWKSTA_INFO_1032 = *mut WKSTA_INFO_1032; 210 STRUCT!{struct WKSTA_INFO_1013 { 211 wki1013_keep_conn: DWORD, 212 }} 213 pub type PWKSTA_INFO_1013 = *mut WKSTA_INFO_1013; 214 pub type LPWKSTA_INFO_1013 = *mut WKSTA_INFO_1013; 215 STRUCT!{struct WKSTA_INFO_1018 { 216 wki1018_sess_timeout: DWORD, 217 }} 218 pub type PWKSTA_INFO_1018 = *mut WKSTA_INFO_1018; 219 pub type LPWKSTA_INFO_1018 = *mut WKSTA_INFO_1018; 220 STRUCT!{struct WKSTA_INFO_1023 { 221 wki1023_siz_char_buf: DWORD, 222 }} 223 pub type PWKSTA_INFO_1023 = *mut WKSTA_INFO_1023; 224 pub type LPWKSTA_INFO_1023 = *mut WKSTA_INFO_1023; 225 STRUCT!{struct WKSTA_INFO_1033 { 226 wki1033_max_threads: DWORD, 227 }} 228 pub type PWKSTA_INFO_1033 = *mut WKSTA_INFO_1033; 229 pub type LPWKSTA_INFO_1033 = *mut WKSTA_INFO_1033; 230 STRUCT!{struct WKSTA_INFO_1041 { 231 wki1041_lock_quota: DWORD, 232 }} 233 pub type PWKSTA_INFO_1041 = *mut WKSTA_INFO_1041; 234 pub type LPWKSTA_INFO_1041 = *mut WKSTA_INFO_1041; 235 STRUCT!{struct WKSTA_INFO_1042 { 236 wki1042_lock_increment: DWORD, 237 }} 238 pub type PWKSTA_INFO_1042 = *mut WKSTA_INFO_1042; 239 pub type LPWKSTA_INFO_1042 = *mut WKSTA_INFO_1042; 240 STRUCT!{struct WKSTA_INFO_1043 { 241 wki1043_lock_maximum: DWORD, 242 }} 243 pub type PWKSTA_INFO_1043 = *mut WKSTA_INFO_1043; 244 pub type LPWKSTA_INFO_1043 = *mut WKSTA_INFO_1043; 245 STRUCT!{struct WKSTA_INFO_1044 { 246 wki1044_pipe_increment: DWORD, 247 }} 248 pub type PWKSTA_INFO_1044 = *mut WKSTA_INFO_1044; 249 pub type LPWKSTA_INFO_1044 = *mut WKSTA_INFO_1044; 250 STRUCT!{struct WKSTA_INFO_1045 { 251 wki1045_pipe_maximum: DWORD, 252 }} 253 pub type PWKSTA_INFO_1045 = *mut WKSTA_INFO_1045; 254 pub type LPWKSTA_INFO_1045 = *mut WKSTA_INFO_1045; 255 STRUCT!{struct WKSTA_INFO_1046 { 256 wki1046_dormant_file_limit: DWORD, 257 }} 258 pub type PWKSTA_INFO_1046 = *mut WKSTA_INFO_1046; 259 pub type LPWKSTA_INFO_1046 = *mut WKSTA_INFO_1046; 260 STRUCT!{struct WKSTA_INFO_1047 { 261 wki1047_cache_file_timeout: DWORD, 262 }} 263 pub type PWKSTA_INFO_1047 = *mut WKSTA_INFO_1047; 264 pub type LPWKSTA_INFO_1047 = *mut WKSTA_INFO_1047; 265 STRUCT!{struct WKSTA_INFO_1048 { 266 wki1048_use_opportunistic_locking: BOOL, 267 }} 268 pub type PWKSTA_INFO_1048 = *mut WKSTA_INFO_1048; 269 pub type LPWKSTA_INFO_1048 = *mut WKSTA_INFO_1048; 270 STRUCT!{struct WKSTA_INFO_1049 { 271 wki1049_use_unlock_behind: BOOL, 272 }} 273 pub type PWKSTA_INFO_1049 = *mut WKSTA_INFO_1049; 274 pub type LPWKSTA_INFO_1049 = *mut WKSTA_INFO_1049; 275 STRUCT!{struct WKSTA_INFO_1050 { 276 wki1050_use_close_behind: BOOL, 277 }} 278 pub type PWKSTA_INFO_1050 = *mut WKSTA_INFO_1050; 279 pub type LPWKSTA_INFO_1050 = *mut WKSTA_INFO_1050; 280 STRUCT!{struct WKSTA_INFO_1051 { 281 wki1051_buf_named_pipes: BOOL, 282 }} 283 pub type PWKSTA_INFO_1051 = *mut WKSTA_INFO_1051; 284 pub type LPWKSTA_INFO_1051 = *mut WKSTA_INFO_1051; 285 STRUCT!{struct WKSTA_INFO_1052 { 286 wki1052_use_lock_read_unlock: BOOL, 287 }} 288 pub type PWKSTA_INFO_1052 = *mut WKSTA_INFO_1052; 289 pub type LPWKSTA_INFO_1052 = *mut WKSTA_INFO_1052; 290 STRUCT!{struct WKSTA_INFO_1053 { 291 wki1053_utilize_nt_caching: BOOL, 292 }} 293 pub type PWKSTA_INFO_1053 = *mut WKSTA_INFO_1053; 294 pub type LPWKSTA_INFO_1053 = *mut WKSTA_INFO_1053; 295 STRUCT!{struct WKSTA_INFO_1054 { 296 wki1054_use_raw_read: BOOL, 297 }} 298 pub type PWKSTA_INFO_1054 = *mut WKSTA_INFO_1054; 299 pub type LPWKSTA_INFO_1054 = *mut WKSTA_INFO_1054; 300 STRUCT!{struct WKSTA_INFO_1055 { 301 wki1055_use_raw_write: BOOL, 302 }} 303 pub type PWKSTA_INFO_1055 = *mut WKSTA_INFO_1055; 304 pub type LPWKSTA_INFO_1055 = *mut WKSTA_INFO_1055; 305 STRUCT!{struct WKSTA_INFO_1056 { 306 wki1056_use_write_raw_data: BOOL, 307 }} 308 pub type PWKSTA_INFO_1056 = *mut WKSTA_INFO_1056; 309 pub type LPWKSTA_INFO_1056 = *mut WKSTA_INFO_1056; 310 STRUCT!{struct WKSTA_INFO_1057 { 311 wki1057_use_encryption: BOOL, 312 }} 313 pub type PWKSTA_INFO_1057 = *mut WKSTA_INFO_1057; 314 pub type LPWKSTA_INFO_1057 = *mut WKSTA_INFO_1057; 315 STRUCT!{struct WKSTA_INFO_1058 { 316 wki1058_buf_files_deny_write: BOOL, 317 }} 318 pub type PWKSTA_INFO_1058 = *mut WKSTA_INFO_1058; 319 pub type LPWKSTA_INFO_1058 = *mut WKSTA_INFO_1058; 320 STRUCT!{struct WKSTA_INFO_1059 { 321 wki1059_buf_read_only_files: BOOL, 322 }} 323 pub type PWKSTA_INFO_1059 = *mut WKSTA_INFO_1059; 324 pub type LPWKSTA_INFO_1059 = *mut WKSTA_INFO_1059; 325 STRUCT!{struct WKSTA_INFO_1060 { 326 wki1060_force_core_create_mode: BOOL, 327 }} 328 pub type PWKSTA_INFO_1060 = *mut WKSTA_INFO_1060; 329 pub type LPWKSTA_INFO_1060 = *mut WKSTA_INFO_1060; 330 STRUCT!{struct WKSTA_INFO_1061 { 331 wki1061_use_512_byte_max_transfer: BOOL, 332 }} 333 pub type PWKSTA_INFO_1061 = *mut WKSTA_INFO_1061; 334 pub type LPWKSTA_INFO_1061 = *mut WKSTA_INFO_1061; 335 STRUCT!{struct WKSTA_INFO_1062 { 336 wki1062_read_ahead_throughput: DWORD, 337 }} 338 pub type PWKSTA_INFO_1062 = *mut WKSTA_INFO_1062; 339 pub type LPWKSTA_INFO_1062 = *mut WKSTA_INFO_1062; 340 STRUCT!{struct WKSTA_USER_INFO_0 { 341 wkui0_username: LMSTR, 342 }} 343 pub type PWKSTA_USER_INFO_0 = *mut WKSTA_USER_INFO_0; 344 pub type LPWKSTA_USER_INFO_0 = *mut WKSTA_USER_INFO_0; 345 STRUCT!{struct WKSTA_USER_INFO_1 { 346 wkui1_username: LMSTR, 347 wkui1_logon_domain: LMSTR, 348 wkui1_oth_domains: LMSTR, 349 wkui1_logon_server: LMSTR, 350 }} 351 pub type PWKSTA_USER_INFO_1 = *mut WKSTA_USER_INFO_1; 352 pub type LPWKSTA_USER_INFO_1 = *mut WKSTA_USER_INFO_1; 353 STRUCT!{struct WKSTA_USER_INFO_1101 { 354 wkui1101_oth_domains: LMSTR, 355 }} 356 pub type PWKSTA_USER_INFO_1101 = *mut WKSTA_USER_INFO_1101; 357 pub type LPWKSTA_USER_INFO_1101 = *mut WKSTA_USER_INFO_1101; 358 STRUCT!{struct WKSTA_TRANSPORT_INFO_0 { 359 wkti0_quality_of_service: DWORD, 360 wkti0_number_of_vcs: DWORD, 361 wkti0_transport_name: LMSTR, 362 wkti0_transport_address: LMSTR, 363 wkti0_wan_ish: BOOL, 364 }} 365 pub type PWKSTA_TRANSPORT_INFO_0 = *mut WKSTA_TRANSPORT_INFO_0; 366 pub type LPWKSTA_TRANSPORT_INFO_0 = *mut WKSTA_TRANSPORT_INFO_0; 367 pub const WKSTA_PLATFORM_ID_PARMNUM: DWORD = 100; 368 pub const WKSTA_COMPUTERNAME_PARMNUM: DWORD = 1; 369 pub const WKSTA_LANGROUP_PARMNUM: DWORD = 2; 370 pub const WKSTA_VER_MAJOR_PARMNUM: DWORD = 4; 371 pub const WKSTA_VER_MINOR_PARMNUM: DWORD = 5; 372 pub const WKSTA_LOGGED_ON_USERS_PARMNUM: DWORD = 6; 373 pub const WKSTA_LANROOT_PARMNUM: DWORD = 7; 374 pub const WKSTA_LOGON_DOMAIN_PARMNUM: DWORD = 8; 375 pub const WKSTA_LOGON_SERVER_PARMNUM: DWORD = 9; 376 pub const WKSTA_CHARWAIT_PARMNUM: DWORD = 10; 377 pub const WKSTA_CHARTIME_PARMNUM: DWORD = 11; 378 pub const WKSTA_CHARCOUNT_PARMNUM: DWORD = 12; 379 pub const WKSTA_KEEPCONN_PARMNUM: DWORD = 13; 380 pub const WKSTA_KEEPSEARCH_PARMNUM: DWORD = 14; 381 pub const WKSTA_MAXCMDS_PARMNUM: DWORD = 15; 382 pub const WKSTA_NUMWORKBUF_PARMNUM: DWORD = 16; 383 pub const WKSTA_MAXWRKCACHE_PARMNUM: DWORD = 17; 384 pub const WKSTA_SESSTIMEOUT_PARMNUM: DWORD = 18; 385 pub const WKSTA_SIZERROR_PARMNUM: DWORD = 19; 386 pub const WKSTA_NUMALERTS_PARMNUM: DWORD = 20; 387 pub const WKSTA_NUMSERVICES_PARMNUM: DWORD = 21; 388 pub const WKSTA_NUMCHARBUF_PARMNUM: DWORD = 22; 389 pub const WKSTA_SIZCHARBUF_PARMNUM: DWORD = 23; 390 pub const WKSTA_ERRLOGSZ_PARMNUM: DWORD = 27; 391 pub const WKSTA_PRINTBUFTIME_PARMNUM: DWORD = 28; 392 pub const WKSTA_SIZWORKBUF_PARMNUM: DWORD = 29; 393 pub const WKSTA_MAILSLOTS_PARMNUM: DWORD = 30; 394 pub const WKSTA_NUMDGRAMBUF_PARMNUM: DWORD = 31; 395 pub const WKSTA_WRKHEURISTICS_PARMNUM: DWORD = 32; 396 pub const WKSTA_MAXTHREADS_PARMNUM: DWORD = 33; 397 pub const WKSTA_LOCKQUOTA_PARMNUM: DWORD = 41; 398 pub const WKSTA_LOCKINCREMENT_PARMNUM: DWORD = 42; 399 pub const WKSTA_LOCKMAXIMUM_PARMNUM: DWORD = 43; 400 pub const WKSTA_PIPEINCREMENT_PARMNUM: DWORD = 44; 401 pub const WKSTA_PIPEMAXIMUM_PARMNUM: DWORD = 45; 402 pub const WKSTA_DORMANTFILELIMIT_PARMNUM: DWORD = 46; 403 pub const WKSTA_CACHEFILETIMEOUT_PARMNUM: DWORD = 47; 404 pub const WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM: DWORD = 48; 405 pub const WKSTA_USEUNLOCKBEHIND_PARMNUM: DWORD = 49; 406 pub const WKSTA_USECLOSEBEHIND_PARMNUM: DWORD = 50; 407 pub const WKSTA_BUFFERNAMEDPIPES_PARMNUM: DWORD = 51; 408 pub const WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM: DWORD = 52; 409 pub const WKSTA_UTILIZENTCACHING_PARMNUM: DWORD = 53; 410 pub const WKSTA_USERAWREAD_PARMNUM: DWORD = 54; 411 pub const WKSTA_USERAWWRITE_PARMNUM: DWORD = 55; 412 pub const WKSTA_USEWRITERAWWITHDATA_PARMNUM: DWORD = 56; 413 pub const WKSTA_USEENCRYPTION_PARMNUM: DWORD = 57; 414 pub const WKSTA_BUFFILESWITHDENYWRITE_PARMNUM: DWORD = 58; 415 pub const WKSTA_BUFFERREADONLYFILES_PARMNUM: DWORD = 59; 416 pub const WKSTA_FORCECORECREATEMODE_PARMNUM: DWORD = 60; 417 pub const WKSTA_USE512BYTESMAXTRANSFER_PARMNUM: DWORD = 61; 418 pub const WKSTA_READAHEADTHRUPUT_PARMNUM: DWORD = 62; 419 pub const WKSTA_OTH_DOMAINS_PARMNUM: DWORD = 101; 420 pub const TRANSPORT_QUALITYOFSERVICE_PARMNUM: DWORD = 201; 421 pub const TRANSPORT_NAME_PARMNUM: DWORD = 202; 422