ReadDirectoryChangesW---异步方式(IO完成端口)监控目录中的文件

本文介绍如何通过异步方式,利用ReadDirectoryChangesW函数结合IO完成端口,实现对目录文件变化的高效监控,避免同步方式下可能遗漏的文件处理问题。
摘要由CSDN通过智能技术生成

同步方式处理的话如果多个文件有可能有处理不到的文件。采用异步方式可以解决这个问题。

基于IO完成端口实现的封装类class P2PFileShare:

 

#if !defined(AFX_P2PFILESHARE_H__5CFE59EF_7A09_4715_885F_FED4E2992470__INCLUDED_)
#define AFX_P2PFILESHARE_H__5CFE59EF_7A09_4715_885F_FED4E2992470__INCLUDED_

#include "stdafx.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define _WIN32_IE            0x0501 
  
#define _WIN32_DCOM 
    
class P2PFileShare 
{ 
	typedef struct 
	{ 
		OVERLAPPED  ov; 
		BYTE        buff[65536]; 
		LPTSTR      path; 
	    DWORD       flag; 
		HANDLE      handle; 
	}PATH_OV, *LPPATH_OV; 

public : 
    P2PFileShare() 
    :mh_IOCP(NULL) 
    ,mn_OVPtr(0) 
    ,mp_OVPtr(NULL) 
    { 
		::InitializeCriticalSection(&m_cs);
    }
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米的修行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值