Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Threading / ReaderWriterLock.cs / 1305376 / ReaderWriterLock.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// [....]
/*============================================================
**
** Class: RWLock
**
**
** Purpose: Defines the lock that implements
** single-writer/multiple-reader semantics
**
**
===========================================================*/
#if FEATURE_RWLOCK
namespace System.Threading {
using System.Threading;
using System.Security.Permissions;
using System.Runtime.Remoting;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.ConstrainedExecution;
using System.Runtime.Versioning;
using System.Diagnostics.Contracts;
[HostProtection(Synchronization=true, ExternalThreading=true)]
[ComVisible(true)]
public sealed class ReaderWriterLock: CriticalFinalizerObject
{
/*
* Constructor
*/
[System.Security.SecuritySafeCritical] // auto-generated
public ReaderWriterLock()
{
PrivateInitialize();
}
/*
* Destructor
*/
[System.Security.SecuritySafeCritical] // auto-generated
~ReaderWriterLock()
{
PrivateDestruct();
}
/*
* Property that returns TRUE if the reader lock is held
* by the current thread
*/
public bool IsReaderLockHeld {
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get {
return(PrivateGetIsReaderLockHeld());
}
}
/*
* Property that returns TRUE if the writer lock is held
* by the current thread
*/
public bool IsWriterLockHeld {
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get {
return(PrivateGetIsWriterLockHeld());
}
}
/*
* Property that returns the current writer sequence number.
* The caller should be a reader or writer for getting
* meaningful results
*/
public int WriterSeqNum {
[System.Security.SecuritySafeCritical] // auto-generated
get {
return(PrivateGetWriterSeqNum());
}
}
/*
* Acquires reader lock. The thread will block if a different
* thread has writer lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void AcquireReaderLockInternal(int millisecondsTimeout);
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireReaderLock(int millisecondsTimeout)
{
AcquireReaderLockInternal(millisecondsTimeout);
}
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireReaderLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
AcquireReaderLockInternal((int)tm);
}
/*
* Acquires writer lock. The thread will block if a different
* thread has reader lock. It will dead lock if this thread
* has reader lock. Use UpgardeToWriterLock when you are not
* sure if the thread has reader lock
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void AcquireWriterLockInternal(int millisecondsTimeout);
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireWriterLock(int millisecondsTimeout)
{
AcquireWriterLockInternal(millisecondsTimeout);
}
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireWriterLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
AcquireWriterLockInternal((int)tm);
}
/*
* Releases reader lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern void ReleaseReaderLockInternal();
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleaseReaderLock()
{
ReleaseReaderLockInternal();
}
/*
* Releases writer lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern void ReleaseWriterLockInternal();
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleaseWriterLock()
{
ReleaseWriterLockInternal();
}
/*
* Upgardes the thread to a writer. If the thread has is a
* reader, it is possible that the reader lock was
* released before writer lock was acquired.
*/
[System.Security.SecuritySafeCritical] // auto-generated
public LockCookie UpgradeToWriterLock(int millisecondsTimeout)
{
LockCookie result = new LockCookie ();
FCallUpgradeToWriterLock (ref result, millisecondsTimeout);
return result;
}
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void FCallUpgradeToWriterLock(ref LockCookie result, int millisecondsTimeout);
public LockCookie UpgradeToWriterLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
return UpgradeToWriterLock((int)tm);
}
/*
* Restores the lock status of the thread to the one it was
* in when it called UpgradeToWriterLock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void DowngradeFromWriterLockInternal(ref LockCookie lockCookie);
[System.Security.SecuritySafeCritical] // auto-generated
public void DowngradeFromWriterLock(ref LockCookie lockCookie)
{
DowngradeFromWriterLockInternal(ref lockCookie);
}
/*
* Releases the lock irrespective of the number of times the thread
* acquired the lock
*/
[System.Security.SecuritySafeCritical] // auto-generated
public LockCookie ReleaseLock()
{
LockCookie result = new LockCookie ();
FCallReleaseLock (ref result);
return result;
}
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void FCallReleaseLock(ref LockCookie result);
/*
* Restores the lock status of the thread to the one it was
* in when it called ReleaseLock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void RestoreLockInternal(ref LockCookie lockCookie);
[System.Security.SecuritySafeCritical] // auto-generated
public void RestoreLock(ref LockCookie lockCookie)
{
RestoreLockInternal(ref lockCookie);
}
/*
* Internal helper that returns TRUE if the reader lock is held
* by the current thread
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern bool PrivateGetIsReaderLockHeld();
/*
* Internal helper that returns TRUE if the writer lock is held
* by the current thread
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern bool PrivateGetIsWriterLockHeld();
/*
* Internal helper that returns the current writer sequence
* number. The caller should be a reader or writer for getting
* meaningful results
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern int PrivateGetWriterSeqNum();
/*
* Returns true if there were intermediate writes since the
* sequence number was obtained. The caller should be
* a reader or writer for getting meaningful results
*/
[System.Security.SecuritySafeCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public extern bool AnyWritersSince(int seqNum);
// Initialize state kept inside the lock
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void PrivateInitialize();
// Destruct resource associated with the lock
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void PrivateDestruct();
// State
#pragma warning disable 169
#pragma warning disable 414 // These fields are not used from managed.
private IntPtr _hWriterEvent;
private IntPtr _hReaderEvent;
private IntPtr _hObjectHandle;
private int _dwState = 0;
private int _dwULockID = 0;
private int _dwLLockID = 0;
private int _dwWriterID = 0;
private int _dwWriterSeqNum = 0;
private short _wWriterLevel;
#if RWLOCK_STATISTICS
// WARNING: You must explicitly #define RWLOCK_STATISTICS when you
// build in both the VM and BCL directories if you want this.
private int _dwReaderEntryCount = 0;
private int _dwReaderContentionCount = 0;
private int _dwWriterEntryCount = 0;
private int _dwWriterContentionCount = 0;
private int _dwEventsReleasedCount = 0;
#endif // RWLOCK_STATISTICS
#pragma warning restore 414
#pragma warning restore 169
}
}
#endif //FEATURE_RWLOCK
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// [....]
/*============================================================
**
** Class: RWLock
**
**
** Purpose: Defines the lock that implements
** single-writer/multiple-reader semantics
**
**
===========================================================*/
#if FEATURE_RWLOCK
namespace System.Threading {
using System.Threading;
using System.Security.Permissions;
using System.Runtime.Remoting;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.ConstrainedExecution;
using System.Runtime.Versioning;
using System.Diagnostics.Contracts;
[HostProtection(Synchronization=true, ExternalThreading=true)]
[ComVisible(true)]
public sealed class ReaderWriterLock: CriticalFinalizerObject
{
/*
* Constructor
*/
[System.Security.SecuritySafeCritical] // auto-generated
public ReaderWriterLock()
{
PrivateInitialize();
}
/*
* Destructor
*/
[System.Security.SecuritySafeCritical] // auto-generated
~ReaderWriterLock()
{
PrivateDestruct();
}
/*
* Property that returns TRUE if the reader lock is held
* by the current thread
*/
public bool IsReaderLockHeld {
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get {
return(PrivateGetIsReaderLockHeld());
}
}
/*
* Property that returns TRUE if the writer lock is held
* by the current thread
*/
public bool IsWriterLockHeld {
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get {
return(PrivateGetIsWriterLockHeld());
}
}
/*
* Property that returns the current writer sequence number.
* The caller should be a reader or writer for getting
* meaningful results
*/
public int WriterSeqNum {
[System.Security.SecuritySafeCritical] // auto-generated
get {
return(PrivateGetWriterSeqNum());
}
}
/*
* Acquires reader lock. The thread will block if a different
* thread has writer lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void AcquireReaderLockInternal(int millisecondsTimeout);
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireReaderLock(int millisecondsTimeout)
{
AcquireReaderLockInternal(millisecondsTimeout);
}
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireReaderLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
AcquireReaderLockInternal((int)tm);
}
/*
* Acquires writer lock. The thread will block if a different
* thread has reader lock. It will dead lock if this thread
* has reader lock. Use UpgardeToWriterLock when you are not
* sure if the thread has reader lock
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void AcquireWriterLockInternal(int millisecondsTimeout);
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireWriterLock(int millisecondsTimeout)
{
AcquireWriterLockInternal(millisecondsTimeout);
}
[System.Security.SecuritySafeCritical] // auto-generated
public void AcquireWriterLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
AcquireWriterLockInternal((int)tm);
}
/*
* Releases reader lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern void ReleaseReaderLockInternal();
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleaseReaderLock()
{
ReleaseReaderLockInternal();
}
/*
* Releases writer lock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern void ReleaseWriterLockInternal();
[System.Security.SecuritySafeCritical] // auto-generated
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleaseWriterLock()
{
ReleaseWriterLockInternal();
}
/*
* Upgardes the thread to a writer. If the thread has is a
* reader, it is possible that the reader lock was
* released before writer lock was acquired.
*/
[System.Security.SecuritySafeCritical] // auto-generated
public LockCookie UpgradeToWriterLock(int millisecondsTimeout)
{
LockCookie result = new LockCookie ();
FCallUpgradeToWriterLock (ref result, millisecondsTimeout);
return result;
}
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void FCallUpgradeToWriterLock(ref LockCookie result, int millisecondsTimeout);
public LockCookie UpgradeToWriterLock(TimeSpan timeout)
{
long tm = (long)timeout.TotalMilliseconds;
if (tm < -1 || tm > (long) Int32.MaxValue)
throw new ArgumentOutOfRangeException("timeout", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegOrNegative1"));
return UpgradeToWriterLock((int)tm);
}
/*
* Restores the lock status of the thread to the one it was
* in when it called UpgradeToWriterLock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void DowngradeFromWriterLockInternal(ref LockCookie lockCookie);
[System.Security.SecuritySafeCritical] // auto-generated
public void DowngradeFromWriterLock(ref LockCookie lockCookie)
{
DowngradeFromWriterLockInternal(ref lockCookie);
}
/*
* Releases the lock irrespective of the number of times the thread
* acquired the lock
*/
[System.Security.SecuritySafeCritical] // auto-generated
public LockCookie ReleaseLock()
{
LockCookie result = new LockCookie ();
FCallReleaseLock (ref result);
return result;
}
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void FCallReleaseLock(ref LockCookie result);
/*
* Restores the lock status of the thread to the one it was
* in when it called ReleaseLock.
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void RestoreLockInternal(ref LockCookie lockCookie);
[System.Security.SecuritySafeCritical] // auto-generated
public void RestoreLock(ref LockCookie lockCookie)
{
RestoreLockInternal(ref lockCookie);
}
/*
* Internal helper that returns TRUE if the reader lock is held
* by the current thread
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern bool PrivateGetIsReaderLockHeld();
/*
* Internal helper that returns TRUE if the writer lock is held
* by the current thread
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private extern bool PrivateGetIsWriterLockHeld();
/*
* Internal helper that returns the current writer sequence
* number. The caller should be a reader or writer for getting
* meaningful results
*/
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern int PrivateGetWriterSeqNum();
/*
* Returns true if there were intermediate writes since the
* sequence number was obtained. The caller should be
* a reader or writer for getting meaningful results
*/
[System.Security.SecuritySafeCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public extern bool AnyWritersSince(int seqNum);
// Initialize state kept inside the lock
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void PrivateInitialize();
// Destruct resource associated with the lock
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern void PrivateDestruct();
// State
#pragma warning disable 169
#pragma warning disable 414 // These fields are not used from managed.
private IntPtr _hWriterEvent;
private IntPtr _hReaderEvent;
private IntPtr _hObjectHandle;
private int _dwState = 0;
private int _dwULockID = 0;
private int _dwLLockID = 0;
private int _dwWriterID = 0;
private int _dwWriterSeqNum = 0;
private short _wWriterLevel;
#if RWLOCK_STATISTICS
// WARNING: You must explicitly #define RWLOCK_STATISTICS when you
// build in both the VM and BCL directories if you want this.
private int _dwReaderEntryCount = 0;
private int _dwReaderContentionCount = 0;
private int _dwWriterEntryCount = 0;
private int _dwWriterContentionCount = 0;
private int _dwEventsReleasedCount = 0;
#endif // RWLOCK_STATISTICS
#pragma warning restore 414
#pragma warning restore 169
}
}
#endif //FEATURE_RWLOCK
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AttributeEmitter.cs
- TextServicesDisplayAttribute.cs
- RowSpanVector.cs
- DeviceSpecificChoice.cs
- SqlLiftWhereClauses.cs
- EntityKey.cs
- PropertyChangedEventManager.cs
- ThreadStartException.cs
- AutoScrollExpandMessageFilter.cs
- AspNetHostingPermission.cs
- PrintDocument.cs
- Util.cs
- PagerSettings.cs
- EastAsianLunisolarCalendar.cs
- HandleExceptionArgs.cs
- TreeBuilderBamlTranslator.cs
- SQLByte.cs
- ObjectCloneHelper.cs
- DocumentGridContextMenu.cs
- SimpleTextLine.cs
- InternalPermissions.cs
- SafeHandles.cs
- BitmapFrame.cs
- StylusSystemGestureEventArgs.cs
- ModelItemDictionary.cs
- MinMaxParagraphWidth.cs
- IItemProperties.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- EntityDataSourceChangedEventArgs.cs
- EntityProxyFactory.cs
- DataServiceRequest.cs
- GridPatternIdentifiers.cs
- CryptoProvider.cs
- XPathParser.cs
- Types.cs
- SqlProfileProvider.cs
- _OverlappedAsyncResult.cs
- AddressHeader.cs
- MergeFailedEvent.cs
- DBSqlParserColumnCollection.cs
- Misc.cs
- BamlMapTable.cs
- SafeNativeMethodsCLR.cs
- LayoutInformation.cs
- WpfGeneratedKnownProperties.cs
- MenuItemStyle.cs
- DataPagerCommandEventArgs.cs
- ConfigurationElementCollection.cs
- ServiceOperation.cs
- XMLUtil.cs
- CodeCommentStatementCollection.cs
- PriorityQueue.cs
- SystemFonts.cs
- JulianCalendar.cs
- ScrollBar.cs
- FormsAuthenticationEventArgs.cs
- EngineSite.cs
- ExpandedWrapper.cs
- ListChangedEventArgs.cs
- XmlSchemaExternal.cs
- HiddenField.cs
- DbConnectionPoolGroup.cs
- _ListenerRequestStream.cs
- SectionXmlInfo.cs
- CreateUserWizard.cs
- AdornedElementPlaceholder.cs
- MetadataArtifactLoader.cs
- ControlBindingsCollection.cs
- Block.cs
- InstallerTypeAttribute.cs
- DesignerTransaction.cs
- ProtectedConfiguration.cs
- CacheModeConverter.cs
- MultipartIdentifier.cs
- TextEvent.cs
- CellTreeSimplifier.cs
- EntityDataSourceWizardForm.cs
- CqlParserHelpers.cs
- Renderer.cs
- Line.cs
- SQLString.cs
- Error.cs
- Int16AnimationUsingKeyFrames.cs
- UntypedNullExpression.cs
- ConsoleTraceListener.cs
- SmtpNetworkElement.cs
- RuntimeCompatibilityAttribute.cs
- InvokeMemberBinder.cs
- SchemaRegistration.cs
- WebServiceTypeData.cs
- Message.cs
- ControlUtil.cs
- Stackframe.cs
- SchemaImporterExtensionElement.cs
- RegexCompiler.cs
- TargetInvocationException.cs
- ReadOnlyDictionary.cs
- SharedPerformanceCounter.cs
- __ComObject.cs
- ScriptingAuthenticationServiceSection.cs