`
yexin218
  • 浏览: 959351 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论
文章列表
作 者: sislcb时 间: 2008-01-28,11:13:28链 接: http://bbs.pediy.com/showthread.php?t=59015 这里来简单的讲解下驱动和应用层的异步通信,上次我写了驱动和应用层的三种基本通信方法,但是那三种方法都是通过同步的方法来实现的,就是说,在应用层向驱动层发送消息后,就堵死在那里等待驱动层的返回了,而异步的概念就是,应用层向驱动发送消息后,就马上返回了,而在驱动层的消息触发后,再将该消息反馈给应用层。给个网上的例子:同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫 ...
一、  同步I/O和异步I/O 在介绍这部分内容之前先来认识下“异步I/O”。   说起异步IO,很容易联想到同步I/O,对于同一个I/O对象句柄在同一时刻只允许一个I/O操作,其原理如下图所示:  显然,当内核真正处理I/O的时间段 ...
一般来说,简单的异步(Asynchronous)调用是这样一种调用方式:发起者请求一个异步调用,通知执行 者,然后处理其他工作,在某一个同步点等待执行者的完成;执行者执行调用的实际操作,完成后通知发起者。可以看出,在异步调用中有两种角色:发起者和执行 者,它们都是能主动运行的对象,我们称为主动对象,同时还有一个同步点,主动对象在同步点协调同步。在本文中,我们讨论主要是通用计算机、多进程多线程的 分时操作系统上的异步调用。在操作系统的角度上来看,主动对象包括了进程、线程和硬件上的IC等,至于中断,可以看作总是在某个进程或者线程的上下文借用 一下CPU。而同步操作可以通过操作 ...
    近日来,诞生了各种微博,显示网易微博 ,腾讯微博 内测,刚才有看到了凤凰微博 的内测,(4月7号搜狐微博 ),看来全国各地掀起微博热浪,各家都在争先恐后想拿下那些还在徘徊的网民。    个人倒是很少玩微博,平时大部分时间都是在流浪IT相关的网站,最常去的除了这里,还有CSDN,偶尔还会到国外的论坛翻翻。印象中注册过Twitter,不过由于某一种原因,估计注册过就没有上过了,后来听所国内的微博比如嘀咕,饭否也搞得热火朝天,就在嘀咕注册了一个。个人感觉嘀咕还是不错的,因为第一感觉就是它有很多种内容发布方式,QQ机器人,MSN,甚至Email,手机等,看起来还不错,不过不知道是 ...
平常升级电脑软件习惯了,今天晚上闲来无事,偶然间想看看我的450D有没有最新的固件可以升级。于是上网搜索一番,居然还真有。我检查了一下当前的相机 中的固件版本是1.0.4,而佳能最新发布的450D固件版本是1.0.9,网上说它主要修正的内容包含有:   ①在AEB(自动包围曝光)模式下,写入存储卡的第三张照片会出现不能写入结束的情况。这个问题得到了修正。   ②修正了实时取景的一个曝光模拟警告的不正确显示问题。   ③修正了连接打印机和其他终端的时候,连续拍摄不能回放照片的问题。 尽管我在使用中并未遇到上述问题,但既然官方有新的升级包了,喜欢升级的我是一定要尝试一下的。下面把升级过 ...

清明-时节

今天清明,放假。 其实我已经在休假四天了,四天中除了第一天跟同学一起出去吃饭,之后的三天我都没有出过家门,加上这样灰蒙的天气,也没有什么心情到处闲逛,只好在电脑面前度日。 当你静静坐下来的时候,也许平常不会去回想的事情,在这时候,或许某根神经就变兴奋,很多事就变得清晰。8年了,父亲过世已经8年了,可有些事却宛如昨日。或许时间让我们学会了淡忘,现在的我已经不会重复的回想起最后一次看见父亲的场景,或者是火葬场亲人的痛苦表情。现在更多的是离那一刻更远一点的故事--和父亲在一起充满笑声的场景。可能是时间的原因,现在能想起来的都是离散的。记得又一次在家里,父亲在跟朋友一起在谈论事情,我在那里写 ...
   在很多时候,某些用户需要与底层驱动有一个交互式的操作,所以需要寻找一个架构能够做到应用程程序和驱动程序进行有效的沟通,而Microsoft Windows 家族操作系统通过发送 I/O 请求数据包 (IRP) 与驱动程序通信。所以今天我们介绍Windows如何使用DeviceIoControl以及IRP进行User层和Kernel层的数据交流。   首先,为了比较完整的介绍这个部分,我们先看看一些准备工作。要访问底层驱动,我们应该先得到该驱可访问的句柄(Handle)。这里我们使用到了函数CreateFile。 HANDLE CreateFile( LPCTSTR lpFileN ...
文章作者:grayfox 作者主页:http://nokyo.blogbus.com 原始出处:http://nokyo.blogbus.com/logs/33271026.html       在驱动程序的开发中经常需要用到链表,常见的链表有单向链表和双向链表,我们只介绍双向链表的使用方法,DDK为我 ...
我们常常需要寻找一些电子书PDF 文件,特别是一些国外的英文版电子书,因为很难在国内买得到,所以一些好的网站是非常值得收藏的。以下这22个都是免费的PDF 网站,需要寻找国外资料的朋友就多去看看吧,说不定有惊喜呢…… 1. PDF-Search-Engine 2. PDFGeni 3. Search-PDF-Books 4. PDF Rapid4Me 5. TooDoc 6. OpenPDF 7. PDFQueen 8. Data-Sheet 9. PDFFind 10. eBook-Search-Engine 11. PDFOne 12. Live-PDF 13. aeroPDF 14. G ...
安装IE8发现安装过程出错:  在网上找到一个解决的方法,可以完美的安装IE8. 首先打开一个文本编辑器(摘自:http://blog.sina.com.cn/s/blog_4c59c08a0100cg29.html ): 写道 @echo off rem fix update garbage value set Update=HKLM\SOFTWARE\MicroSoft\Update set Updates=HKLM\SOFTWARE\MicroSoft\Updates rem set echo Cleanning "%Update%" for ...
现象: 自己定义一个仅含有Ethernet Header的数据包,其大小为80.使用有线和无线网卡发送,监听到的结果显示大小分别为80 和 130,为何? 写道 284 7.437500 [002586 EB7B0C] [USI 5B1430] EAPOL EAPOL:EAPOL-Start , Length = 515  Frame: Number = 284, Captured Frame Length = 130, MediaType = WiFi 而如果是有线网卡发送的,Captured Fram Length = 80. 难道期中做了某些转换?这个不清楚!!
1. 目的:获得当前网卡的MAC地址 2.方法:使用OID: OID_DOT11_CURRENT_ADDRESS 3.信息准备: DOT11_MAC_ADDRESS MacAddress; pFilter = CONTAINING_RECORD(Link, MS_FILTER, FilterModuleLink); Status = filterDoInternalRequest(pFilter, NdisRequestQueryInf ...
所有的测试流程表明,程序已经成功的创建新的数据包,然后调用NdisFSendNetBufferLists发送数据。更令人不甚明白的是,在本地的有线网卡上可以成功的发送出去到目的地,就是单纯无线网卡没有按照约定发送数据,所以一个可以怀疑的理由就是我们的约定出错了。调试显示所有的步骤都跟有线的一样,没有什么出路。一直觉得不可思议。 VOID NdisFSendNetBufferLists( IN NDIS_HANDLE NdisFilterHandle, IN PNET_BUFFER_LIST NetBufferLists, IN NDIS_PORT_NUM ...
LIST_ENTRY定义一个双向链表的数据结构: typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink; } LIST_ENTRY, *PLIST_ENTRY;  由函数InitializeListHead (BUEList)进行初始化。 假设需要插入某个数据结构 strct B_U_E{ LIST_ENTRY BUELink; ... ... } BUE;   然后开始插入BUE的某个实例对象:调用InsertHeadList ...
前文 说到如何区分不同Filter Module Instance. 而且提到了三种方法。我分别测试了下: FilterModuleName is {7CA32522-8218-4BF9-8B98-D280274588E2}-{5CBF81BD-5055-47CD-9055-A76B2B4E3697}-0000 ? ? 00000084    200.10607910    NDISLWF:      00000085    200.10607910    MiniportFriendlyName is RT73 USB Wireless LAN Card   000 ...
Global site tag (gtag.js) - Google Analytics