Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / NetworkInformation / SystemNetworkInterface.cs / 1 / SystemNetworkInterface.cs
////// namespace System.Net.NetworkInformation { using System.Threading; using System.Net; using System.Net.Sockets; using System; using System.Runtime.InteropServices; using System.Collections; using System.ComponentModel; using System.Security.Permissions; using Microsoft.Win32; [Flags] internal enum IPVersion { None = 0, IPv4 = 1, IPv6 = 2 } internal class SystemNetworkInterface:NetworkInterface { //common properties string name; string id; string description; byte[] physicalAddress; uint addressLength; NetworkInterfaceType type; OperationalStatus operStatus; long speed; //Unfortunately, any interface can //have two completely different valid indexes for ipv4 and ipv6 internal uint index = 0; internal uint ipv6Index = 0; AdapterFlags adapterFlags; //ipv4 only // SystemIPInterfaceProperties interfaceProperties = null; private SystemNetworkInterface(){} //methods /// /// Provides support for ip configuation information and statistics. /// /// Gets the network interfaces local to the machine. /// If the machine is >= XP, we call the native GetAdaptersAddresses api to prepopulate all of the interface /// instances and most of their associated information. Otherwise, GetAdaptersInfo is called. /// //this returns both ipv4 and ipv6 interfaces internal static NetworkInterface[] GetNetworkInterfaces(){ return GetNetworkInterfaces(0); } internal static int InternalLoopbackInterfaceIndex{ get{ int index; int error = (int)UnsafeNetInfoNativeMethods.GetBestInterface(0x100007F,out index); if (error != 0) { throw new NetworkInformationException(error); } return index; } } internal static bool InternalGetIsNetworkAvailable(){ if(ComNetOS.IsWinNt){ NetworkInterface[] networkInterfaces = GetNetworkInterfaces(); foreach (NetworkInterface netInterface in networkInterfaces) { if(netInterface.OperationalStatus == OperationalStatus.Up && netInterface.NetworkInterfaceType != NetworkInterfaceType.Tunnel && netInterface.NetworkInterfaceType != NetworkInterfaceType.Loopback){ return true; } } } else{ uint flags=0; return UnsafeWinINetNativeMethods.InternetGetConnectedState (ref flags, 0); } return false; } //address family specific private static NetworkInterface[] GetNetworkInterfaces(AddressFamily family){ IpHelperErrors.CheckFamilyUnspecified(family); //uses GetAdapterAddresses if os >= winxp if (ComNetOS.IsPostWin2K) { return PostWin2KGetNetworkInterfaces(family); } // os < winxp //make sure we are only looking for ipv4 FixedInfo fixedInfo = SystemIPGlobalProperties.GetFixedInfo(); if (family != 0 && family!= AddressFamily.InterNetwork) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); SafeLocalFree buffer = null; uint size = 0; IpAdapterInfo info; ArrayList interfaceList = new ArrayList(); //figure out the size of the buffer we need uint result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(SafeLocalFree.Zero,ref size); while (result == IpHelperErrors.ErrorBufferOverflow) { try { //now get the adapter info and populate the network interface objects. buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(buffer,ref size); if ( result == IpHelperErrors.Success ) { info = (IpAdapterInfo)Marshal.PtrToStructure(buffer.DangerousGetHandle(),typeof(IpAdapterInfo)); interfaceList.Add( new SystemNetworkInterface(fixedInfo,info)); while(info.Next != IntPtr.Zero) { info = (IpAdapterInfo)Marshal.PtrToStructure(info.Next,typeof(IpAdapterInfo)); interfaceList.Add( new SystemNetworkInterface(fixedInfo,info)); } } } finally { if (buffer != null) buffer.Close(); } } // if we don't have any interfaces detected, return empty. if (result == IpHelperErrors.ErrorNoData) return new SystemNetworkInterface[0]; //otherwise we throw on an error if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } // create the array of interfaces to return SystemNetworkInterface[] networkInterfaces = new SystemNetworkInterface[interfaceList.Count]; for ( int i = 0; i < interfaceList.Count; ++i ) { networkInterfaces[i] = (SystemNetworkInterface)interfaceList[i]; } return networkInterfaces; } private static SystemNetworkInterface[] GetAdaptersAddresses(AddressFamily family, FixedInfo fixedInfo) { uint size = 0; SafeLocalFree buffer = null; ArrayList interfaceList = new ArrayList(); SystemNetworkInterface[] networkInterfaces = null; //get each adapter's info //get the size of the buffer required uint result = UnsafeNetInfoNativeMethods.GetAdaptersAddresses(family,0,IntPtr.Zero,SafeLocalFree.Zero,ref size); while (result == IpHelperErrors.ErrorBufferOverflow) { try { //allocate the buffer and get the adapter info buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersAddresses(family,0,IntPtr.Zero,buffer,ref size); //if succeeded, we're going to add each new interface if ( result == IpHelperErrors.Success) { //get the first adapter // we don't know the number of interfaces until we've // actually marshalled all of them IpAdapterAddresses adapterAddresses = (IpAdapterAddresses)Marshal.PtrToStructure(buffer.DangerousGetHandle(),typeof(IpAdapterAddresses)); interfaceList.Add(new SystemNetworkInterface(fixedInfo,adapterAddresses)); //get the rest while(adapterAddresses.next != IntPtr.Zero) { adapterAddresses = (IpAdapterAddresses)Marshal.PtrToStructure(adapterAddresses.next,typeof(IpAdapterAddresses)); interfaceList.Add(new SystemNetworkInterface(fixedInfo,adapterAddresses)); } } } finally { if (buffer != null) buffer.Close(); buffer = null; } } // if we don't have any interfaces detected, return empty. if (result == IpHelperErrors.ErrorNoData || result == IpHelperErrors.ErrorInvalidParameter) return new SystemNetworkInterface[0]; //otherwise we throw on an error if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } // create the array of interfaces to return networkInterfaces = new SystemNetworkInterface[interfaceList.Count]; for ( int i = 0; i < interfaceList.Count; ++i ) { networkInterfaces[i] = (SystemNetworkInterface)interfaceList[i]; } return networkInterfaces; } private static SystemNetworkInterface[] PostWin2KGetNetworkInterfaces(AddressFamily family) { FixedInfo fixedInfo = SystemIPGlobalProperties.GetFixedInfo(); SystemNetworkInterface[] networkInterfaces = null; while (true) { try { networkInterfaces = GetAdaptersAddresses(family, fixedInfo); break; } catch (NetworkInformationException exception) { if (exception.ErrorCode != IpHelperErrors.ErrorInvalidFunction) throw; } } if (!Socket.SupportsIPv4) // Only if IPv4 is supported continue below { return networkInterfaces; } //GetAdapterAddresses doesn't currently include all of the possible //ipv4 information, so we need to call GetAdaptersInfo to populate // the rest of the fields. uint size = 0; uint result = 0; SafeLocalFree buffer = null; if (family == 0 || family == AddressFamily.InterNetwork) { //figure out the size of the buffer we need result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(SafeLocalFree.Zero,ref size); int failedUpdateCount = 0; //now use GetAdaptersInfo and update the network interface objects w/ the information // missing in GetAdaptersAddresses. while (result == IpHelperErrors.ErrorBufferOverflow) { try { buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(buffer,ref size); //basically, we get the additional adapterinfo for each ipv4 adapter and //call update on the interface if ( result == IpHelperErrors.Success ){ IntPtr myPtr = buffer.DangerousGetHandle(); bool success = false; while (myPtr != IntPtr.Zero) { IpAdapterInfo info = (IpAdapterInfo)Marshal.PtrToStructure(myPtr, typeof(IpAdapterInfo)); for (int i = 0; i < networkInterfaces.Length; i++) { if (networkInterfaces[i] != null) { if (info.index == networkInterfaces[i].index) { success = networkInterfaces[i].interfaceProperties.Update(fixedInfo, info); if (!success) { networkInterfaces[i] = null; failedUpdateCount++; } break; } } } myPtr = info.Next; } } } finally { if (buffer != null) buffer.Close(); } } if (failedUpdateCount != 0) { SystemNetworkInterface[] newNetworkInterfaces = new SystemNetworkInterface[networkInterfaces.Length-failedUpdateCount]; int newArrayIndex = 0; for (int i=0; i < networkInterfaces.Length; i++) { if (networkInterfaces[i] != null) newNetworkInterfaces[newArrayIndex++] = networkInterfaces[i]; } networkInterfaces = newNetworkInterfaces; } } // if we don't have any ipv4 interfaces detected, just continue if (result != IpHelperErrors.Success && result != IpHelperErrors.ErrorNoData) { throw new NetworkInformationException((int)result); } return networkInterfaces; } //This constructor is used only in the OS>=XP case //and uses the GetAdapterAddresses api internal SystemNetworkInterface(FixedInfo fixedInfo, IpAdapterAddresses ipAdapterAddresses) { //store the common api information id = ipAdapterAddresses.AdapterName; name = ipAdapterAddresses.friendlyName; description = ipAdapterAddresses.description; index = ipAdapterAddresses.index; physicalAddress = ipAdapterAddresses.address; addressLength = ipAdapterAddresses.addressLength; type = ipAdapterAddresses.type; operStatus = ipAdapterAddresses.operStatus; //api specific info ipv6Index = ipAdapterAddresses.ipv6Index; adapterFlags = ipAdapterAddresses.flags; interfaceProperties = new SystemIPInterfaceProperties(fixedInfo,ipAdapterAddresses); } //This constructor is used only in the OSpublic override IPv4InterfaceStatistics GetIPv4Statistics(){ return new SystemIPv4InterfaceStatistics(index); } public override bool Supports(NetworkInterfaceComponent networkInterfaceComponent){ if (networkInterfaceComponent == NetworkInterfaceComponent.IPv6 && ipv6Index >0){ return true; } if (networkInterfaceComponent == NetworkInterfaceComponent.IPv4 && index >0){ return true; } return false; } /// Is the interface administratively enabled. //public override bool AdministrationEnabled{get {return false;}} //interface specific property //We cache this to be consistent across all platforms public override OperationalStatus OperationalStatus{ get { return operStatus; } } public override long Speed{ get { if (speed == 0) { SystemIPv4InterfaceStatistics s = new SystemIPv4InterfaceStatistics(index); speed = s.Speed; } return speed; } } ///OS < XP ////// public override bool IsReceiveOnly { get { if (! ComNetOS.IsPostWin2K) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); return ((adapterFlags & AdapterFlags.ReceiveOnly) > 0); } } //throw ifThe interface doesn't allow multicast. /// OS < XP ////// public override bool SupportsMulticast { get { if (! ComNetOS.IsPostWin2K) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); return ((adapterFlags & AdapterFlags.NoMulticast) == 0); } } [RegistryPermission(SecurityAction.Assert, Read="HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}")] private string ReadAdapterName(string id) { RegistryKey key = null; string name = String.Empty; try { string subKey = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\"+id+"\\Connection"; key = Registry.LocalMachine.OpenSubKey(subKey); if (null != key) { name = (string) key.GetValue("Name"); if (name == null ) { name = String.Empty; } } } finally{ if (null != key){ key.Close(); } } return name; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. ////// namespace System.Net.NetworkInformation { using System.Threading; using System.Net; using System.Net.Sockets; using System; using System.Runtime.InteropServices; using System.Collections; using System.ComponentModel; using System.Security.Permissions; using Microsoft.Win32; [Flags] internal enum IPVersion { None = 0, IPv4 = 1, IPv6 = 2 } internal class SystemNetworkInterface:NetworkInterface { //common properties string name; string id; string description; byte[] physicalAddress; uint addressLength; NetworkInterfaceType type; OperationalStatus operStatus; long speed; //Unfortunately, any interface can //have two completely different valid indexes for ipv4 and ipv6 internal uint index = 0; internal uint ipv6Index = 0; AdapterFlags adapterFlags; //ipv4 only // SystemIPInterfaceProperties interfaceProperties = null; private SystemNetworkInterface(){} //methods /// /// Provides support for ip configuation information and statistics. /// /// Gets the network interfaces local to the machine. /// If the machine is >= XP, we call the native GetAdaptersAddresses api to prepopulate all of the interface /// instances and most of their associated information. Otherwise, GetAdaptersInfo is called. /// //this returns both ipv4 and ipv6 interfaces internal static NetworkInterface[] GetNetworkInterfaces(){ return GetNetworkInterfaces(0); } internal static int InternalLoopbackInterfaceIndex{ get{ int index; int error = (int)UnsafeNetInfoNativeMethods.GetBestInterface(0x100007F,out index); if (error != 0) { throw new NetworkInformationException(error); } return index; } } internal static bool InternalGetIsNetworkAvailable(){ if(ComNetOS.IsWinNt){ NetworkInterface[] networkInterfaces = GetNetworkInterfaces(); foreach (NetworkInterface netInterface in networkInterfaces) { if(netInterface.OperationalStatus == OperationalStatus.Up && netInterface.NetworkInterfaceType != NetworkInterfaceType.Tunnel && netInterface.NetworkInterfaceType != NetworkInterfaceType.Loopback){ return true; } } } else{ uint flags=0; return UnsafeWinINetNativeMethods.InternetGetConnectedState (ref flags, 0); } return false; } //address family specific private static NetworkInterface[] GetNetworkInterfaces(AddressFamily family){ IpHelperErrors.CheckFamilyUnspecified(family); //uses GetAdapterAddresses if os >= winxp if (ComNetOS.IsPostWin2K) { return PostWin2KGetNetworkInterfaces(family); } // os < winxp //make sure we are only looking for ipv4 FixedInfo fixedInfo = SystemIPGlobalProperties.GetFixedInfo(); if (family != 0 && family!= AddressFamily.InterNetwork) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); SafeLocalFree buffer = null; uint size = 0; IpAdapterInfo info; ArrayList interfaceList = new ArrayList(); //figure out the size of the buffer we need uint result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(SafeLocalFree.Zero,ref size); while (result == IpHelperErrors.ErrorBufferOverflow) { try { //now get the adapter info and populate the network interface objects. buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(buffer,ref size); if ( result == IpHelperErrors.Success ) { info = (IpAdapterInfo)Marshal.PtrToStructure(buffer.DangerousGetHandle(),typeof(IpAdapterInfo)); interfaceList.Add( new SystemNetworkInterface(fixedInfo,info)); while(info.Next != IntPtr.Zero) { info = (IpAdapterInfo)Marshal.PtrToStructure(info.Next,typeof(IpAdapterInfo)); interfaceList.Add( new SystemNetworkInterface(fixedInfo,info)); } } } finally { if (buffer != null) buffer.Close(); } } // if we don't have any interfaces detected, return empty. if (result == IpHelperErrors.ErrorNoData) return new SystemNetworkInterface[0]; //otherwise we throw on an error if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } // create the array of interfaces to return SystemNetworkInterface[] networkInterfaces = new SystemNetworkInterface[interfaceList.Count]; for ( int i = 0; i < interfaceList.Count; ++i ) { networkInterfaces[i] = (SystemNetworkInterface)interfaceList[i]; } return networkInterfaces; } private static SystemNetworkInterface[] GetAdaptersAddresses(AddressFamily family, FixedInfo fixedInfo) { uint size = 0; SafeLocalFree buffer = null; ArrayList interfaceList = new ArrayList(); SystemNetworkInterface[] networkInterfaces = null; //get each adapter's info //get the size of the buffer required uint result = UnsafeNetInfoNativeMethods.GetAdaptersAddresses(family,0,IntPtr.Zero,SafeLocalFree.Zero,ref size); while (result == IpHelperErrors.ErrorBufferOverflow) { try { //allocate the buffer and get the adapter info buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersAddresses(family,0,IntPtr.Zero,buffer,ref size); //if succeeded, we're going to add each new interface if ( result == IpHelperErrors.Success) { //get the first adapter // we don't know the number of interfaces until we've // actually marshalled all of them IpAdapterAddresses adapterAddresses = (IpAdapterAddresses)Marshal.PtrToStructure(buffer.DangerousGetHandle(),typeof(IpAdapterAddresses)); interfaceList.Add(new SystemNetworkInterface(fixedInfo,adapterAddresses)); //get the rest while(adapterAddresses.next != IntPtr.Zero) { adapterAddresses = (IpAdapterAddresses)Marshal.PtrToStructure(adapterAddresses.next,typeof(IpAdapterAddresses)); interfaceList.Add(new SystemNetworkInterface(fixedInfo,adapterAddresses)); } } } finally { if (buffer != null) buffer.Close(); buffer = null; } } // if we don't have any interfaces detected, return empty. if (result == IpHelperErrors.ErrorNoData || result == IpHelperErrors.ErrorInvalidParameter) return new SystemNetworkInterface[0]; //otherwise we throw on an error if (result != IpHelperErrors.Success) { throw new NetworkInformationException((int)result); } // create the array of interfaces to return networkInterfaces = new SystemNetworkInterface[interfaceList.Count]; for ( int i = 0; i < interfaceList.Count; ++i ) { networkInterfaces[i] = (SystemNetworkInterface)interfaceList[i]; } return networkInterfaces; } private static SystemNetworkInterface[] PostWin2KGetNetworkInterfaces(AddressFamily family) { FixedInfo fixedInfo = SystemIPGlobalProperties.GetFixedInfo(); SystemNetworkInterface[] networkInterfaces = null; while (true) { try { networkInterfaces = GetAdaptersAddresses(family, fixedInfo); break; } catch (NetworkInformationException exception) { if (exception.ErrorCode != IpHelperErrors.ErrorInvalidFunction) throw; } } if (!Socket.SupportsIPv4) // Only if IPv4 is supported continue below { return networkInterfaces; } //GetAdapterAddresses doesn't currently include all of the possible //ipv4 information, so we need to call GetAdaptersInfo to populate // the rest of the fields. uint size = 0; uint result = 0; SafeLocalFree buffer = null; if (family == 0 || family == AddressFamily.InterNetwork) { //figure out the size of the buffer we need result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(SafeLocalFree.Zero,ref size); int failedUpdateCount = 0; //now use GetAdaptersInfo and update the network interface objects w/ the information // missing in GetAdaptersAddresses. while (result == IpHelperErrors.ErrorBufferOverflow) { try { buffer = SafeLocalFree.LocalAlloc((int)size); result = UnsafeNetInfoNativeMethods.GetAdaptersInfo(buffer,ref size); //basically, we get the additional adapterinfo for each ipv4 adapter and //call update on the interface if ( result == IpHelperErrors.Success ){ IntPtr myPtr = buffer.DangerousGetHandle(); bool success = false; while (myPtr != IntPtr.Zero) { IpAdapterInfo info = (IpAdapterInfo)Marshal.PtrToStructure(myPtr, typeof(IpAdapterInfo)); for (int i = 0; i < networkInterfaces.Length; i++) { if (networkInterfaces[i] != null) { if (info.index == networkInterfaces[i].index) { success = networkInterfaces[i].interfaceProperties.Update(fixedInfo, info); if (!success) { networkInterfaces[i] = null; failedUpdateCount++; } break; } } } myPtr = info.Next; } } } finally { if (buffer != null) buffer.Close(); } } if (failedUpdateCount != 0) { SystemNetworkInterface[] newNetworkInterfaces = new SystemNetworkInterface[networkInterfaces.Length-failedUpdateCount]; int newArrayIndex = 0; for (int i=0; i < networkInterfaces.Length; i++) { if (networkInterfaces[i] != null) newNetworkInterfaces[newArrayIndex++] = networkInterfaces[i]; } networkInterfaces = newNetworkInterfaces; } } // if we don't have any ipv4 interfaces detected, just continue if (result != IpHelperErrors.Success && result != IpHelperErrors.ErrorNoData) { throw new NetworkInformationException((int)result); } return networkInterfaces; } //This constructor is used only in the OS>=XP case //and uses the GetAdapterAddresses api internal SystemNetworkInterface(FixedInfo fixedInfo, IpAdapterAddresses ipAdapterAddresses) { //store the common api information id = ipAdapterAddresses.AdapterName; name = ipAdapterAddresses.friendlyName; description = ipAdapterAddresses.description; index = ipAdapterAddresses.index; physicalAddress = ipAdapterAddresses.address; addressLength = ipAdapterAddresses.addressLength; type = ipAdapterAddresses.type; operStatus = ipAdapterAddresses.operStatus; //api specific info ipv6Index = ipAdapterAddresses.ipv6Index; adapterFlags = ipAdapterAddresses.flags; interfaceProperties = new SystemIPInterfaceProperties(fixedInfo,ipAdapterAddresses); } //This constructor is used only in the OSpublic override IPv4InterfaceStatistics GetIPv4Statistics(){ return new SystemIPv4InterfaceStatistics(index); } public override bool Supports(NetworkInterfaceComponent networkInterfaceComponent){ if (networkInterfaceComponent == NetworkInterfaceComponent.IPv6 && ipv6Index >0){ return true; } if (networkInterfaceComponent == NetworkInterfaceComponent.IPv4 && index >0){ return true; } return false; } /// Is the interface administratively enabled. //public override bool AdministrationEnabled{get {return false;}} //interface specific property //We cache this to be consistent across all platforms public override OperationalStatus OperationalStatus{ get { return operStatus; } } public override long Speed{ get { if (speed == 0) { SystemIPv4InterfaceStatistics s = new SystemIPv4InterfaceStatistics(index); speed = s.Speed; } return speed; } } ///OS < XP ////// public override bool IsReceiveOnly { get { if (! ComNetOS.IsPostWin2K) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); return ((adapterFlags & AdapterFlags.ReceiveOnly) > 0); } } //throw ifThe interface doesn't allow multicast. /// OS < XP ////// public override bool SupportsMulticast { get { if (! ComNetOS.IsPostWin2K) throw new PlatformNotSupportedException(SR.GetString(SR.WinXPRequired)); return ((adapterFlags & AdapterFlags.NoMulticast) == 0); } } [RegistryPermission(SecurityAction.Assert, Read="HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}")] private string ReadAdapterName(string id) { RegistryKey key = null; string name = String.Empty; try { string subKey = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\"+id+"\\Connection"; key = Registry.LocalMachine.OpenSubKey(subKey); if (null != key) { name = (string) key.GetValue("Name"); if (name == null ) { name = String.Empty; } } } finally{ if (null != key){ key.Close(); } } return name; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SQLBoolean.cs
- ResizingMessageFilter.cs
- ConnectionProviderAttribute.cs
- DataSvcMapFileSerializer.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DoubleConverter.cs
- ObjectQueryExecutionPlan.cs
- AnnotationAdorner.cs
- HighContrastHelper.cs
- WindowsGraphics2.cs
- MobileErrorInfo.cs
- RoleManagerEventArgs.cs
- ToolStripDropTargetManager.cs
- TemplatePagerField.cs
- BooleanConverter.cs
- OracleFactory.cs
- HostVisual.cs
- CompilerHelpers.cs
- DefaultAuthorizationContext.cs
- ContractComponent.cs
- PersistNameAttribute.cs
- UrlAuthorizationModule.cs
- SkewTransform.cs
- XamlInt32CollectionSerializer.cs
- DesignerRegionCollection.cs
- DataColumnPropertyDescriptor.cs
- StorageEndPropertyMapping.cs
- httpapplicationstate.cs
- HttpFileCollection.cs
- ContentType.cs
- NameSpaceExtractor.cs
- SessionSwitchEventArgs.cs
- RequestChannelBinder.cs
- TemplateParser.cs
- LayoutExceptionEventArgs.cs
- BindStream.cs
- UpdateCommand.cs
- ToolStripDropDownClosingEventArgs.cs
- FocusChangedEventArgs.cs
- LineGeometry.cs
- ArgumentException.cs
- IIS7WorkerRequest.cs
- FolderLevelBuildProvider.cs
- PropertyIDSet.cs
- SupportingTokenAuthenticatorSpecification.cs
- SqlDataSourceFilteringEventArgs.cs
- SecurityContextCookieSerializer.cs
- VisualStyleTypesAndProperties.cs
- ServiceReference.cs
- ETagAttribute.cs
- RequestContext.cs
- FacetChecker.cs
- shaperfactoryquerycacheentry.cs
- ListViewItemEventArgs.cs
- TextRangeProviderWrapper.cs
- ConfigurationSettings.cs
- ListView.cs
- StringWriter.cs
- EventMappingSettingsCollection.cs
- ProxyWebPart.cs
- ElementHostAutomationPeer.cs
- XamlVector3DCollectionSerializer.cs
- RuleElement.cs
- OdbcDataAdapter.cs
- ReverseInheritProperty.cs
- CompModSwitches.cs
- Menu.cs
- DataGridTextBoxColumn.cs
- OracleDataAdapter.cs
- DataServiceBehavior.cs
- OdbcEnvironment.cs
- ByteConverter.cs
- StructuredType.cs
- DateTimeOffset.cs
- XmlC14NWriter.cs
- Predicate.cs
- VerticalAlignConverter.cs
- ResourceDefaultValueAttribute.cs
- Codec.cs
- EncryptedKey.cs
- InvalidCastException.cs
- TextServicesContext.cs
- ButtonBaseAutomationPeer.cs
- SchemaCollectionPreprocessor.cs
- XmlSchemaSubstitutionGroup.cs
- SystemResourceHost.cs
- Enlistment.cs
- InternalBase.cs
- ToolStripPanel.cs
- ProfileSettings.cs
- CharacterShapingProperties.cs
- ConfigurationStrings.cs
- TrustLevel.cs
- StreamGeometry.cs
- MatrixConverter.cs
- ZipPackagePart.cs
- ModulesEntry.cs
- TextTreeDeleteContentUndoUnit.cs
- X509IssuerSerialKeyIdentifierClause.cs
- NameTable.cs