Документы MSDN не объясняют, что здесь происходит с различными вариантами (несмотря на то, что они достаточно четко понимают параметр WaitMode)Зачем мне выбирать «Executive» вместо «UserRequest» или множество других опций в KWAIT_REASON?
Насколько я понимаю, это значение устанавливается в поле _KTHREAD :: WaitReason вызывающего потока, и оно там строго для диагностических целей.
_KTHREAD :: WaitReasonis используется и отображается различными диагностическими службами Windows.