gpt4 book ai didi

c - 使用 FindFirstStreamW 查找带有 Zone.Identifier 的文件

转载 作者:行者123 更新时间:2023-11-30 14:22:54 26 4
gpt4 key购买 nike

好吧,我正在尝试编写一些可以扫描文件夹并识别带有 Zone.Identifier 标记的文件并删除该标记(希望如此)的东西。我一直在寻找实现这一目标的方法,并且正在尝试几种不同的方法。

我有一个使用 BackupRead() 等的函数,但是我对这种事情有点菜鸟,虽然我已经设法用这种方法找到流,但我希望使用 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 并保持 NULLFindFirstStreamW() 返回0xffffffff 我认为我可以放心地假设这不是我想要的。 lpFileName 是正确的文件名,并且是具有备用流的文件的路径。

如前所述,我是一个菜鸟,对 C 语言和 Windows API 都是新手,所以如果我错误地使用了它,犯了某种令人尴尬的愚蠢错误,或者你认为我找错了树,那么请让我知道。

最佳答案

第二个参数指定第三个参数的类型。在本例中,唯一的信息级别是 FindStreamInfoStandard,它指定数据参数应该是 WIN32_FIND_STREAM_DATA。

关于c - 使用 FindFirstStreamW 查找带有 Zone.Identifier 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com