关于MDL的一些事(2)

 对驱动程序采用Direct I/O方式进行数据读的测试 采用这种方式进行读数据时,I/O Manager调用MmProbeAndLockPages将ReadFile参数提供的用户空间缓冲区对应的物理页面锁定为不可换出,然后将得到的MDL放在Irp->MdlAddress里,将IRP传递给相...

2009-11-16 16:45:00

阅读数 3826

评论数 0

关于MDL的一些事情(未完)

     微软的文档里对MDL的描述感觉语焉不详,这两天在找工作的间隙逆向+黑盒测试了一下MmBuildMdlForNonPagedPool,把得到的一些理解描述下来。一.MDL数据结构    MDL是用来建立一块虚拟地址空间与物理页面之间的映射,结构定义如下:    typedef struct...

2009-11-15 20:46:00

阅读数 3004

评论数 0

PinkNose -- 针对进程的网络数据截取

    这是个针对进程的数据包截取工具。类似于Wireshark截取到的是整个网卡上的数据包,当需要针对某一个进程,分析其网络数据流量时,Wireshark总显得不太方便。于是写了这个工具,专门针对指定的进程进行socket数据截取,如下图所示:       PinkNose通过截取目标进程的So...

2009-09-26 21:38:00

阅读数 4886

评论数 8

用标准C++搞定了一个小ACM题

问题描述在这里:http://acm.pku.edu.cn/JudgeOnline/problem?id=1002     大致意思就是输入一系列字符,按照一定的规则把其转化成标准格式的电话号码,统计,对重复出现的电话号码进行计数,最后按照号码的升序排列输出 。大致就能想到应该是分成这么几步:1....

2008-04-29 22:48:00

阅读数 938

评论数 0

手机写文测试

 用e680在5号线上写的 嘎嘎~~~ 留念

2008-03-02 20:19:00

阅读数 692

评论数 0

测试LINUX下进程间阻塞的代码

#include stdio.h>#include sys/types.h>#include signal.h>#define  BLOCK_PROCESS_PID 96int main(){    if(kill(BLOCK_PROCESS_PID,SIGSTOP)  0) {...

2007-10-06 22:43:00

阅读数 918

评论数 0

LINUX驱动程序初体验

 严格来说已经不算第一次了 大三的时候刚开始学嵌入式LINUX  就写过驱动 不过过了这么久没弄 基本忘光了 从头开始. 这篇文章不讲驱动的框架,而是记录我在编写第一个驱动中遇到的问题.问题一: 到底哪个先执行    这是一个来自运算符优先级的诡异的问题.是在编写用户空间代码时遇到的.还是先上问题...

2007-10-01 22:21:00

阅读数 1000

评论数 0

理解 operator=

    前几天有人在水源C版提出这样一个问题.先是代码如下;#include iostream>using namespace std;class Base...{public :    Base& operator=(const Base &a)    ...{      ...

2007-10-01 17:58:00

阅读数 2529

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭