C#parchive/quickpar/par2修复实现?

Led*_*Led 9 c# repair

我正在编写一个C#应用程序,需要能够使用par2奇偶校验文件修复一组文件.对于C++,有很多东西可以做到,但是对于C#我找不到本机实现.

一种选择是使用来自C#的C++ DLL,但我宁愿不这样做,因为它不可能在x64应用程序中使用32位dll,所以我将我的应用程序限制为32位模式.

另一种选择是在后台使用par2cmdline,但我宁愿对进程有更多控制权(进度,取消等).

有没有人知道使用par2集修复文件的本地C#实现?

Nei*_*den 0

这不是一个直接的答案,但我认为有一种方法可以将 32 位 dll 加载到 64 位应用程序中:

http://dnjonline.com/article.aspx?ID=jun07_access3264

来自文章:

此解决方案需要额外的工作,因为必须创建加载 32 位 DLL 并公开其 API 的 32 位代理进程。此外,64 位方面也需要进行一些更改,因为消费者必须使用其中一种 IPC 技术,而不是直接访问 32 位 DLL。值得注意的是,在极端情况下,这项额外工作可能与从头开始开发 32 位 DLL 的 64 位版本所涉及的工作相当。

降低这些成本的一种可能方法是实现一个 64 位包装器 DLL,它公开与原始 32 位 DLL 相同的函数、参数、类型等。然后,该包装器 DLL 可以对已加载到代理进程中的原始 32 位 DLL 进行基于 IPC 的调用。