Я должен поддерживать драйвер WDF. Это не аппаратный драйвер: драйвер использует файл на диске, который монтируется как раздел Windows. Все данные, записываемые на диск, шифруются драйвером. Драйвер работает в режиме ядра.
Драйвер был разработан для XP и успешно перенесен на Vista и 7, 32 и 64-битные версии. Я столкнулся с одной большой проблемой в Windows 8. Драйвер приводит к фатальной системной ошибке:
BugCheck 50, {ffffffffffffffd0, 0, fffff800002de33a, 0}
Probably caused by : Wdf01000.sys ( Wdf01000!FxDevice::DispatchWithLock+fa )
Проблема возникает после удаления устройства с помощью WdfObjectDelete(). Пока устройство не удалено, драйвер работает нормально и системной ошибки нет. При вызове WdfObjectDelete система аварийно завершает работу после определенной задержки.
verifier не обнаруживает ошибок в драйвере. Мои вопросы следующие:
- Есть ли что-то особенное в WDF в Windows 8?
- Есть ли какой-либо инструмент/метод, который мог бы помочь мне найти ошибку в драйвере?