问题标签 [volume-shadow-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

volume-shadow-service - VSShadow.exe for Vista

我需要 VShadow 或 Vista (Business) 的等价物。

我正在尝试的所有 VShadows 都出现错误。我需要从命令提示符中使用它。

无法在动态链接库 RESUTILS.dll 中找到过程入口点 ClusterGetVolumeNameForVolumeMountPoint。”

或者

VSHADOW.EXE 2.2 - 卷影复制示例客户端 版权所有 (C) 2005 Microsoft Corporation。版权所有。(选项:创建卷影副本集)错误:COM 调用“CreateVssBackupComponents(&m_pVssObject)”失败。- 返回 HRESULT = 0x80070005 - 错误文本:访问被拒绝。

0 投票
0 回答
377 浏览

delphi - 使用带有 WMI 类 Win32_ShadowCopy 的 Delphi 卷影复制

有没有人有任何关于使用 WMI 类 Win32_Shadowcopy 在 Delphi 中创建卷的临时(“备份”)shanshot 的指针?

我已经看到了一个生成的单元(http://delphi-wmi-class-generator.googlecode.com/svn-history/r36/trunk/root_CIMV2/uWin32_ShadowCopy.pas),但我不确定如何进行实际调用至:

  • 创建快照
  • 获取对生成的卷 ID 的引用
  • 处理生成卷中的文件
  • 完成后释放快照。

任何帮助将不胜感激!

标记

0 投票
1 回答
79 浏览

c++ - IVssBackupComponentsEx4 的 uuid 是什么?

UUID是什么IVssBackupComponentsEx4

我浏览了 MSDN 站点并没有找到任何东西,而且这个文档对 VSS 相关组件也不是很好。

问候。

0 投票
1 回答
136 浏览

c# - 读取文件而不导致拒绝其他进程的访问

我一直在考虑编写一个小型专用备份应用程序,类似于 Windows 8 中新引入的文件历史记录。基本思想是每 N 小时扫描一些目录以查找更改的文件并将它们复制到另一个卷。问题是,其他一些应用程序可能会在备份这些文件时请求访问这些文件并被拒绝访问,这可能会导致各种令人讨厌的问题。

据我所知,有几种方法可以解决这个问题:

1) 使用卷影复制服务

从我的角度来看,这个东西的未来是不确定的,它在大量 IO 负载期间的开销可能会削弱系统。

2) 打开文件时使用共享模式

像这样的东西大多有效......

...直到其他进程请求访问没有 FileShare.Read 的同一文件,此时将引发 IOException。

3)使用可能被其他(写?)请求“破坏”的机会锁。

FileIO.ReadTextAsync 的这种行为看起来与我想要的完全一样,但它看起来也非常特定于实现,并且将来可能会更改。有人知道如何通过 C# 或 C++ 在本地显式锁定文件吗?

也许有一些像 File.TryReadBytes 这样的简单 C# 方法可以提供这种“礼貌”的阅读方式?我对适用于 Windows 7 及更高版本的解决方案感兴趣。

0 投票
1 回答
893 浏览

c# - 使用 wmi 获取 VSS 卷影副本的 dos 路径

vssadmin list shadows显示每个卷副本的dos路径,格式如下:

有没有办法使用 wmi 做到这一点?

我已经浏览Win32_ShadowCopy并进行了一些实验,但找不到任何提供 dos 路径的东西。msdn 上的其他课程似乎也没有,我一定遗漏了一些东西。

0 投票
0 回答
50 浏览

c++ - VSS 硬件提供程序 Get_TargetLuns 复制 m_rgbIdentifier 中的序列号

在 Get_Targetluns 中,我克隆了 ZFS 卷并与 targetGroups 共享并获取磁盘的序列号

我的序列号形式为 69 71 6e 2e 32 30 31 30 2d 30 38 2e 6f 72 67 2e

在 BSTR 字符串中,我以 69716e2e323031302d30382e6f72672e 的形式获得序列号

现在我想将此 BSTR 值复制到

rgDestinationLuns[0]->m_deviceIdDescriptor[0]->m_rgIdentifiers[0]->m_rgbIdentifier

当我进行内存复制并复制字符串时,它不起作用,总是出现丢失磁盘错误

即使在 VSS 跟踪中,我也没有得到预期值,我得到了这样的东西

[ 1:34:09.466 P:03C0 T:0878 CORHWUTC(2805) HWDIAG] * 参数输出:
m_rgbIdentifier:

[ 1:34:09.466 P:03C0 T:0878 CORHWUTC(2971) HWDIAG] * 参数输出:30 31 34 30 42 30 41 41 30 30 35 35 37 36 30 32 0140B0AA00557602

如何将 BSTR 值分配给 m_rgbIdentifier ?

0 投票
1 回答
601 浏览

c# - c# 带冒号/范围的 dll 导入入口点

寻找从 dll 导入vssapi.dll

查看GetSnapshotDeviceName函数,DLL 导出查看器给了我:

假设我想要第一个,我如何声明 dll 导入,例如:

[有或没有 ExactSpelling] 总是给我

无法在 DLL“vssapi.dll”中找到名为“CVssWriter::GetSnapshotDeviceName”的入口点

错误。冒号的变化(删除等)和颠倒名称(作为装饰的版本)也没有给我带来快乐。

我知道它可以使用修饰名称或序数来工作,但我希望代码具有合理的可移植性(decls 依赖于编译器,而且我从未见过任何东西说序数在更新中也将保持不变)。

是的,我已经知道有了这个 dll,它不会移植到 Vista 之前的版本……我可以忍受。
也听说AlphaVSS过 - 但我需要的是使用航空母舰在湖上钓鱼(他们真的需要让它如此笨拙地使用吗?)

0 投票
0 回答
714 浏览

c++ - 在执行示例 VSS 硬件提供程序设置时出现错误代码:-2146368511 [0x80110401]

“ VSS Hardware provider ”中提到的两种解决方案都没有帮助。

我执行了以下说明来安装 VssSampleProvider 安装程序(参考自https://code.msdn.microsoft.com/windowsdesktop/VSS-Sample-Provider-3096be2a/sourcecode?fileId=58709&pathId=1834493409)。

(1) 安装虚拟存储驱动程序如下:

(2) 按如下方式安装 VSS 示例提供程序:

从命令提示符执行“install-sampleprovider.cmd”后出现以下错误:

错误:

命令提示符控制台日志:

0 投票
0 回答
153 浏览

c++ - 如何在 C++ 中实现 Windows Server 操作系统的裸机恢复

我试图为 Windows 操作系统机器实现裸机恢复。我想过使用 VolumeShadowService (VSS) 来实现它。到目前为止,我可以使用 vss 和 backupread 和 write 功能备份整个系统,还可以使用 windows pe 完成恢复。启动到 PE,我运行我的恢复应用程序,所有卷都被格式化并且文件被恢复(包括系统保留分区)。但是在我重新启动机器后,它显示以下错误“文件可能已损坏。文件头校验和与计算的校验和不匹配”请帮助解决这个问题。提前致谢。

0 投票
1 回答
728 浏览

batch-file - 批处理文件:自动化 VSS 快照检查

我正在寻找一种为服务器上的所有驱动器创建 VSS 快照的方法,以确保该功能按预期工作 - 之后我需要删除快照 - 到目前为止,我一直保持简单。

随着时间的推移,我开始遇到带有 F:\、G:\ 甚至 SQL 挂载点的服务器 - 所以我希望让这个脚本自动化一点。

理想情况下,我想对驱动器 (wmic Volume get Capacity, Name) 进行检查,然后将它们设置为变量并基于该变量运行 vssadmin 命令,循环所有直到完成。

任何想法从哪里开始?