#pragma once class CLock { volatile long m_ref; bool cs_valid; unsigned long cs_thread_id; CRITICAL_SECTION *cs_lock; public: CLock(void); ~CLock(void); void Lock(); void Unlock(); }; extern CLock theLock;