public VolumeInformationTest(ITestOutputHelper outputHelper) { StringBuilder fileSystemNameBuffer = new StringBuilder(VolumeInformation.InteropStringCapacity); StringBuilder volumeNameBuffer = new StringBuilder(VolumeInformation.InteropStringCapacity); _rootDirectory = (new DirectoryInfo(Environment.SystemDirectory)).Root; if (!VolumeInformation.GetVolumeInformation(_rootDirectory.FullName, volumeNameBuffer, VolumeInformation.InteropStringCapacity, out uint volumeSerialNumber, out uint maximumComponentLength, out FileSystemFeature fileSystemFlags, fileSystemNameBuffer, VolumeInformation.InteropStringCapacity)) { Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error()); } _fileSystemFlags = fileSystemFlags; _isCaseSensitive = fileSystemFlags.HasFlag(FileSystemFeature.CaseSensitiveSearch); _volumeSerialNumber = volumeSerialNumber; _maximumComponentLength = maximumComponentLength; _fileSystemName = fileSystemNameBuffer.ToString(); _volumeName = volumeNameBuffer.ToString(); }
static void Main(string[] args) { var volumeInfo = VolumeInformation.GetVolumeInformation("c"); }