Нашёл в MSDN такое утверждение:
An object of class CMultiLock represents the access-control mechanism used in controlling access to resources in a multithreaded program. To use the synchronization classes CSemaphore, CMutex[b] and [b]CEvent, you can create either a CMultiLock or CSingleLock object to wait on and release the synchronization object. Use CMultiLock when there are multiple objects that you could use at a particular time. Use CSingleLock when you only need to wait on one object at a time.
Значит ли это, что я не могу использовать CCriticalSection с CMultiLock он вроде бы родной брат вех тех, которые перечислены.