自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (19)
  • 收藏
  • 关注

原创 WDF驱动开发(4)- 内存IO, WDF和WDM对比

当驱动和调用者进行内存操作的时候,比如驱动读取写入调用者的内存。windows上面总共有3种方法:DO_BUFFERED_IO,DO_DIRECT_IO和其他。内核模式下操作调用者bufferWDM:各种方式有不同的使用方法,参考http://blog.csdn.net/zj510/article/details/8212032WDF: 统一使用WdfRequestRetrieveIn

2013-11-28 11:37:10 4751

原创 WDF驱动开发(3)- 用户模式程序和驱动的数据交互

当用户模式的程序调用驱动的时候,怎么传递数据呢?通常用户模式程序和驱动的数据交互有3种办法:buffer方式,direct方式和其他方式。可以看之前我写的WDM驱动模型:http://blog.csdn.net/zj510/article/details/8212032那么在WDF里面又如何操作呢?我们考虑给WDF驱动增加一个功能:将WRITE请求的数据写入设备对象上下文,然后当READ请

2013-11-28 11:05:26 12516 3

原创 WDF驱动开发(2)- CONTEXT和IO QUEUE

WDF里面,大多数对象都支持自定义的数据,比如给设备对象创建一个context。对象上下文先自定义一个结构,比如typedef struct{ WDFQUEUE _DefaultQueue;}DEVICE_CONTEXT;里面放了一个对象WDFQUEUE. 然后给设备对象创建一个上下文内存块。在使用之前先要声明一下这个结构,相当于告诉框架,我们需要使用一个context。

2013-11-27 16:34:34 7738

原创 WDF驱动开发(1)- 一个简单的WDF驱动(non-pnp)

最近因为工作关系,接触了一下WDF驱动开发。WDF驱动其实是微软公司提供的一套驱动开发的框架。有了这个框架之后,开发驱动会简单一些。WDF本身是从WDM基础上封装而成的。WDF里面封装了很多对象,如WDFDRIVER等。如果要学习使用WDF来开发驱动,个人感觉还是需要WDM的一些基础,不然很多东西挺难理解的。写了一个简单的WDF驱动(非pnp),基本步骤如下:创建framework 驱

2013-11-27 14:19:01 28467 4

COM 连接点简单例子

一个简单的连接点例子,包括一个客户程序和一个COM组件。

2014-09-05

MTA客户跨线程调用STA对象

一个简单例子,MTA客户跨线程调用STA对象,直接传递COM对象。

2014-08-26

STA客户跨线程调用STA对象

STA客户跨线程调用STA对象,使用了marshal,消息循环。

2014-08-25

STA组件简单调用(MTA客户,STA客户)

实现了一个STA组件, 然后里面有STA客户调用和MTA客户调用。

2014-08-25

OSX服务端+iphone客户端 网络通信小程序

基于OS X的一个CFNETWORK写的服务端 iphone上的一个客户端,NSStream写的。 实现了基本通信和客户端切到后台后继续保持连接。

2013-05-16

OS X网络程序简单例子

用CFNETWORK和NSStream写的一个简单通信例子,包括服务端和客户端。 用的xcode。

2013-05-16

C# 处理xml

写了几行C#处理xml的代码。非常简单的几行代码。

2013-03-01

封装了一个带上下刷新功能的table(UITableView子类)

封装了一个带上下刷新功能的table(UITableView子类)。 这样在想使用刷新功能的地方,只要使用这个类替换标准UITableView就可以了。

2012-12-28

IOS开发 Table上下拉动刷新(表头下拉,表尾上拉)

在别人的基础上修改的,在一个class里面支持表头下拉刷新,表尾上拉刷新。

2012-12-28

ios自定义table例子

一个简单的自定义table例子。自定义cell,里面可以随意画自己想要的东西。

2012-12-27

WDM驱动-完成例程

wdm驱动,完成例程的一个例子。包含3部分: 1. 目录1是一个功能驱动, 2. 目录2是一个过滤驱动,附在#1上面, 3. 另外还有一个测试代码。 直接跑测试代码,就可以看到完成例程的效果。

2012-12-21

wdm驱动-过滤驱动

wdm驱动,包括功能驱动和附在它上面的过滤驱动(上层过滤驱动)。一个很简单的例子。

2012-12-19

WDM驱动多个设备对象

WDM驱动,AddDevice里面多次调用IoCreateDevice创建多个设备对象。遍历整个设备链。

2012-12-14

WDM驱动取消例程

StartIo例程的基本例子,包括如何取消irp

2012-12-13

WDM驱动StartIo例程

用WDM实现的StartIo例子。将多个线程创建的IRP串行化处理。

2012-12-12

异步IRP例子

一个WDM驱动,使用异步IRP。caller通过异步方式打开驱动设备,然后使用WaitForSingleObject查看驱动是否已经完成请求。

2012-11-26

使用DeviceIoControl进行通信(直接方式)

一个WDM驱动,然后caller使用DeviceIoControl进行和驱动的通信。输出buffer使用METHOD_IN_DIRECT进行数据传输。

2012-11-23

缓冲区方式WDM驱动例子

使用缓冲区方式(DO_BUFFERED_IO)进行用户模式和内核模式地址的数据交互。包括驱动程序和用户模式的测试程序。用DDK编译驱动,VS2008编译测试程序。

2012-11-22

一个简单的WDM驱动例子

一个简单的WDM驱动例子,包括驱动和用户模式的调用测试。(例子来自于《windows驱动开发技术详解》,只是稍微做了一些改变)

2012-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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