ReadDirectoryChangesW 用法

时间:2026-02-13 02:02:14

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))

© 2026 长短途
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com