private static bool CanCreateSparse(string volume)
{
// Ensure full path is supplied
volume = Path.GetPathRoot(volume);
var volumeName = new StringBuilder(MAX_PATH);
var systemName = new StringBuilder(MAX_PATH);
uint fsFlags, serialNumber, maxComponent;
var result = GetVolumeInformationW(volume, volumeName, MAX_PATH, out serialNumber, out maxComponent, out fsFlags, systemName, MAX_PATH);
return result && (fsFlags & FILE_SUPPORTS_SPARSE_FILES) == FILE_SUPPORTS_SPARSE_FILES;
}