好的,所以我正在尝试编写一些可以扫描文件夹并使用 Zone.Identifier 标签识别文件并删除标签(希望如此)的东西。我一直在寻找方法来做到这一点,我正在尝试几种不同的方法。
我有一个使用BackupRead()
etc 的函数,但是我对这种事情有点新手,虽然我已经设法用这种方法找到了流,但我希望用它FindFirstStreamW()
来让生活更轻松,或者至少了解更多关于这个一般。
下面是我第一次尝试使用它:
int
StreamsFunctionAlt (
LPCTSTR lpFileName )
{
LPVOID lpFindStreamData;
HANDLE hFindStream;
STREAM_INFO_LEVELS InfoLevel;
DWORD dwFlags;
HANDLE hFile;
if ( !FileExists ( lpFileName ))
{
return 1;
}
lpFindStreamData = NULL;
InfoLevel = 0;
dwFlags = 0;
hFindStream = FindFirstStreamW ( lpFileName,
InfoLevel,
lpFindStreamData,
dwFlags );
if ( !hFindStream == INVALID_HANDLE_VALUE )
{
FindNextStreamW ( hFindStream,
lpFindStreamData );
}
FindClose ( hFindStream );
return 0;
}
我所看到的lpFindStreamData
是设置NULL
并保持NULL
并FindFirstStreamW()
返回0xffffffff
,我认为我可以安全地假设这不是我想要的。 lpFileName
是正确的文件名,并且是具有备用流的文件的路径。
如前所述,我是一个菜鸟,C 和 Windows API 的新手,所以如果我使用不正确,犯了某种令人尴尬的愚蠢错误,或者你认为我在叫错树,那么请告诉我.