Мне нужно получить дескриптор каталога, чтобы можно было вызвать ReadDirectoryChangesW .На самом деле, мне нужно немного больше, но сначала пойдем проще.Я сузил проблему до этого:
m_directoryHandle = CreateFileA(
"C:\\Users\\victor\\Documents\\Projets\\libxnotify\\unittests", // __in LPCTSTR lpFileName,
FILE_LIST_DIRECTORY, // __in DWORD dwDesiredAccess,
0, // __in DWORD dwShareMode,
0, // __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
OPEN_EXISTING, // __in DWORD dwCreationDisposition,
0, // __in DWORD dwFlagsAndAttributes,
0 // __in_opt HANDLE hTemplateFile
);
Это возвращает INVALID_HANDLE_VALUE
с последним кодом ошибки ERROR_ACCESS_DENIED
.Излишне говорить, что я пробовал кучу разных параметров, ни один из них не работал.Я запускаю свою программу как victor, и чтобы убедиться, что у меня действительно есть права в этом каталоге unittests, я открыл командную оболочку и набрал:
C:\Users\victor>echo bla >> "C:\Users\victor\Documents\Projets\libxnotify\unittests\test"
, и это сработало.