同一线程内直接复制内核对象会怎样?

[复制链接]
查看11 | 回复1 | 2011-9-26 12:31:19 | 显示全部楼层 |阅读模式
例如:HANDLEhFile=CreateFile(fileName,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);HANDLEhFileB=hFile;//不使用这种方法//DuplicateHandle(GetCurrentProcess(),hFile,GetCurrentProcess(),ReadFile(hFile,for(intcnt=0;cnt!=10;cnt)cout(int)buffer[cnt]\"\";coutendl;ReadFile(hFileB,for(intcnt=0;cnt!=10;cnt)cout(int)buffer[cnt]\"\";coutendl;CloseHandle(hFile);system(\"pause\");return0;这样做有没有什么问题?
回复

使用道具 举报

千问 | 2011-9-26 12:31:19 | 显示全部楼层
这个函数被调用时,当前线程就退出,所以这个函数调用后,它以后的代码就不执行了。如果这个线程是进程的最后一个线程,进程也被终止。所以,你上边的那些让人很费解,线程退出,后边还有代码。调用此函数终止线程,不一定从操作系统中删除线程。直到属于该线程的最后一个对象被关闭。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行