EnterCriticalSection (Kernel32)



Usage

    Private Structure CRITICAL_SECTION
        Private DebugInfo As IntPtr
        Private LockCount As Integer
        Private RecursionCount As Integer
        Private OwningThread As IntPtr
        Private LockSemaphore As IntPtr
        Private SpinCount As UIntPtr
    End Structure

    Private Declare Sub EnterCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
    Private Declare Sub InitializeCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
    Private Declare Sub LeaveCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)

        Dim mtCritSect As CRITICAL_SECTION
        InitializeCriticalSection(mtCritSect)
        EnterCriticalSection(mtCritSect)
        LeaveCriticalSection(mtCritSect)