Предположим стоит следующая задача: в режиме пользователя пометить несколько потоков, в ядре пройтись по всем потокам и подсчитать количество помченных. Первое, что пришло в голову - залезть в контекст потока и пометить там "магическое" число. Но непонятно, как можно добратся до этого контекста из режима пользователя. Попробовал Set/Get ThreadContext, вроде обе функции возвращают TRUE, но необходимого эффекта не дают. Может есть более прямой способ.
В TEB'е какой-нить ненужный флаг под себя переделай. ZwQueryInformationThread\ZwSetInformationThread - ThreadBasicInformation
не слабо, но муторно держать в ядре базу данных потоков, следить ккаой поток открылся, закрылся, и т.д. Нашел элегантное решение: в начале "помеченного" потока прописываю код "подпись", которыы сам по себе ничего не делает, но легко может быть определен из ядра.
фигасе элегантное. особенно интересен пункт "начало потока". Этот способ имеет кучу минусов. Лучше как тебе сказали юзать неиспользуемые или редкоиспользуемые поля в TEB'е.