Click here to Skip to main content
15,867,594 members
Articles / Programming Languages / Visual Basic
Alternative
Tip/Trick

Convert a file path to a UNC Path

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
20 Feb 2011CPOL 11.6K   2  
Here is an API way using WNetGetUniversalNameImports System.Runtime.InteropServices _ Private Shared Function GetUName(ByVal Path As String, ByVal outName As Integer, ByVal bObj As...
Here is an API way using WNetGetUniversalName

VB
Imports System.Runtime.InteropServices

  <DllImport("mpr.dll", Entrypoint:="WNetGetUniversalName", CharSet:=CharSet.Auto, SetLastError:=False)> _
  Private Shared Function GetUName(ByVal Path As String, ByVal outName As Integer, ByVal bObj As IntPtr, ByRef bSize As Integer) As Integer
  End Function
  <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto), Serializable()> Class UNIVERSAL_NAME_INFO
    <MarshalAs(UnmanagedType.LPTStr)> Public UniversalName As String
    <MarshalAs(UnmanagedType.LPTStr)> Public ConnectionName As String
    <MarshalAs(UnmanagedType.LPTStr)> Public RemainingPath As String
  End Class
  Dim size As Integer = 1024
  Dim buffer As IntPtr = Marshal.AllocHGlobal(size)

  Public Function getUNC(ByVal path As String)
    Dim uncpath As String = path
    Dim unc As New UNIVERSAL_NAME_INFO
    Dim ret As Int32 = GetUName(path, 1, buffer, size)
    If ret = 0 Then
      Marshal.PtrToStructure(buffer, unc)
      uncpath = unc.UniversalName
    End If
    Marshal.FreeHGlobal(buffer)
    Return uncpath
  End Function

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
India India
Working since 2006 on VBA, VB6, VB.Net, C#, ASP.Net, MSSQL




  • Courage is not the absence of fear, but rather the judgement that something is more important than fear.
  • The fear of suffering is worse than the suffering itself.
  • People need not fear the unknown if they are capable of achieving what they need and want.
  • Every blessing ignored becomes a curse.
  • Sometimes what's in your head isn't as crazy as you think.
  • We never really grow up, we only learn how to act in public.
  • You can make very bad teams with very good individuals.
  • Admitting mistakes means you have a sense of responsibility in your actions and that shows you are more matured than almost anyone. -Nithin


Comments and Discussions

 
-- There are no messages in this forum --