WDF驅動開發 CONTEXT和IO QUEUE

2021-10-01 05:22:47 字數 726 閱讀 4851

wdf裡面,大多數物件都支援自定義的資料,比如給裝置物件建立乙個context。

物件上下文

先自定義乙個結構,比如

typedef struct

device_context;

裡面放了乙個物件wdfqueue. 然後給裝置物件建立乙個上下文記憶體塊。在使用之前先要宣告一下這個結構,相當於告訴框架,我們需要使用乙個context。

wdf_declare_context_type(device_context);

如果不需要context,那麼可以這麼初始化乙個裝置屬性,wdf_object_attributes_init(&object_attribs);

如果需要context,那麼要換個函式,wdf_object_attributes_init_context_type(&object_attribs, device_context); 這樣就會分配乙個device_context的記憶體塊,並且將記憶體塊的指標儲存到wdf_object_attributes裡面。看一下wdf_object_attributes的定義:

typedef struct _wdf_object_attributes {

ulong                          size;

pfn_wdf_object_context_cleanup evtcleanupcallback;

pfn_wdf_object_context_destroy evtdest

WDF驅動模型

wdf驅動模型 如所周知,自windows 2000開始,開發驅動程式必以wdm為基礎的,但其開發難度之大,根本不能奢望像使用者模式應用程式開發那樣容易。為改善這種局面,微軟推出了新的驅動程式開發環境。要預先指出的是,這不是另起爐灶改弦更張,而是以wdm為基礎進行了建模和封裝,顯著特點是降低了開發難...

WDF驅動和3環通訊

ifndef ctl code h 89749 9961731 define ctl code h 89749 9961731 define ctl buffered ctl code file device unknown,0x850,method buffered,file any access...

vs2012 wdk8 0 搭建wdf驅動開發環境

開發環境搭建 系統 win7 x64 工具 vs2012 wdk8.0 外掛程式 wdfcoinstaller.msi 1 先安裝vs2012,再安裝wdk8.0,這樣在開啟vs2012時可以建立windows drivers型別的工程。注 vs2012不能安裝wdk8.1,wdk8.1必須安裝在v...