德尔福有没有方法检查文件是否有任何备用数据流?如何检查文件是否具有备用数据流?
回答
看一看在Win32 API FindFirstStreamW()
和FindNextStreamW()
功能:
枚举与指定的文件或目录在
::$DATA
流类型第一流的。
继续由先前调用
FindFirstStreamW
功能开始流搜索。
然而,一个文件或目录可能有除了::$DATA
其他流类型,这是不是在Win32 API中枚举的,他们是内部的NTFS本身。
有关更多详细信息,请参阅MSDN。
要列举非$DATA
流,你就必须直接读取文件系统,如用BackupRead()
和BackupSeek()
。有关详细信息,请参阅CodeProject上的Enumerating Alternate Data Streams。
谢谢。但是,你知道'CopyFileEx'是否会复制除$ DATA之外的其他流吗?我想要的是获取'CopyFileEx'将传输的所有数据的大小,但在调用函数之前。 –
@MarusNebunu是的,'CopyFileEx'复制ADS流,如文档中所述:“*此功能保留扩展属性,OLE结构化存储,** NTFS文件系统备用数据流**,安全资源属性和文件属性。 “尝试使用FindFirstFile()或GetFileAttributesEx()来查看它是否报告包括流在内的完整文件大小。或者,只是忘了事先检索大小,并让CopyFileEx'回调在复制时告诉你。 –
- 1. 检查文件是否有视频流
- 2. 如何检查DataReader是否有数据?
- 3. 如何检查Android设备是否具有语音功能
- 4. 如何检查设备是否具有给定的功能?
- 5. 如何检查设备是否具有WiFi Direct功能
- 6. iOS 11 CoreNFC如何检查设备是否具有NFC功能?
- 7. 检查数据流是否为zip文件
- 8. 如何检查用户是否具有数据库查询权限?
- 9. 如何检查文件是否是C#中的SQLite数据库?
- 10. 检查是否与具有
- 11. 如何检查SmbFile流是否准备好被读取?
- 12. 如何检查文件描述符是否有可用的数据?
- 13. .NET FtpWebRequest:如何检查文件是否准备好下载
- 14. 如何检查我的数组是否具有偶数排列?
- 15. 是否可以检查csv文件是否有来自VBA的任何数据?
- 16. 如何检查用户是否具有windows api文件的访问权限
- 17. 如何检查数据库中是否有相同的数据?
- 18. asyncio流检查读者是否有数据
- 19. 我如何检查数据是否为“”
- 20. 如何检查文件是否存在?
- 21. 如何检查文件是否打开
- 22. 如何检查文件是否存在?
- 23. 如何检查文件是否退出?
- 24. 如何检查文件是否下载?
- 25. 如何检查文件是否隐藏?
- 26. 如何检查数组是否具有相同的值?
- 27. 检查文件中的数据是否有重复项(Python)
- 28. 如何检查是否有在数组
- 29. 如何检查Cell是否有整数?
- 30. 如何检查XML文件是否具有除根以外的任何节点?
我不明白。 “其他数据流”是什么意思?单个文件成为单个流。我从来没有听说过一个文件通过多个流访问。 –
@JerryDodge:我没有密切关注他们的历史,但我认为辅助/备用数据流的存在时间与NTFS一样长 - 请参阅https://blogs.technet.microsoft.com/askcore/2013/03/ 24/alternate-data-streams-in-ntfs /# – MartynA
几乎每个文件都有多个数据流:http://www.ntfs.com/ntfs-permissions-security-descriptor.htm –