Tag: disk

如何正确地将文件大小字节转换为兆字节或千兆字节?

我在我的C#项目中使用DriveInfo类来检索给定驱动器上的可用字节。 如何正确地将此数字转换为兆字节或千兆字节? 除以1024将无法完成这项工作。 结果总是与Windows资源管理器中显示的结果不同。

物理磁盘大小不正确(IoCtlDiskGetDriveGeometry)

我使用下面的代码来获取物理磁盘大小 ,但返回的大小不正确。 我用其他工具检查了尺寸。 以下代码报告 总磁盘空间: 8.249.955.840字节 它应该是 总磁盘空间: 8.254.390.272字节 如何检索实际/正确的物理磁盘大小? 在USB驱动器和普通硬盘上测试。 代码很长,这里将它分开来显示。 结构: [StructLayout(LayoutKind.Sequential)] internal struct DiskGeometry { public long Cylinders; public int MediaType; public int TracksPerCylinder; public int SectorsPerTrack; public int BytesPerSector; } 原生方法: internal static class NativeMethods { [DllImport(“Kernel32.dll”, SetLastError=true, CharSet=CharSet.Auto)] public static extern SafeFileHandle CreateFile( string fileName, uint fileAccess, uint fileShare, IntPtr […]

我们如何通过C#访问MFT

我需要在我的.net应用程序中使用C#访问Windows MFT(主文件表)。 我搜索了这个,但没有找到任何好结果。 我一直在搜索过去2天的信息,但一直无法找到相同的信息。 我不是在寻找确切的代码来做同样的事情,我只是在寻找可以让我开始的一些信息。 我唯一能弄清楚的是我必须使用P / Invoke。 我想知道我将用于访问MFT的function。 如果您能够提供一些代码示例,那就太棒了。