Что за библиотека и почему она попала в синий экран
Писать драйвер устройства с нуля сложно: нужно правильно обрабатывать подключение и отключение, засыпание и пробуждение, очереди запросов и отмену операций. Чтобы производители не повторяли одни и те же ошибки, Microsoft выпускает Kernel-Mode Driver Framework — готовую основу для драйверов. Её среда выполнения и есть Wdf01000.sys. Драйверы, построенные на этой основе, поручают библиотеке типовые действия, а она следит, чтобы действия выполнялись по правилам.
Если драйвер нарушает правила — удаляет объект не тем способом, передаёт пустое значение туда, где оно недопустимо, не укладывается во время при переходе устройства в сон, — библиотека останавливает систему. Для этого у неё есть собственный код WDF_VIOLATION (0x10D): в справке Microsoft он описан как ошибка, найденная в драйвере, построенном на этой основе. С Wdf01000.sys в подписи встречаются и общие коды — например, DRIVER_IRQL_NOT_LESS_OR_EQUAL или SYSTEM_THREAD_EXCEPTION_NOT_HANDLED.
Отсюда главный вывод: имя файла указывает на слой, а не на устройство. На одном компьютере этой библиотекой пользуется множество драйверов, а виноват обычно один. Вопрос «система или железо» решается тем, привязан ли сбой к конкретному устройству или порту. Сбой после обновления драйвера или Windows — программный след. Сбой при подключении определённой мыши, флешки, док-станции или после залития клавиатуры ноутбука — аппаратный, и драйверами его не вылечить.
