当前位置: 首页 > news >正文

生产企业erp系统开发seo团队

生产企业erp系统开发,seo团队,网络物流平台,东莞建设网站软件我写了一个简单的键盘过滤驱动程序(MyKbdFilter),其注册注册表,并添加到HLM \系统\ CurrentControlSet \控制\ {类4D36E96B-E325-11CE-BFC1-08002BE10318} \的UpperFilters MyKbdFilter。现在我有:“kbdclass MyKbdFilter”。所以&#xff0c…

我写了一个简单的键盘过滤驱动程序(MyKbdFilter),其注册注册表,并添加到HLM \系统\ CurrentControlSet \控制\ {类4D36E96B-E325-11CE-BFC1-08002BE10318} \的UpperFilters MyKbdFilter。现在我有:“kbdclass MyKbdFilter”。所以,当为键盘构建一个新的设备堆栈时,我会得到MyKbdFilter-> kdbclass-> kbHid-> HidUsb。当我插入键盘时,我看到DriverEntry,AddDevice,DispatchThru和DispatchPNP被调用。但键盘没有响应。在关键笔划上既不调用DispatchRead也不调用其他函数。 这里是我的代码:键盘过滤驱动程序不responsing

NTSTATUS DriverEntry(IN DRIVER_OBJECT* pDriverObject, IN UNICODE_STRING* pRegPath) {

int i;

NTSTATUS status;

for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++) {

pDriverObject->MajorFunction[i] = DispatchThru;

}

pDriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;

pDriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower;

pDriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPNP;

pDriverObject->DriverUnload = UnloadDriver;

pDriverObject->DriverExtension->AddDevice = AddDevice;

return STATUS_SUCCESS;

}

NTSTATUS AddDevice(IN PDRIVER_OBJECT pDriverObject, IN PDEVICE_OBJECT pTargetDeviceObject){

PDEVICE_OBJECT pSourceDeviceObject, pDeviceObject;

PDEVICE_EXTENSION pDeviceExtension;

NTSTATUS status;

status = IoCreateDevice(pDriverObject, sizeof(DEVICE_EXTENSION), NULL, FILE_DEVICE_KEYBOARD, 0, FALSE, &pSourceDeviceObject);

pDeviceExtension = (PDEVICE_EXTENSION) pSourceDeviceObject->DeviceExtension;

pDeviceObject = IoAttachDeviceToDeviceStack(pSourceDeviceObject, pTargetDeviceObject);

pDeviceExtension->pLowerDeviceObject = pTargetDeviceObject;

pSourceDeviceObject->Flags = pDeviceObject->Flags & (DO_BUFFERED_IO | DO_POWER_PAGABLE | DO_DIRECT_IO);

pSourceDeviceObject->Flags = pDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;

return status;

}

NTSTATUS DispatchThru(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp) {

IoSkipCurrentIrpStackLocation(pIrp);

return IoCallDriver(((PDEVICE_EXTENSION) pDeviceObject->DeviceExtension)->pLowerDeviceObject ,pIrp);

}

NTSTATUS DispatchRead(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp) {

IoSkipCurrentIrpStackLocation(pIrp);

return IoCallDriver(((PDEVICE_EXTENSION) pDeviceObject->DeviceExtension)->pLowerDeviceObject ,pIrp);

}

编辑:我使用Windows 7

2016-10-20

Michael

http://www.yayakq.cn/news/907652/

相关文章:

  • 重点实验室网站建设方案wordpress导航栏下拉菜单
  • 中国十大做网站公司排名网络营销渠道可分为哪几种
  • 网站按钮设计成什么颜色原因培训机构咨询
  • 游戏网站开发视频网站备案依据
  • 怎么制作网站页面wordpress shard
  • 简单的企业网站模板中国菲律宾足球时间
  • 火狐 网站开发怎么给wordpress加rss
  • 网站弹出广告代码企业官方网站制作
  • 夹娃娃网站如何做给素材网站做签约设计不想做了
  • 美食网站怎样做锅包肉找合作项目app平台
  • 模板网站建设推广如何开公司做网站
  • 网站备案个人转企业东莞高端网站建设费用
  • 外贸 静态网站 怎么做食品网站建设风格
  • 毕设网站建设论文给女生做网站
  • 哈尔滨网站备案地址网页设计制作网站模板图片
  • 网站开发分析免费建靓号网站
  • 学习网站建设多少钱在百度做网站赚钱吗
  • 网站开发清单招商网站建设的必要性
  • 企业网站源码带支付东莞桂城网站建设
  • 郑州网站推广方式如何做公司建网站方案给公司
  • 中国徐州网官网长春seo网站管理
  • 电商网站开发制作wordpress添加文字广告框架
  • 安徽元鼎建设公司网站长春哪家公司做网站好
  • 罗庄区住房和城乡建设局网站聊城seo培训
  • 安徽省建设厅网站职称学做ps的软件的网站有哪些
  • php 读取网站文件自己怎么做外贸英文网站
  • 企业网站建设北京做微信平台网站
  • 网站开发工程师任职要求长沙多迪php网站开发培训学校
  • 廊坊做企业网站公司湘潭网站建设 就问磐石网络专业
  • jsp网站开发引用文献百度小程序注册