1
|
1 /***********************************************************************\
|
|
2 * lmuse.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * *
|
|
8 * Placed into public domain *
|
|
9 \***********************************************************************/
|
|
10 module win32.lmuse;
|
|
11 pragma(lib, "netapi32.lib");
|
|
12
|
|
13 import win32.lmuseflg;
|
|
14 private import win32.lmcons, win32.windef;
|
|
15
|
|
16 enum {
|
|
17 USE_LOCAL_PARMNUM = 1,
|
|
18 USE_REMOTE_PARMNUM,
|
|
19 USE_PASSWORD_PARMNUM,
|
|
20 USE_ASGTYPE_PARMNUM,
|
|
21 USE_USERNAME_PARMNUM,
|
|
22 USE_DOMAINNAME_PARMNUM
|
|
23 }
|
|
24
|
|
25 enum {
|
|
26 USE_OK,
|
|
27 USE_PAUSED,
|
|
28 USE_SESSLOST,
|
|
29 USE_DISCONN = USE_SESSLOST,
|
|
30 USE_NETERR,
|
|
31 USE_CONN,
|
|
32 USE_RECONN
|
|
33 }
|
|
34
|
|
35 const DWORD USE_WILDCARD = -1;
|
|
36
|
|
37 enum {
|
|
38 USE_DISKDEV,
|
|
39 USE_SPOOLDEV,
|
|
40 USE_CHARDEV,
|
|
41 USE_IPC
|
|
42 }
|
|
43
|
|
44 struct USE_INFO_0 {
|
|
45 LPWSTR ui0_local;
|
|
46 LPWSTR ui0_remote;
|
|
47 }
|
|
48 alias USE_INFO_0* PUSE_INFO_0, LPUSE_INFO_0;
|
|
49
|
|
50 struct USE_INFO_1 {
|
|
51 LPWSTR ui1_local;
|
|
52 LPWSTR ui1_remote;
|
|
53 LPWSTR ui1_password;
|
|
54 DWORD ui1_status;
|
|
55 DWORD ui1_asg_type;
|
|
56 DWORD ui1_refcount;
|
|
57 DWORD ui1_usecount;
|
|
58 }
|
|
59 alias USE_INFO_1* PUSE_INFO_1, LPUSE_INFO_1;
|
|
60
|
|
61 struct USE_INFO_2 {
|
|
62 LPWSTR ui2_local;
|
|
63 LPWSTR ui2_remote;
|
|
64 LPWSTR ui2_password;
|
|
65 DWORD ui2_status;
|
|
66 DWORD ui2_asg_type;
|
|
67 DWORD ui2_refcount;
|
|
68 DWORD ui2_usecount;
|
|
69 LPWSTR ui2_username;
|
|
70 LPWSTR ui2_domainname;
|
|
71 }
|
|
72 alias USE_INFO_2* PUSE_INFO_2, LPUSE_INFO_2;
|
|
73
|
|
74 extern (Windows) {
|
|
75 NET_API_STATUS NetUseAdd(LPWSTR, DWORD, PBYTE, PDWORD);
|
|
76 NET_API_STATUS NetUseDel(LPWSTR, LPWSTR, DWORD);
|
|
77 NET_API_STATUS NetUseEnum(LPWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD,
|
|
78 PDWORD);
|
|
79 NET_API_STATUS NetUseGetInfo(LPWSTR, LPWSTR, DWORD, PBYTE*);
|
|
80 }
|