home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / source / chap38 / vbucode.bas < prev   
Encoding:
BASIC Source File  |  1995-09-11  |  5.1 KB  |  132 lines

  1. Attribute VB_Name = "WNet"
  2. Declare Function WNetAddConnection Lib "mpr.dll" Alias "WNetAddConnectionA" (ByVal lpszNetPath As String, ByVal lpszPassword As String, ByVal lpszLocalName As String) As Long
  3. Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
  4. Declare Function WNetCancelConnection Lib "mpr.dll" Alias "WNetCancelConnectionA" (ByVal lpszName As String, ByVal bForce As Long) As Long
  5. Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long
  6. Declare Function WNetConnectionDialog Lib "mpr.dll" (ByVal hwnd As Long, ByVal dwType As Long) As Long
  7. Declare Function WNetDisconnectDialog Lib "mpr.dll" (ByVal hwnd As Long, ByVal dwType As Long) As Long
  8. Declare Function WNetGetUser Lib "mpr" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
  9. Declare Function WNetGetLastError Lib "mpr.dll" Alias "WNetGetLastErrorA" (lpError As Long, ByVal lpErrorBuf As String, ByVal nErrorBufSize As Long, ByVal lpNameBuf As String, ByVal nNameBufSize As Long) As Long
  10.  
  11. Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
  12. Declare Function WNetGetUniversalName Lib "mpr" Alias "WNetGetUniversalNameA" (ByVal lpLocalPath As String, ByVal dwInfoLevel As Long, lpBuffer As Any, lpBufferSize As Long) As Long
  13.  
  14. Public Const ERROR_SUCCESS = 0&
  15. Public Const ERROR_INVALID_FUNCTION = 1&
  16. Public Const ERROR_ACCESS_DENIED = 5&
  17. Public Const ERROR_OUTOFMEMORY = 14&
  18. Public Const ERROR_ALREADY_CONNECTED = 52&
  19. Public Const ERROR_BAD_NETPATH = 53&
  20. Public Const ERROR_UNSHARED_RESOURCE = 67&
  21. Public Const ERROR_BAD_NET_NAME = 67&
  22. Public Const ERROR_ALREADY_ASSIGNED = 85&
  23. Public Const ERROR_INVALID_PASSWORD = 86&
  24. Public Const ERROR_BUFFER_OVERFLOW = 111&
  25. Public Const ERROR_BAD_PATHNAME = 161&
  26. Public Const ERROR_ALREADY_EXISTS = 183&
  27. Public Const ERROR_NO_RESOURCE_NAME = 487&
  28. Public Const ERROR_CONNECTION_UNAVAIL = 1201&
  29. Public Const ERROR_BAD_PROVIDER = 1204&
  30. Public Const ERROR_BAD_PROFILE = 1206&
  31. Public Const ERROR_EXTENDED_ERROR = 1208&
  32. Public Const ERROR_INVALID_PASSWORDNAME = 1216&
  33. Public Const ERROR_INTERNAL_ERROR = 1359&
  34. Public Const ERROR_INVALID_PRINTER_NAME = 1801&
  35. Public Const ERROR_BAD_USERNAME = 2202&
  36. Public Const ERROR_LOCAL_DRIVE = 2250&
  37.  
  38. Public Const RESOURCETYPE_ANY = &H0
  39. Public Const RESOURCETYPE_DISK = &H1
  40. Public Const RESOURCETYPE_PRINT = &H2
  41. Public Const RESOURCETYPE_UNKNOWN = &HFFFF
  42.  
  43. Public Const CONNECT_UPDATE_PROFILE = &H1
  44.  
  45.  
  46. Type NETRESOURCE
  47.  
  48.     lngScope As Long
  49.     lngType As Long
  50.     lngDisplayType As Long
  51.     lngUsage As Long
  52.     strLocalName As String
  53.     strRemoteName As String
  54.     strComment As String
  55.     strProvider As String
  56.  
  57. End Type
  58. Function ExErrorHandler() As String
  59. Dim strRetVal As String
  60.  
  61. Dim ExRV As Long
  62. Dim ExEC As Long
  63. Dim ExED As String
  64. Dim ExDS As Long
  65. Dim ExPR As String
  66. Dim ExPS As Long
  67.  
  68. ExED = Space(256)
  69. ExDS = Len(ExED)
  70. ExPR = Space(30)
  71. ExPS = Len(ExPR)
  72.  
  73. ExRV = WNetGetLastError(ExEC, ExED, ExDS, ExPR, ExPS)
  74.  
  75. If ExRV = ERROR_SUCCESS Then
  76. strRetVal = "Extended Error Information" + vbCrLf + vbCrLf
  77. strRetVal = strRetVal + "Error Code: " + CStr(ExEC) + vbCrLf
  78. strRetVal = strRetVal + "Error Description: " + ExED + vbCrLf
  79. strRetVal = strRetVal + "Network Provider: " + ExPR
  80. Else
  81. strRetVal = "Unable To Process Extended Error!"
  82. End If
  83.  
  84. ExErrorHandler = strRetVal
  85. End Function
  86.  
  87. Function IsSuccess(ReturnCode As Long, Msg As String) As Boolean
  88.  
  89.    If ReturnCode = ERROR_SUCCESS Then
  90.       IsSuccess = True
  91.    Else
  92.       IsSuccess = False
  93.       Select Case ReturnCode
  94.  
  95.          Case ERROR_INVALID_FUNCTION:
  96.             Msg = "Function is not supported."
  97.          Case ERROR_OUTOFMEMORY:
  98.             Msg = "Out of Memory."
  99.          Case ERROR_BAD_NET_NAME:
  100.             Msg = "Invalid Network Resource Name."
  101.          Case ERROR_NO_RESOURCE_NAME:
  102.             Msg = "Must Enter A Valid Network Resource Name."
  103.          Case ERROR_INVALID_PASSWORD:
  104.             Msg = "The Password was Invalid."
  105.          Case ERROR_ACCESS_DENIED:
  106.             Msg = "A Security Violation Occurred."
  107.          Case ERROR_ALREADY_CONNECTED:
  108.             Msg = "Local Device Already Connected."
  109.          Case ERROR_CONNECTION_UNAVAIL:
  110.             Msg = "The Resource Is Not Shared."
  111.          Case ERROR_ALREADY_ASSIGNED:
  112.             Msg = "Local Drive Identifier Is In Use."
  113.          Case ERROR_BAD_USERNAME:
  114.             Msg = "No Such User."
  115.          Case ERROR_INVALID_PRINTER_NAME:
  116.             Msg = "No Such Printer."
  117.          Case ERROR_LOCAL_DRIVE:
  118.             Msg = "Can't Disconnect Local Drive."
  119.          Case ERROR_INTERNAL_ERROR:
  120.             Msg = "Internal Error!"
  121.             
  122.          Case ERROR_EXTENDED_ERROR:
  123.             Msg = ExErrorHandler()
  124.                     
  125.          Case Else:
  126.             Msg = "Unrecognized Error " + Str$(ReturnCode) + "."
  127.        End Select
  128.    End If
  129.  End Function
  130.  
  131.  
  132.