首页
社区
课程
招聘
[原创]暑假浅谈系列第一帖——通信篇
发表于: 2014-7-3 15:17 11019

[原创]暑假浅谈系列第一帖——通信篇

2014-7-3 15:17
11019
收藏
免费 3
支持
分享
最新回复 (16)
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
2
,总结挺好的...
以前也做过类似的笔记,
让阿里收了你吧...

老恒是谁?  O(∩_∩)O哈哈~
2014-7-3 15:20
0
雪    币: 219
活跃值: (783)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
3
web 很厉害,阿里好像就收实习生.
2014-7-3 15:26
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
4
哦,你一说web,我大概知道是谁了...
是啊,阿里应该收实习生呀,赶快到阿里的碗里去
2014-7-3 15:32
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
应该是5454....
2014-7-3 16:15
0
雪    币: 102
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
看不懂怎么办?
2014-7-3 16:53
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
7
先学驱动编程,这是ring0跟ring3通讯的几种方式...
2014-7-3 16:59
0
雪    币: 102
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
你的头像。。。
2014-7-3 17:18
0
雪    币: 239
活跃值: (133)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
大二就这么吊,前途无量啊
2014-7-3 18:06
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
10
LZ前途无量,我差不多也是大二的年纪,技术还差的远呐
2014-7-3 19:21
0
雪    币: 219
活跃值: (783)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
11
  你更牛 哈,调试比我强不知道多少.
2014-7-3 19:27
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
12
额,还算熟悉,算不上精通,各有所长吧
2014-7-3 19:29
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
一点都不懂。。
2014-7-4 13:22
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我胡汉三又回来看了,这次瞧一瞧ReadFile是如何从内核层传数据到应用层的?
2014-7-25 14:01
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15

WINBASEAPI
BOOL
WINAPI
ReadFile(
    __in        HANDLE hFile,//这个是设备的句柄
    __out_bcount_part_opt(nNumberOfBytesToRead, *lpNumberOfBytesRead) //你要out的缓冲区(结构体)__out_data_source(FILE) LPVOID lpBuffer,
    __in        DWORD nNumberOfBytesToRead,//你要读取多少的字节数;r0对应 uLenth=stack->Parameters.Read.Length;1
    __out_opt   LPDWORD lpNumberOfBytesRead,//这个是返回的大小;r0对应pIrp->IoStatus.Information = uLenth;
    __inout_opt LPOVERLAPPED lpOverlapped//同步才会用到;r0没用要
    );

WriteFile(
    __in        HANDLE hFile,//对应设备句柄
    __in_bcount_opt(nNumberOfBytesToWrite) LPCVOID lpBuffer,//要传人的缓冲区
    __in        DWORD nNumberOfBytesToWrite,//缓冲区的大小uLenth=stack->Parameters.Write.Length;2
    __out_opt   LPDWORD lpNumberOfBytesWritten,//传出大小//同上
    __inout_opt LPOVERLAPPED lpOverlapped//同步不管
    );
③:如果想稳定的交互信息,最关键还是传人 大小 ;假如大小太小,数据很多,那么到了内核层,由于事先irp分配的大小(r3决定的空间1.2决定),你可能取出 多余数据(溢出了),或者直接蓝屏了(访问到无效空间)。

我估计我就是因为你写的第三条,直接蓝屏的,亲~~~~~~~~~~~~~
2014-7-25 14:03
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
你是不是用五笔输入的,因为传入和传人。。。
2014-7-25 14:04
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
又找来你这篇文章来看,又看了一遍,再一次感慨,写的真好哇。做ppt中。总觉得要“抽丝剥茧”,写一点点有技术含量的ppt。
2015-1-28 15:20
0
游客
登录 | 注册 方可回帖
返回
//