GetFinalPathNameByHandle (shell32)
Last changed: -24.31.170.2

.

C# Signature:

[DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint GetFinalPathNameByHandle(IntPtr hFile, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpszFilePath, uint cchFilePath, uint dwFlags);

User-Defined Types:

Documentation

  [Flags]
  public enum FinalPathFlags : uint
  {
      VOLUME_NAME_DOS      = 0x0,
      FILE_NAME_NORMALIZED = 0x0,
      VOLUME_NAME_GUID     = 0x1,
      VOLUME_NAME_NT       = 0x2,
      VOLUME_NAME_NONE     = 0x4,
      FILE_NAME_OPENED     = 0x8
  }