问题标签 [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 回答
804 浏览

c++ - 如何在 C++ 中调用抽象基类的函数?

我正在使用 VSS API 并使用这个抽象基类 CVSSWriter。我想调用它的函数,但我不能创建它的对象。我应该如何继承它,因为它是在 VSWriter.h 中定义的类 这是有关其方法的信息的链接 http://msdn.microsoft.com/en-us/library/aa381524%28v=VS.85%29.aspx

请帮忙,因为我被卡住了。

我试过这个,但它不起作用。

这四个是纯虚函数,也有一些虚函数。

该类的实现是

'

'

0 投票
1 回答
5492 浏览

c# - 如何在 vs2008 中使用 C# 使用卷影复制

我想制作一个使用卷影复制服务进行备份/恢复的 C# 应用程序。

如何从 C# 访问 VSS API?

0 投票
2 回答
2485 浏览

backup - 带磁盘影子的 Hyper-V 备份 - 何时调用“结束备份”?

我正在使用基于 Windows VSS(卷影复制服务)的 diskshadow 实现 Hyper V VM 的备份。

该实现与 Hyper-V 的 DiskShadow / Xcopy BACKUP 中描述的非常相似,其中 diskshadow 脚本如下所示:

在 HyperVBackup.cmd 中,将卷影副本实际复制到备份驱动器是使用 xcopy 完成的。这显然是备份过程中最耗时的部分。

begin backupand命令将end backup事件发送到 vss 编写器,以允许它们准备创建卷影副本并在备份结束时做出反应。

  • end backup打电话给AFTER是个好主意EXEC HyperVBackup.cmd吗?只要长 xcopy 部分需要,这不会迫使 vss writers 保持在中间状态吗?
  • end backup在下线之前打电话不是合适的EXEC HyperVBackup.cmd吗?

实际上,我不知道 vss 编写者在收到由 发送的事件时通常会做什么end backup

谢谢,南。

0 投票
1 回答
368 浏览

c# - C# NET DirectoryCopy 函数中的 VSS

我正在编写一个创建 RAMDisk 的类(基于类库),并且由于波动性,每隔 X 分钟我需要将 RAMDisk 的内容备份到物理位置。建议使用 CopyFileEx,因为 .NET 文件复制方法显然不起作用。

出于某种原因,我在尝试使用 CopyFileEx 时遇到了 Invalid Arguements 错误。我假设我仍然可以在这个函数中使用其余的 .NET 方法,但可以使用一些帮助来修复/清理它。

0 投票
1 回答
478 浏览

c# - 备份文件正在被另一个进程使用

我的应用程序目前使用的第三方 API 有一个错误,迫使我在 32 位中构建它。不幸的是,这与 Window 的卷影复制冲突,因为这显然必须以 64 位运行才能工作。

我可以使用 VSS 的任何替代品来安全地备份当前正在被另一个进程使用的文件吗?

0 投票
1 回答
1002 浏览

windows - Microsoft VSHADOW.EXE 卷影副本包含锁定的文件?

我一直在使用 VSS 编写备份程序,并从 Windows SDK 6.1 示例中的 VSHADOW.EXE 开始。它通常可以工作,但我很惊讶地看到某些文件仍被锁定在它创建的卷影副本中,例如

访问卷影副本中的这些文件(使用CreateFileExCopyFileEx或使用Total Commander或任何其他工具)通常会给我一个错误 32(该进程无法访问该文件,因为它正在被另一个进程使用)。它似乎是任意发生的。怎么可能?

我之前的编辑(事件日志消息)结果不是这个问题的核心,因为我修复了它但没有帮助。

0 投票
1 回答
762 浏览

com - 非管理员可以在 Windows 7 中使用卷影复制服务吗

我正在尝试在 Windows 7 上使用卷影复制服务,并查看了 MS vshadow 代码和 AlphaVSS。这些似乎提供了足够的细节来做我需要的事情,但除非在管理模式下,否则我无法进行任何工作 - 如果在正常用户模式下,在 CoInitialize 和 CoInitializeSecurity 之后的第一个真正的 COM 调用中,我得到“0x80070005 - 访问被拒绝”,即使用户是 Backup Operators 的成员。

应用程序事件日志中的条目表明这是一个 COM 问题:-

CLSID 为 {0b5a2c52-3eb9-470a-96e2-6c6d4570e40f} 且名称为 VssSnapshotMgmt 的 COM 服务器无法启动。[0x80070005,访问被拒绝。]

但我找不到任何像 VssSnapshotMgmt 这样的服务器,所以我不知道如何更改用户对它的访问权限。我也相信这是可以做到的,因为备份可以在我的机器上运行而无需提升权限。

该应用程序适用于愚蠢的客户(在任何意义上),所以如果可能的话,我反对使用管理模式。

有关如何连接到此服务的任何线索?

0 投票
1 回答
1619 浏览

vb.net - VB.Net:如何显示文件的先前卷影副本版本以允许用户选择一个

我正在用 VB.Net 编写一个 Excel 文件恢复程序,它试图成为一个方便的地方来收集和访问Microsoft 推荐的方法。如果您对我可能很笨拙、充满错误且缺少足够的清理代码感兴趣,请访问:http: //pastebin.com/v4GgDteY。尽管我还没有测试过图形宏表恢复,但基本功能似乎可以工作。

我突然想到,如果 Shadow Copy Service 已打开并且存在以前的副本,Vista 和 Windows 7 用户可以从在我的应用程序中获得文件的以前版本列表中受益。我该怎么做呢?

我查看了很多网页,但发现不容易编写代码。我猜一种可能性是通过 shell 使用 vssadmin ,但这很麻烦。我只想显示一个对话框,如以前的版本属性表,并允许用户选择以前的版本之一。我想我可以通过以编程方式调用上下文菜单和“恢复以前的版本选择”来通过 shell 显示以前版本的属性表,但是我也希望能够为那些没有的 Vista Home Basic 和 Premium 用户提供列表即使显然以前的版本仍然存在,也无法访问该选项卡。此外,如果可能的话,我想为 XP 用户提供相同的功能,尽管我很确定 XP 只有系统文件在卷影副本中。

我查看了 Shadow Copy Service 上的 MSDN 并浏览了所有页面,还查看了 AlphaVSS 和 AlphaFS 以及所有评论。我有点猜测我需要使用 AlphaVss 和 AlphFS 并执行以下操作?

  1. 找出计算机上存在的快照/还原点列表。
  2. 挂载这些快照。
  3. 在已安装的卷中导航到用户想要恢复的 Excel 文件并列出这些路径。
  4. 有了方便的路径列表,与某种差异程序比较,文件的影子副本与原始文件。
  5. 拉出与恢复目标不同的那些卷影副本的最年轻或最旧版本(我认为这并不重要)。
  6. 列出发现不同的文件版本。

这看起来既麻烦又缓慢,但也许是最快的做事方式。我只需要一些确认,这是现在要走的路。

0 投票
2 回答
11421 浏览

robocopy - 如何在 Win7 上使用卷影复制和 Robocopy?

我想用 Robocopy 和 Powersell 备份我的系统,但 Robocopy 无法复制打开的文件。Volume Shadows Copy 似乎是一个解决方案,但我没有找到任何清晰简单的解释如何使用它。

你有什么主意吗?

我在 Windows 7 x64 Enterprise 上运行。谢谢你的帮助。弗兰克

0 投票
3 回答
2219 浏览

java - 使用 Java 进行卷影复制

我目前正在创建一个备份应用程序,我们需要一种方法来读取其他应用程序正在使用的文件,并且我们还希望最大限度地减少我们对用户文件的锁定。使用 Window 的卷影复制服务似乎是我们实现这一目标的完美方式。

然而,我们的问题是我们使用的是 Java。无论如何,我们有什么简单的方法来实现这个(使用一些库甚至可能是一些 CLI)?