Windows: как порождать потоки из (NDIS) драйвера ядра?
Какая функция рекомендуется для создания нового потока в контексте NDIS5/6? Ищите что-то, что гарантированно будет работать при IRQL=PASSIVE (например, без bsods из ничего); путем быстрого осмотра ndis.h
содержание, ничего не нашел.
Кроме того, планируется использовать вновь созданный поток для вызова NdisFreeMemory*
семья, это будет вызывать какие-либо проблемы, чтобы освободить выделенную, но неиспользуемую память из другого потока?
1 ответ
Потоки выходят за рамки NDIS. Если вам нужно начать новый поток, используйте стандартные процедуры ядра (например, PsCreateSystemThread
). Обратите внимание, что обычно таймеры и рабочие элементы являются достаточными для большинства потребностей минипорта. Для минипорта NDIS необычно создавать собственный поток, хотя я полагаю, что существуют допустимые случаи, когда это может быть честным дизайном.
Можно распределить память в одном потоке и освободить ее в другом.