netbt.sys при инициализации открывает на "прослушку" 445 TCP порт. Для этого устройству \Device\tcp высылается управляющий код TDI_SET_EVENT_HANDLER, где Event = TDI_EVENT_CONNECT. Так вот, если на это запрос вернуть STATUS_UNSUCCESS (или другой ошибочный), драйвер netbt.sys упадет c page fault ом. Я довольно долго сидел в отладчике, получил примерно такой ход событий:
ntStatus = CallDriver(...);
ObDereferenceObject — вот тут делается дереференс от 0 — далее обращение в ObDereferenceObject к адресу 0 — 0x18,
и естественно page fault
Это на w2k, XPSP1
Не верится, что такая детская ошибка в коде стандартного драйвера. Если кто занимался TDI если нетрудно гляньте, что у Вас произойдет в подобной ситуации?