ReadDirectoryChangesW 用法

2025-10-27 11:47:48

1、首先看一下ReadDirectoryChangesW()参数的作用。

 BOOL WINAPI ReadDirectoryChangesW(

        HANDLE hDirectory,   // 对目录进行监视的句柄        LPVOID lpBuffer,     // 一个指向DWORD类型的缓冲区,其中可以将获取的数据结果将其返回。        DWORD nBufferLength, // 指lpBuffer的缓冲区的大小值,以字节为单位。        BOOL bWatchSubtree, // 监视目录. 一般选择 TRUE        DWORD dwNotifyFilter, // 对文件过滤的方式和标准       LPDWORD lpBytesReturned, // 将接收的字节数转入lpBuffer参数       LPOVERLAPPED lpOverlapped, // 一般选择 NULL      LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // 一般选择 NULL

 );

2、用例:

HANDLE handle_directory = CreateFile(“C:\文件夹”,        FILE_LIST_DIRECTORY,        FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,        NULL,        OPEN_EXISTING,        FILE_FLAG_BACKUP_SEMANTICS,        NULL);

ReadDirectoryChangesW(handle_directory,                                            (LPVOID)notify,                                            sizeof(notify),                                            TRUE,                                            FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_LAST_ACCESS|FILE_NOTIFY_CHANGE_SIZE|FILE_ACTION_ADDED,                                            (LPDWORD)&(parameter->in_out_BytesReturned),                                            NULL,                                            NULL))

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢