Exemplo n.º 1
0
    internal static object GetFileIdInfo(string filePath) {
      var handle = CreateFile(filePath, FileAccess.Read, FileShare.Read, IntPtr.Zero, FileMode.Open, 0x02000000 | 0x00000080, IntPtr.Zero);
      var fileStruct = new FILE_ID_INFO();
      GetFileInformationByHandleEx(handle, FILE_INFO_BY_HANDLE_CLASS.FileIdInfo, out fileStruct, (uint)Marshal.SizeOf(fileStruct));
      CloseHandle(handle);
      var win32Error = Marshal.GetLastWin32Error();
      if (win32Error != 0)
        throw new Win32Exception();

      return fileStruct;
    }
Exemplo n.º 2
0
        internal static object GetFileIdInfo(string filePath)
        {
            var handle     = CreateFile(filePath, FileAccess.Read, FileShare.Read, IntPtr.Zero, FileMode.Open, 0x02000000 | 0x00000080, IntPtr.Zero);
            var fileStruct = new FILE_ID_INFO();

            GetFileInformationByHandleEx(handle, FILE_INFO_BY_HANDLE_CLASS.FileIdInfo, out fileStruct, (uint)Marshal.SizeOf(fileStruct));
            CloseHandle(handle);
            var win32Error = Marshal.GetLastWin32Error();

            if (win32Error != 0)
            {
                throw new Win32Exception();
            }

            return(fileStruct);
        }
Exemplo n.º 3
0
 private static extern bool GetFileInformationByHandleEx(
     IntPtr hFile,
     FILE_INFO_BY_HANDLE_CLASS fileInformationClass,
     out FILE_ID_INFO lpFileInformation,
     uint dwBufferSize);
Exemplo n.º 4
0
 private static extern bool GetFileInformationByHandleEx(
     IntPtr hFile,
     FILE_INFO_BY_HANDLE_CLASS fileInformationClass,
     out FILE_ID_INFO lpFileInformation,
     uint dwBufferSize);