Здравствуйте, AssAsin, Вы писали:
Черт, поторопился

Никто ничего не заметил, правда?
БП>>bool MyCS::TryEnter()
БП>>{
БП>> if (-1L == ::InterlockedCompareExchange(&m_cs.LockCount, 0, -1))
БП>> ...
БП>>}
AA>Если бы все было так просто, я бы и не извращался с mutex'ами. Однако в хелпах написано, что сия функция (и некоторые другие InterlockedXXX) есть только на NT. Вызывать ее под 98 я даже не пытался.
Она есть на Windows 98, о чем недвусмысленно сказано в MSDN:
Windows 95/98/Me: Included in Windows 98 and later.
На Windows 95 ее действительно нет, но заменить на lock cmpxchg ничего не стоит.