ReadDirectoryChangesW实现

时间:2009-07-08 03:06:49

标签: c msdn

最初我与此调用相关联,因此我可以记录对某个文件的所有访问权限并捕获对它的所有更改。

我已经完成了几个例子并且失败了。即使是代码也不能为我编译。

有人可以为我提供一个小的工作片段来监控文件并记录变化吗?

或者至少是一些指针?

由于

1 个答案:

答案 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;