IMAPI2可覆盖、追加光盘刻录

C++
[C#](Creating Audio CDs using IMAPI2 - CodeProject)
imapi2

Imapi2可以在Windows7上稳定运行,但是在Windows10上运行在续刻的时候总会出现错误,原因暂时还未查明

提供可覆写功能

// 增加文件内容,可覆盖刻录
public bool AddToOverrideFileSystem(IFsiDirectoryItem rootItem, MsftFileSystemImage fileSystem, string path)
{
    IStream stream = null;
    path += $"\\{displayName}";
    try
    {
        Win32.SHCreateStreamOnFile(filePath, Win32.STGM_READ | Win32.STGM_SHARE_DENY_WRITE, ref stream);
        rootItem.AddFile(path, stream);
        return true;
    }
    catch(Exception ex)
    {
        Console.WriteLine($"增添文件失败.{ex.Message}");
    }
    finally
    {
        if (stream != null)
        {
            Marshal.FinalReleaseComObject(stream);
        }
    }
    return false;
}

// DirectoryItem
// 递归增加文件夹与文件
public bool AddToOverrideFileSystem(IFsiDirectoryItem rootItem, MsftFileSystemImage fileSystem,string path)
{
    path += $"\\{displayName}";
    if (fileSystem.Exists(path) == FsiItemType.FsiItemNotFound)
    {
        rootItem.AddDirectory(path);
    }

    foreach (var item in mediaItems)
    {
        item.AddToOverrideFileSystem(rootItem, fileSystem, path);
    }

    return true;
}

多区段刻录

http://www.13thmonkey.org/documentation/SCSI/mmc6r02g.pdf

光盘USB

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,099评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,112评论 0 4