UMDF是基于COM的编程模型,用于实现
function,filter driver,例如USB设备驱动
framework是DLL,由一些基于COM的callback object组成
选择COM原因:
1.程序员熟悉
2.COM接口支持对函数的分组,让DDI容易理解
3.支持ATI等一系列基于COM的工具
UMDF基于两种object
1.framework object:属于framework,表示了driver、device,I/O queue等
2.callback object:由驱动实现,响应设备相关事件,在UMDF中注册。
driver通过 COM interface pointer,而不是object pointer和framework object交互
framework object反过来和driver实现的callback object交互
framework是DLL,由一些基于COM的callback object组成
选择COM原因:
1.程序员熟悉
2.COM接口支持对函数的分组,让DDI容易理解
3.支持ATI等一系列基于COM的工具
UMDF基于两种object
1.framework object:属于framework,表示了driver、device,I/O queue等
2.callback object:由驱动实现,响应设备相关事件,在UMDF中注册。
driver通过 COM interface pointer,而不是object pointer和framework object交互
framework object反过来和driver实现的callback object交互
UMDF Framework objects
created by:
1.framework:
framework载入driver时,产生一个framework driver object,framework并把指针传给driver object的接口IWDFDriver,并把IWDFDeviceInitialize接口传给driver的callback object
2.dirver:
driver通过调用IWDFDriver::CreatDevice产生一个