WriteFile失败模式

时间:2011-08-17 19:15:14

标签: windows winapi msxml

当网络连接“失败”时,通过网络共享写入的文件会发生什么?我想可能会发生多种事情。

我问的原因是因为我写的程序似乎以我以前从未见过的方式破坏了文件。实际上,我之前从未收到过关于我的程序创建损坏文件的报告,如果它损坏了我会听到的文件,我会有信心。实际生成损坏文件的代码实际上是Microsoft代码。从MSXML4.0 COM组件在IXMLDOMDocument2接口上调用save函数时,将创建该文件。该函数创建了无效的XML文档。 33789字节文件的最后5452个字节填充了NULL(0x00)。我试图了解发生了什么。

1 个答案:

答案 0 :(得分:2)

简短的回答是文件可能已损坏(如您所见)。

从那里开始,几乎唯一有趣的问题是你如何防止这种情况再次发生。典型的方法是将数据写入临时文件,然后在写入后将其重命名为正确的名称。如果网络连接在此中间死亡,则您将没有正确的文件名。要恢复,请删除所有临时文件,然后从头开始重新启动操作。