Здравствуйте, dcb-BanDos, Вы писали:
DB>А что возвращают функции?!!???
Функции успешно выполняются: возвращаются TRUE и Get-функции выдают записанные перед этим значения.
Насколько я понял, ещё раз перечитав Рихтера, такое поведение программы связано с динамическим повышением приоритетов для голодающих нитей: программа замерла на 3-4 секунды в цикле дополнительной нити, после чего основной нити выдался приоритет THREAD_PRIORITY_TIME_CRITICAL и передалось управление.
Читая Рихтера, создаётся впечатление, что подобное повышение приоритета также регулируется функцией SetProcessPriorityBoost (данная ситуация описывается в главе о динамическом изменении приоритетов сразу после описания функции SetProcessPriorityBoost), на деле же оказывается, что это не так.