好吧,我正在嘗試編寫一些可以掃描文件夾並使用Zone.Identifier標記識別文件並刪除標記(希望)的內容。 我一直在尋找方法來做到這一點,我嘗試了幾種不同的方法。使用FindFirstStreamW查找具有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
,並保持NULL
和FindFirstStreamW()
回報0xffffffff
我認爲我很安全的假設是不我想要的是。 lpFileName
是正確的文件名,並且是具有備用流的文件的路徑。
如前所述,我是一名新手,剛剛接觸C和新的Windows API,所以如果我錯誤地使用了這些,會造成某種令人尷尬的錯誤,或者你認爲我在吠叫錯誤的樹,請告訴我。
感謝您的:) – Adwo