/// <summary>Initializes a new instance of the <see cref="ValueReaderWriterLock" /> struct.</summary> public ValueReaderWriterLock() { var value = Allocate <SRWLOCK>(); InitializeSRWLock(value); _value = value; }
/// <summary>Initializes a new instance of the <see cref="ValueMutex" /> struct.</summary> public ValueMutex() { var value = Allocate <SRWLOCK>(); InitializeSRWLock(value); _value = value; }
public static extern byte TryAcquireSRWLockShared([NativeTypeName("PSRWLOCK")] SRWLOCK *SRWLock);
public static extern byte TryAcquireSRWLockExclusive([NativeTypeName("PSRWLOCK")] SRWLOCK *SRWLock);
public static extern void ReleaseSRWLockShared([NativeTypeName("PSRWLOCK")] SRWLOCK *SRWLock);
public static extern void ReleaseSRWLockExclusive([NativeTypeName("PSRWLOCK")] SRWLOCK *SRWLock);
public static extern void InitializeSRWLock([NativeTypeName("PSRWLOCK")] SRWLOCK *SRWLock);