Всем привет. Имею фильтр, который аттачу к \Device\KeyboardClass0 (IoAttachDevice(...)). Все отлично работает. Однако, когда выключаю комп, то выскакивает BSOD DRIVER_POWER_STATE_FAILURE. В DriverEntry выставляю флаги своего фильтра так: Код (Text): g_pDeviceObject->Flags = g_pDeviceObject->Flags | (DO_BUFFERED_IO | DO_POWER_PAGABLE); g_pDeviceObject->Flags = g_pDeviceObject->Flags &~ DO_DEVICE_INITIALIZING; А в обработчике запросов IRP_MJ_POWER все сделал, как у Уолтера Они написано, т.е. просто отправляю запрос далее по стеку: Код (Text): NTSTATUS DispatchPower(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp) { PDEVICE_EXTENSION pDevExt = (PDEVICE_EXTENSION)pDeviceObject->DeviceExtension; PoStartNextPowerIrp(pIrp); IoSkipCurrentIrpStackLocation(pIrp); return PoCallDriver(pDevExt->pDeviceObject, pIrp); } Но почему-то BSOD все равно при выключении. Если же драйвер выгружен, то все хорошо. Кто-нить сталкивался? Помогите плиз. Заранее благодарен!