GetDiskFreeSpaceEx

[DllImport("coredll.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern bool GetDiskFreeSpaceEx(
   string lpDirectoryName,
   out ulong lpFreeBytesAvailableToCaller,
   out ulong lpTotalNumberOfBytes,
   out ulong lpTotalNumberOfFreeBytes
);

Microsoft documentation: Link

Last updated