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