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

OVERLAPPED结构是什么意思?怎么用?

楼主csoapy(就是不结贴)2006-09-04 13:16:16 在 VC/MFC / 进程/线程/DLL 提问

看了一些书和代码,还是不明白这个OVERLAPPED结构到底是什么个意思,以及怎么用它。  
   
  代码中只是自已改里面的信息,系统好像从不改变它?  
   
  此外还觉得这个OVERLAPPED好像,仅仅是由系统来维护它和文件的对应关系,  
   
  类似C++里   LPOVERLAPPED   =   map[HANDLE];?  
   
  别的事情它就不做了?不过这么说也不对,OVERLAPPED结构里不是还有个hEvent,当XX时系统就自动激发它吗?  
   
  那本书、文章或网上资料里对这方面阐述比较清楚?  
   
  或者,哪位高手用三言两语把它说明白?  
   
  谢谢!! 问题点数:20、回复次数:9Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-09-04 14:05:01 得分 0

This   structure   contains   the   file   offset   of   the   beginning   of   the   lock   range.  
   
  typedef   struct   _OVERLAPPED   {  
      ULONG_PTR   Internal;    
      ULONG_PTR   InternalHigh;    
      DWORD   Offset;    
      DWORD   OffsetHigh;    
      HANDLE   hEvent;    
  }   OVERLAPPED;    
  Members  
  Internal    
  Not   used.    
  InternalHigh    
  Not   used.    
  Offset    
  File   offset   of   the   beginning   of   the   lock   range.    
  OffsetHigh    
  High   order   word   of   the   byte   offset   of   the   beginning   of   the   lock   range.    
  hEvent    
  Not   used.    
  RequirementsTop

2 楼csoapy(就是不结贴)回复于 2006-09-04 14:24:17 得分 0

this   is   form   msdn.    
  but   i   have   not   understood   it   because   it   give   me   few   information   about   OVERLAPPED.  
   
  Just   it   says,   what   a   OVERLAPPED   struct   is,   but   not   include   other   information:   how   to   use   it   or   what's   original   intention   of   designing   it,   for   instance   .  
   
  thank   u.Top

3 楼csoapy(就是不结贴)回复于 2006-09-04 14:25:05 得分 0

not   'form   msdn',   but   'from   msdn'.Top

4 楼hollysky(爱神)回复于 2006-09-04 14:41:58 得分 0

一般是异步IO用的Top

5 楼hollysky(爱神)回复于 2006-09-04 14:44:33 得分 0

你看一下相关的运用:  
  CreateFile,   ReadFile,   GetOverlappedResult,   等等Top

6 楼shefg_great()回复于 2006-09-04 14:53:41 得分 0

在《Win32多线程程序设计》和《Windows核心编程》中都有详细的解释和举例说明。  
  OVERLAPPED结构主要在一些重叠IO等异步操作中起作用。  
  即:你需要操作系统传递一批数据,于是填了一个overlapped的订单,订单上写着从哪里(数据的偏移位置)开始传输,于是你去干别的事去了。系统完成传输就打个电话(激活hEvent)叫你验收,你看到overlapped订单上系统写着的传输的数据数量验收接收的数据。  
  以上是一个经典的例子,你需要作更多的实验熟悉它,如:用重叠IO读取文件或完成端口。记住运用多线程。Top

7 楼csoapy(就是不结贴)回复于 2006-09-04 16:57:59 得分 0

精彩!  
   
  看来我就是实际做的太少了,也许就像游泳,光看是不行的。Top

8 楼king110_1()回复于 2006-10-30 08:21:05 得分 0

学习Top

9 楼lazyter1(layter)回复于 2006-11-01 13:37:52 得分 0

socket用的比较多,也比较难。我也在学习Top

相关问题

关键词

得分解答快速导航

  • 帖主:csoapy

相关链接

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

广告也精彩

反馈

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