CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

DuplicateHandle有什么用

楼主wing_pn(麦田守望者)2003-06-03 21:56:46 在 VC/MFC / 网络编程 提问

if(! ::CreatePipe(   hConnectRead   ,   &hConnectWrite   ,&saAttr,   0))return;  
  if(! ::DuplicateHandle(GetCurrentProcess(),hConnectRead,    
  GetCurrentProcess(),&hReadDup,  
  0,   FALSE,DUPLICATE_SAME_ACCESS)  
  )return;  
  ::CloseHandle(   hConnectRead   );    
   
  为什么要这样做呢?  
  我发现不这么也没有什么问题啊! 问题点数:0、回复次数:8Top

1 楼peon(加菲-加菲 一只特立独行的猫)回复于 2003-06-03 21:59:26 得分 0

DuplicateHandle   can   be   called   by   either   the   source   process   or   the   target   process.   It   can   also   be   invoked   where   the   source   and   target   process   are   the   same.   For   example,   a   process   can   use   DuplicateHandle   to   create   a   noninheritable   duplicate   of   an   inheritable   handle,   or   a   handle   with   different   access   than   the   original   handle.Top

2 楼wing_pn(麦田守望者)回复于 2003-06-05 08:19:59 得分 0

UPTop

3 楼roland_c(归去来兮)回复于 2003-06-05 10:41:10 得分 0

DuplicateHandle的作用是用来在不同进程之间复制句柄,你的例子中是在同一个进程中,所以没什么很大区别,至少是不容易看出来。Top

4 楼peon(加菲-加菲 一只特立独行的猫)回复于 2003-06-09 11:59:56 得分 0

同意roland_c,DuplicateHandle是在不同的进程里复制句柄的方法之一Top

5 楼sandrowjw(我的小猫照片给弄坏了,心都碎了)回复于 2003-06-09 14:26:59 得分 0

这里好像就是保持引用计数。Top

6 楼force_eagle(战鹰)回复于 2003-06-09 15:50:48 得分 0

同意roland_c  
   
  摘自WINDOWS核心编程的一段  
   
  假设一个进程拥有对一个文件映射对象的读和写访问权。在某个位置上,一个函数被调用,它通过读取文件映射对象来访问它。为了使应用程序更加健壮,可以使用D   u   p   l   i   c   a   t   e   H   a   n   d   l   e为现有的对象创建一个新句柄,并确保这个新句柄拥有对该对象的只读访问权。然后将只读句柄传递给该函数,这样,该函数中的代码就永远不会偶然对该文件映射对象执行写入操作。Top

7 楼yueyue()回复于 2003-06-09 16:13:10 得分 0

DuplicateHandle妙用无穷啊。  
  DuplicateHandle(GetCurrentProcess(),GetCurrentProcess(),    
  GetCurrentProcess(),&hReadDup,  
  0,   FALSE,DUPLICATE_SAME_ACCESS)  
  的用处就不小:)Top

8 楼opqit(0freeman0)回复于 2003-06-09 16:38:39 得分 0

markTop

相关问题

  • 关于DuplicateHandle的使用
  • 哪位兄弟帮我查查::DuplicateHandle()的用法
  • _T有什么用?
  • IskindOf(.......)什么用
  • 用什么编JAVA,用java作什么?
  • packed 有什么用?
  • 分有什么用?
  • 到底用什么?
  • vc++有什么用?
  • Tdatabase有什么用??

关键词

  • 函数
  • 映射
  • 文件
  • access
  • duplicatehandle
  • 句柄
  • hconnectread
  • getcurrentprocess
  • 进程
  • 对象

得分解答快速导航

  • 帖主:wing_pn

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo