0

もともと私はこの呼び出しにリンクされていたので、特定のファイルへのすべてのアクセスをログに記録し、そのファイルへのすべての変更をキャプチャできました。

私はいくつかの例を試しましたが、失敗しました。コードでさえ私のためにコンパイルされません。

誰かがファイルを監視して変更を記録するための小さな作業スニペットを私に提供できますか?

または少なくともいくつかのポインタ?

ありがとう

4

1 に答える 1

0

を宣言するヘッダーがないか、以上でReadDirectoryChangesWある必要があります。前者の場合は、ReadDirectoryChangesW へのアドレスを手動で取得し、それを呼び出すことができます。#define _WIN32_WINNT0x0400

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;
于 2009-07-08T15:55:16.503 に答える