阅读:1196回复:5
请教各位大虾,怎么挂接pnp设备管理器
我现在想在第一时间获得设备状态改变的通知,wock说要挂接设备管理器,可是差了一下,没有一点点相关资料,那位大虾帮个忙,给段原码
|
|
|
沙发#
发布于:2004-09-18 19:38
那是不是在入口点就要查获PNP的IRP呢??
|
|
|
板凳#
发布于:2004-09-20 09:12
是的
请问有什么办法么 |
|
|
地板#
发布于:2004-09-20 15:48
用 IoRegisterPlugPlayNotification 注册一个回调函数
|
|
|
地下室#
发布于:2004-09-20 17:53
谢谢
我这就去做实验 |
|
|
5楼#
发布于:2004-09-21 17:05
我试了,好像不行,下面是代码,调试没问题,但不能得到通知
NtStatus = IoRegisterPlugPlayNotification (EventCategoryDeviceInterfaceChange, PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES, &GUID_CLASS_USB, DriverObject, UsbNotificationFunc, NULL, &NotificationEntry); if (NT_SUCCESS(NtStatus)) {DbgPrint("IoRegisterPlugPlayNotification is uccess !\n"); } else { DbgPrint("IoRegisterPlugPlayNotification is failured !\n"); NTSTATUS UsbNotificationFunc(IN PVOID NotificationStructure, IN PVOID Context) { DbgPrint(" change has happened \n"); return STATUS_SUCCESS; } 仔细看了一下ddk,确实够呛,如果监控硬件设备,需要设备句炳 那位还有没有好方法阿 急 有重谢 |
|
|