
примерно так:
for(;;)
{
if (info->FileNameLength>=sizeof(WCHAR))
{
std::wstring path(root_dir);
path.append(info->FileName, info->FileNameLength/sizeof(WCHAR));
_listener->OnFSChanged(info->Action, path);
}
if (!info->NextEntryOffset) break;
info = (PFILE_NOTIFY_INFORMATION)(((ULONG_PTR)info)+info->NextEntryOffset);
}
Здравствуйте, Аноним, Вы писали:
А>
примерно так:
А>А> for(;;)
А> {
А> if (info->FileNameLength>=sizeof(WCHAR))
А> {
А> std::wstring path(root_dir);
А> path.append(info->FileName, info->FileNameLength/sizeof(WCHAR));
А> _listener->OnFSChanged(info->Action, path);
А> }
А> if (!info->NextEntryOffset) break;
А> info = (PFILE_NOTIFY_INFORMATION)(((ULONG_PTR)info)+info->NextEntryOffset);
А> }
А>
Впринципе понятно, незнаю будет ли работать т.к. Dev выдает ошибки при компиляции. Мкажите пожалуйста что такое root_dir, и что _listener... В этих местах компилятор ругается. или если можно прокомментируйте пожалуйста эти строки кода
Здравствуйте, int_main, Вы писали:
_>Здравствуйте, Аноним, Вы писали:
А>>
примерно так:
А>>А>> for(;;)
А>> {
А>> if (info->FileNameLength>=sizeof(WCHAR))
А>> {
А>> std::wstring path(root_dir);
А>> path.append(info->FileName, info->FileNameLength/sizeof(WCHAR));
А>> _listener->OnFSChanged(info->Action, path);
А>> }
А>> if (!info->NextEntryOffset) break;
А>> info = (PFILE_NOTIFY_INFORMATION)(((ULONG_PTR)info)+info->NextEntryOffset);
А>> }
А>>
_>Впринципе понятно, незнаю будет ли работать т.к. Dev выдает ошибки при компиляции. Мкажите пожалуйста что такое root_dir, и что _listener... В этих местах компилятор ругается. или если можно прокомментируйте пожалуйста эти строки кода
root_dir это корневая директория которая собственно мониторится
а _listener.. это просто интерфейс такой, которому приходят нотификейшны. просто этот кусочек кода взят из реального проекта
Здравствуйте, Аноним, Вы писали:
А>root_dir это корневая директория которая собственно мониторится
А>а _listener.. это просто интерфейс такой, которому приходят нотификейшны. просто этот кусочек кода взят из реального проекта
а как мне быть с этим интерфесом или может че заменить подскажите, а может как по другому обработать вот кусок моего кода, заранее благодарен:
FILE_NOTIFY_INFORMATION* outBuffer;
DWORD* InfoNotify;
while(ReadDirectoryChangesW(hDir,
outBuffer,
sizeof(FILE_NOTIFY_INFORMATION) + MAX_PATH * 2,
TRUE,
FILE_NOTIFY_CHANGE_CREATION|
FILE_NOTIFY_CHANGE_LAST_WRITE|
FILE_NOTIFY_CHANGE_SIZE|
FILE_NOTIFY_CHANGE_ATTRIBUTES|
FILE_NOTIFY_CHANGE_DIR_NAME|
FILE_NOTIFY_CHANGE_FILE_NAME,
InfoNotify,
NULL,
NULL))
{//вот тут должен по идее быть ваш код
}