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