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...