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