最初我与此调用相关联,因此我可以记录对某个文件的所有访问权限并捕获对它的所有更改。
我已经完成了几个例子并且失败了。即使是msdn代码也不能为我编译。
有人可以为我提供一个小的工作片段来监控文件并记录变化吗?
或者至少是一些指针?
由于
答案 0 :(得分:0)
您可能没有声明ReadDirectoryChangesW
的标头,或者您需要#define _WIN32_WINNT
大于或等于0x0400
。如果是前者,您可以手动获取ReadDirectoryChangesW的地址并调用:
HANDLE kernel32_dll_handle= LoadLibrary("kernel32.dll");
FARPROC ReadDirectoryChangesWAddress= GetProcAddress(kernel32_dll_handle, "ReadDirectoryChangesW");
typedef BOOL WINAPI (*ReadDirectoryChangesWDeclaration)(
__in HANDLE hDirectory,
__out LPVOID lpBuffer,
__in DWORD nBufferLength,
__in BOOL bWatchSubtree,
__in DWORD dwNotifyFilter,
__out_opt LPDWORD lpBytesReturned,
__inout_opt LPOVERLAPPED lpOverlapped,
__in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
ReadDirectoryChangesWDeclaration ReadDirectoryChangesW= (ReadDirectoryChangesWDeclaration)ReadDirectoryChangesWAddress;