res = Convert.ToInt32( _ shareClass.InvokeMethod("Create", _ New Object() {path, name, type, maximumAllowed, description, password, Nothing}), CultureInfo.InvariantCulture)
End If
If res <> 0 Then ThrowException(res)
Return GetShare(computerName, name)
Finally
shareClass.Dispose()
End Try
End Function
'''''''''''' ----------------------------------------------------------------------------- '''''''''''' <summary> '''''''''''' Returns a NetShare object that represents the shared resource in the '''''''''''' specified computer. '''''''''''' </summary> '''''''''''' <history> '''''''''''' [Eduardo Morcillo] 11/08/2004 Created '''''''''''' </history> '''''''''''' ----------------------------------------------------------------------------- Public Shared Function GetShare(ByVal computerName As String, ByVal shareName As String) As NetShare
Dim share As ManagementObject
share = New ManagementObject(String.Format("\\{0}\root\cimv2:Win32_Share.Name=""{1}""", computerName, shareName)) share.Get()
Return New NetShare(share)
End Function
'''''''''''' ----------------------------------------------------------------------------- '''''''''''' <summary> '''''''''''' Returns a NetShare object that represents the shared resource. '''''''''''' </summary> '''''''''''' <history> '''''''''''' [Eduardo Morcillo] 11/08/2004 Created '''''''''''' </history> '''''''''''' ----------------------------------------------------------------------------- Public Shared Function GetShare(ByVal shareName As String) As NetShare
Return GetShare(".", shareName)
End Function
'''''''''''' ----------------------------------------------------------------------------- '''''''''''' <summary> '''''''''''' Returns the names of shared resources in the specified computer. '''''''''''' </summary> '''''''''''' <history> '''''''''''' [Eduardo Morcillo] 11/08/2004 Created '''''''''''' </history> '''''''''''' ----------------------------------------------------------------------------- Public Shared Function GetShares(ByVal computername As String) As String()
'''' Get the Win32_Share class Dim shareClass As New System.Management.ManagementClass(String.Format("\\{0}\root\cimv2:Win32_Share", computername)) Dim shares As ManagementObjectCollection
Try
Dim shareNames As New ArrayList
'''' Get the Win32_Share instances shares = shareClass.GetInstances
'''' Enumerate all instances For Each share As ManagementObject In shares
Try
'''' Add the name to the list shareNames.Add(share.GetPropertyValue("Name"))
Finally
'''' Release the WMI object share.Dispose()
End Try
Next
'''' Return the list as an array Return DirectCast(shareNames.ToArray(GetType(String)), String())
Finally
'''' Release the WMI object shareClass.Dispose()
End Try
End Function
'''''''''''' ----------------------------------------------------------------------------- '''''''''''' <summary> '''''''''''' Returns the names of shared resources in the local computer. '''''''''''' </summary> '''''''''''' <returns></returns> '''''''''''' <remarks> '''''''''''' </remarks> '''''''''''' <history> '''''''''''' [Eduardo Morcillo] 11/08/2004 Created '''''''''''' </history> '''''''''''' ----------------------------------------------------------------------------- Public Shared Function GetShares() As String() Return GetShares(".") End Function
'''''''''''' ----------------------------------------------------------------------------- '''''''''''' <summary> '''''''''''' Stops sharing the folder. '''''''''''' </summary> '''''''''''' <history> '''''''''''' [Eduardo Morcillo] 11/08/2004 Created