internal Semaphore(int initialCount, int maxCount) : base() { lock (this) { Handle = UnsafeNclNativeMethods.CreateSemaphore(IntPtr.Zero, initialCount, maxCount, IntPtr.Zero); } }