关于MFC USB HID相关内容的学习

创建线程函数:

m_pReadReportThread=AfxBeginThread(
		ReadReportThread,//创建线程的地址,线程函数入口
		lpParam,               //线程参数,一般为this
		THREAD_PRIORITY_NORMAL,//线程优先级
		0,                     //线程堆栈大小
		CREATE_SUSPENDED,      //设置线程的标志位
		NULL);                 //设置后线程处于挂起状态

CreateThread后立即CloseHandle,为什么线程还在运行?
在结束一个线程前,只有一点要注意,那就是m_bAutoDelete 的状态。(什么?不知道m_bAutoDelete ?!!快去查阅MSDN吧)。

m_bAutoDelete = FALSE; // 表示你自己管理 CWind 对象,包括它的清理  
  
m_bAutoDelete = TRUE;  // 默认值, 系统会自己清理 CWind 对象  

m_bAutoDelete = TRUE; 系统自己清理CWind对象,当然还包括CloseHandle(),ExitInstance()等等一堆函数的调用。

m_bAutoDelete = FALSE; 那么就一定要记得自己在用完后调用delete删除创建线程的对象,这一点极为重要,因为不调用delete一定会有内存泄漏问题。

总之m_bAutoDelete 的值对结束工作是很重要的,这点一定要注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值