最初,我被链接到这个调用,所以我可以记录对某个文件的所有访问,并捕获对该文件的所有更改。
我已经做了几个例子,但都失败了。即使是msdn代码也不能为我编译。
有人能为我提供一个小的工作片段来监控文件和记录更改吗?
或者至少是一些指点?
谢谢
发布于 2009-07-08 07:55:17
您可能没有声明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;
https://stackoverflow.com/questions/1095943
复制相似问题