もともと私はこの呼び出しにリンクされていたので、特定のファイルへのすべてのアクセスをログに記録し、そのファイルへのすべての変更をキャプチャできました。
私はいくつかの例を試しましたが、失敗しました。msdnコードでさえ私のためにコンパイルされません。
誰かがファイルを監視して変更を記録するための小さな作業スニペットを私に提供できますか?
または少なくともいくつかのポインタ?
ありがとう
を宣言するヘッダーがないか、以上でReadDirectoryChangesW
ある必要があります。前者の場合は、ReadDirectoryChangesW へのアドレスを手動で取得し、それを呼び出すことができます。#define _WIN32_WINNT
0x0400
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;