MSDN — ReadDirectoryChangesW не рекурсивно

я бегу ReadDirectoryChangesW из нити в моей C ++ программе. К сожалению, я получаю уведомления только при изменении файлов из корневого каталога, хотя я установил для аргумента bWatchSubtree значение TRUE.

Документы говорят:
bWatchSubtree [в] Если этот параметр имеет значение TRUE, функция отслеживает дерево каталогов с корнем в указанном каталоге. Если этот параметр имеет значение FALSE, функция отслеживает только каталог, указанный параметром hDirectory.

Что мне не хватает?

Спасибо!
кк

void WatchDirectory(LPTSTR lpDir)
{
HANDLE hDir = CreateFile(
lpDir,
FILE_LIST_DIRECTORY,
FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS,
NULL
);

FILE_NOTIFY_INFORMATION strFileNotifyInfo[1024];
DWORD dwBytesReturned = 0;

while(RUNNING)
{
if(ReadDirectoryChangesW(
hDir,
(LPVOID)&strFileNotifyInfo,
sizeof(strFileNotifyInfo),
TRUE,
FILE_NOTIFY_CHANGE_LAST_WRITE,
&dwBytesReturned,
NULL,
NULL) == 0)
{
MGlobal::displayInfo("Error Reading Directory Change");
}
else
{
// Do cool stuff
}
}
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]