我写了一些字节的数据为替代数据流。这一工作现在只有一个机(Windows服务器2003年SP2).相反,调用的回报 ERROR_DISK_FULL 当我试图创造一个备用数据流(关于根目录)。我找不到对此的理由的结果,因为...

  • 有足够的空间,在那个驱动器。

  • 驱动器是usb设备(由于GetVolumeInformation).

  • 驱动支持altenate数据 流(由于GetVolumeInformation).

编辑:我可以提供一些更多的信息,是什么原因 为:我加入许多流上的一个试验系统,该系统没有出现错误,并想知道如果错误可能会发生。它没有。而不是之后关于2000流长的文件名称的另一个错误的发生和持续存在:1450(ERROR_NO_SYSTEM_RESOURCES).

编辑:这里是一个例子之一,用文件的名称:

char szStreamFileName[] = "C:\\:abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnoqrstuvwxyz012345";

编辑:我们的客户使用一些公司的防病毒软件,从程序上的这个服务器。也许这就是原因(替换数据流可以被滥用恶意软件).

有帮助吗?

解决方案

后开支票在MS我知道,有一个只读标志设置的这一唯一可以设置(和复)无身份证件的窗户的功能。没有人知道谁设置这个标志和为什么,但是我把他们送图像的驱动(在我的机器从我们的客户)和所以他们想通了。我们只有一个解决办法中我们应用程序(我们使用的另一个位置,如果我们检测到这种误差)。与此同时,我们知道,我们的一些客户有这种问题。

其他提示

是否有任何压缩/备用的文件或替代数据流?

常备份,应用程序接收ERROR_DISK_FULL错误的尝试回来了压缩的文件,这使相当混乱的时候仍有几千兆字节的免费空间上的驱动。其他问题时也可能出现的复制压缩文件。目的是让读者更透彻地理解什么是真正发生时你压缩NTFS文件。

了解NTFS压缩

只是一个盲目的镜头,但是该权利的设定正确吗?

只是另一种可能性...

你有没有检查数量的当前运行结束的文件在您的操作系统?OS支持最大。数保留的文件处理之后,报告ERROR_DISK_FULL或ERROR_NO_SYSTEM_RESOURCES.

和第二种可能性...根目录是由有限数量的文件。我记得512文件在旧版本的操作系统。但NTFS支持无限制的文件数量在根!

你可能会想看到什么喜欢的东西 Sysinternal的过程监视器 实捕捉当设法创造这个文件-它显示返回代码的各种Api参与I/O堆和一个他们可能给你一个线索为什么112正在返回到你。我们希望的详细程度在ProcMon是不够的-如果没有,我想还有其他更详细的I/O跟踪设施Windows(但是我不知道他们在我的头上)

该文件给你

char szStreamFileName[] = "C:\\:abcdefghijklm...

它开始

C:\\:

那是一个错误后,或者是否真的有个结肠后有斜线?我认为这是一个非法文件。

如果你试图复制一文件大于2GB从另一文件系统(NTFS)脂肪/FAT32其中有一个2GB的限制,你可以看到这种错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top