gpt4 book ai didi

c# - 空白 DVD/蓝光光盘 (IMAPI) 上的可用空间

转载 作者:太空狗 更新时间:2023-10-29 19:42:57 26 4
gpt4 key购买 nike

由于我最初的问题有点太模糊,让我澄清一下。

我的目标是:

  1. 通过 IMAPI 选择文件系统后估计空白磁盘大小
  2. 估计如果我刻录我的文件将占用这张光盘的空间。

我想知道的:

  1. 是否可以通过编程方式为所选文件系统获取每个扇区的字节数
  2. 如果没有,IMAPI 用于不同文件系统/媒体类型的每个扇区字节数是否有默认值,是否有记录在某处。

最佳答案

好的,所以对我的问题的简短回答是:可以安全地假设,DVD/BD 光盘的扇区大小 = 2048 字节。

我在调试 session 期间获得不同大小的原因是因为代码错误,它检索了扇区数:)

提到的代码块是从 http://www.codeproject.com/Articles/24544/Burning-and-Erasing-CD-DVD-Blu-ray-Media-with-C-an 复制粘贴的,以防万一我发布了一个快速修复。

原代码:

discFormatData = new MsftDiscFormat2Data();
discFormatData.Recorder = discRecorder;
IMAPI_MEDIA_PHYSICAL_TYPE mediaType = discFormatData.CurrentPhysicalMediaType;
fileSystemImage = new MsftFileSystemImage();
fileSystemImage.ChooseImageDefaultsForMediaType(mediaType);
if (!discFormatData.MediaHeuristicallyBlank)
{
fileSystemImage.MultisessionInterfaces = discFormatData.MultisessionInterfaces;
fileSystemImage.ImportFileSystem();
}
Int64 freeMediaBlocks = fileSystemImage.FreeMediaBlocks;

固定代码:

discFormatData = new MsftDiscFormat2Data { Recorder = discRecorder };
fileSystemImage = new MsftFileSystemImage();
fileSystemImage.ChooseImageDefaults(discRecorder);
if (!discFormatData.MediaHeuristicallyBlank)
{
fileSystemImage.MultisessionInterfaces = discFormatData.MultisessionInterfaces;
fileSystemImage.ImportFileSystem();
}
Int64 freeMediaBlocks = fileSystemImage.FreeMediaBlocks;

关于c# - 空白 DVD/蓝光光盘 (IMAPI) 上的可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12423357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com