Windows: как порождать потоки из (NDIS) драйвера ядра?

Какая функция рекомендуется для создания нового потока в контексте NDIS5/6? Ищите что-то, что гарантированно будет работать при IRQL=PASSIVE (например, без bsods из ничего); путем быстрого осмотра ndis.h содержание, ничего не нашел.

Кроме того, планируется использовать вновь созданный поток для вызова NdisFreeMemory* семья, это будет вызывать какие-либо проблемы, чтобы освободить выделенную, но неиспользуемую память из другого потока?

1 ответ

Решение

Потоки выходят за рамки NDIS. Если вам нужно начать новый поток, используйте стандартные процедуры ядра (например, PsCreateSystemThread). Обратите внимание, что обычно таймеры и рабочие элементы являются достаточными для большинства потребностей минипорта. Для минипорта NDIS необычно создавать собственный поток, хотя я полагаю, что существуют допустимые случаи, когда это может быть честным дизайном.

Можно распределить память в одном потоке и освободить ее в другом.

Другие вопросы по тегам