OVERLAPPED结构

Overlapped模型深入分析(原理篇)   Overlapped I/O模型深入分析简述:     Overlapped I/O也称Asynchronous  I/O,异步I/O模型。异步I/O和同步I/O不同,同步I/O时,程序被挂起,一直到I/O处理完,程序才能获得控制。异步I/O,调用一个函数告诉OS,进行I/O操作,不等I/O结束就立即返回,继续程序执行,操作系统完成I/O之后,通知消息给你。Overlapped I 阅读详情
在《Win32多线程程序设计》和《Windows核心编程》中都有详细的解释和举例说明。
OVERLAPPED结构主要在一些重叠IO等异步操作中起作用。
即:你需要操作系统传递一批数据,于是填了一个overlapped的订单,订单上写着从哪里(数据的偏移位置)开始传输,于是你去干别的事去了。系统完成传输就打个电话(激活hEvent)叫你验收,你看到overlapped订单上系统写着的传输的数据数量验收接收的数据。
以上是一个经典的例子,你需要作更多的实验熟悉它,如:用重叠IO读取文件或完成端口。记住运用多线程。
 
完成端口与套接字绑定的OVERLAPPED结构释放问题 1楼  hxzb7215191   (天行健,君子以自强不息)  回复于 2005-01-09 11:56:56  得分 10 很简单的     只要这样         CloseHandle(m_ComPortItemArray[Index].ovRead.hEvent);         然后你使用之前需要把这个结构清空一次. Top2楼  kingzai 阅读详情

相关推荐

overlapped

最近要研究串口通信,其中用到了overlapped结构,一直不能理解, 今天在网上看到有人这样解释overlapped,太经典的解释了。 OVERLAPPED结构主要在一些重叠IO等异步操作中起作用。 即:你需要操作系统传递一批数据,于是填了一个overlapped的订单,订单上写着从哪里(数据的偏移位置)开始传输,于是你去干别的事去了。系统完成传输就打个电话(激活hEvent)叫你验收,

记事本 1813

Overlapped I/O笔记

要想使用异步的ReadFile或者WriteFile,就要有这个Overlapped I/O。 Overlapped I/O的作用就是当处理大量的读取和写入操作时,不会导致堵塞。因为不用这个Overlapped I/O的话,会导致线程堵塞。 大概需要3步 1、使用CreateFile()创建文件或者打开文件 HANDLE CreateFile( LPCTSTR lpFileNam...

wu_lian_nan的博客 988

Windows Overlapped I/O 指南

Overlapped I/O 是一种允许程序在执行 I/O 操作时不阻塞当前线程的机制。与传统的同步 I/O 操作不同,Overlapped I/O 允许多个 I/O 操作并行进行,程序可以在等待一个 I/O 操作完成时,继续执行其他任务。生动比喻想象一下你正在做一道菜。你将食材放入锅中,然后转身去做其他事情,不需要一直盯着锅,直到你听到锅里食物煮熟的声音再去检查。这就像 Overlapped I/O——你将 I/O 操作发出去后,不会阻塞主线程,等待 I/O 操作完成后通过回调或者信号来获取结果。

和舒貌的博客 1415

overlapped 结构

最近要研究串口通信,其中用到了overlapped结构,一直不能理解, 今天在网上看到有人这样解释overlapped,太经典的解释了。 OVERLAPPED结构主要在一些重叠IO等异步操作中起作用。  即:你需要操作系统传递一批数据,于是填了一个overlapped的订单,订单上写着从哪里(数据的偏移位置)开始传输,于是你去干别的事去了。系统完成传输就打个电话(激活hEvent

zzlthuscu的专栏 1593

串口之OVERLAPPED结构体详解

typedef struct _OVERLAPPED {    DWORD Internal;    DWORD InternalHigh;    DWORD Offset;    DWORD OffsetHigh;   HANDLE hEvent; } OVERLAPPED Internal: 预留给操作系统使用。它指定一个独立于系统的状态,当GetOverlappedResul

一蓑烟雨任平生 也无风雨也无晴 9938

OVERLAPPED 结构

typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; union { struct { DWORD Offset; DWORD OffsetHigh; } DUMMYSTRUCTNAME; PVOID Pointer; } DUMMYUNIONNAME;...

weixin_30497527的博客 449

OVERLAPPED结构与GetOverlappedResult函数

异步I/O调用时,我们会用到OVERLAPPED结构和函数GetOverlappedResult。以前一直对GetOverlappedResult比较困惑,这两天看书和代码才知道这个函数的主要作用不过是将Overlapped返回的结果进行一次简单的分析而已。 下面是OVERLAPPED结构定义: typedef struct _OVERLAPPED {     DWORD  Inte

musem2008的专栏 607

win32 OVERLAPPED 结构

参考网页: https://msdn.microsoft.com/en-us/library/windows/desktop/ms684342(v=vs.85).aspx Contains information used in asynchronous (or overlapped) input and output (I/O). typedef struct _OVERLAPPED ...

abc 703

visual C++ MFC串口编程overlapped结构汇总

最近要研究串口通信,其中用到了overlapped结构,一直不能理解,今天在网上看到有人这样解释overlapped,太经典的解释了。 OVERLAPPED结构主要在一些重叠IO等异步操作中起作用。即:你需要操作系统传递一批数据,于是填了一个overlapped的订单,订单上写着从哪里(数据的偏移位置)开始传输,于是你去干别的事去了。系统完成传输就打个电话(激活hEvent)叫你验收,你看到o...

weixin_30776273的博客 670

OVERLAPPED结构--异步IO

I/O操作可以算得上是计算机执行操作中最慢、最不可测的。所以当我们线程需要向一个设备I/O操作的时候,可以给设备一个“表单”,你先去干这个,干完结果写在这个表单里面寄给我就行了,而自己则去重点内容搞其事情。当这个设备把事情干完了,就会把这个表单填好通知应用程序。这就是异步I/O。而这个“表单”就是OVERLAPPED结构。 为什么要叫OVERLAPPED结构呢?因为I/O操作的时间和线程执行

UESTC_Liu的博客 2146

OVERLAPPED结构体类型介绍及作用

OVERLAPPED是一个包含了用于异步输入输出的信息的结构体。 结构体声明: typedef struct _OVERLAPPED { ULONG_PTR Internal; //操作系统保留,指出一个和系统相关的状态 ULONG_PTR InternalHigh; //指出发送或接收的数据长度 union { struct { DWORD Offset; //文件传送的字节偏移量...

lilp2896的博客 3054

异步IO模型和Overlapped结构

OVERLAPPED结构主要用于异步I/O操作,其数据结构定义如下:  typedef struct _OVERLAPPED {      DWORD Internal;     // 系统保留,存放系统设置的状态      DWORD InternalHigh; // 系统保留,存放被传输数据的长度      DWORD Offset;       // 指定文件的位置,文件位置是相

把握自己。 1634

windows内核开发笔记七:内核开发OVERLAPPED结构体详解

OVERLAPPED结构体详解 typedef struct _OVERLAPPED {   DWORD Internal;   DWORD InternalHigh;   DWORD Offset;   DWORD OffsetHigh;  HANDLE hEvent; } OVERLAPPED Internal: 预留给操作系统使用。它指定一个独立于系统的状态,当GetOverlappedResult函数返回时没有设置扩展错误信息ERROR_IO_PENDING时有效。 I...

jyl_sh的专栏 1774
上一篇: JNI详解
下一篇: 在Visual C++应用程序中彻底清除进程
forzy
博客等级 码龄20年 10粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值