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 windows.lmuse; 11 pragma(lib, "netapi32"); 12 nothrow: 13 import windows.lmuseflg; 14 private import windows.lmcons, windows.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 }