Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / NetworkInformation / TeredoHelper.cs / 1305376 / TeredoHelper.cs
using System.Collections.Generic; using System.ComponentModel; using System.Net.Sockets; using System.Runtime.InteropServices; using System.Security; using System.Threading; namespace System.Net.NetworkInformation { // This class wraps the native API NotifyStableUnicastIpAddressTable. The native function's behavior is: // // 1. If the address table is already stable, it returns ERROR_SUCCESS and a Mib table handle that we must free. // The passed-in callback will never be called, and the cancelHandle is set to NULL. // // 2. If the address table is not stable, it returns ERROR_IO_PENDING. The table handle is set to NULL, // and the cancelHandle is set to a valid handle. The callback will be called (on a native threadpool thread) // EVERY TIME the address table becomes stable until CancelMibChangeNotify2 is called on the cancelHandle // (via cancelHandle.Dispose()). // // CancelMibChangeNotify2 guarantees that, by the time it returns, all calls to the callback will be complete // and that no new calls to the callback will be issued. // // The major concerns of the class are: 1) making sure none of the managed objects needed to handle a native // callback are GC'd before the callback, and 2) making sure no native callbacks will try to call into an unloaded // AppDomain. [SuppressUnmanagedCodeSecurity] internal class TeredoHelper { // Holds a list of all pending calls to NotifyStableUnicastIpAddressTable. Also used as a lock to protect its // contents and impendingAppDomainUnload. private static ListpendingNotifications; // Flag that gets set when an AppDomain unload is imminent. When this is set, no more calls to // NotifyStableUnicastIpAddressTable are allowed. private static bool impendingAppDomainUnload; private readonly Action
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EncodingTable.cs
- GridViewSelectEventArgs.cs
- FormatConvertedBitmap.cs
- StructuredTypeInfo.cs
- WebPartManagerInternals.cs
- SecurityCriticalDataForSet.cs
- UserControl.cs
- KnownBoxes.cs
- KeyValueConfigurationElement.cs
- DoubleCollectionConverter.cs
- GlobalProxySelection.cs
- ExpressionTextBox.xaml.cs
- SimpleLine.cs
- LicenseException.cs
- ScopelessEnumAttribute.cs
- HitTestParameters.cs
- Attributes.cs
- SQLBytes.cs
- DataGridViewEditingControlShowingEventArgs.cs
- XmlAnyAttributeAttribute.cs
- COM2PropertyDescriptor.cs
- SR.cs
- UIPropertyMetadata.cs
- DiffuseMaterial.cs
- ArglessEventHandlerProxy.cs
- XsltArgumentList.cs
- ContentWrapperAttribute.cs
- CombinedGeometry.cs
- InternalBufferOverflowException.cs
- XhtmlStyleClass.cs
- InternalMappingException.cs
- KeyGestureValueSerializer.cs
- ElementFactory.cs
- InvalidOleVariantTypeException.cs
- RectValueSerializer.cs
- BasicHttpBindingCollectionElement.cs
- QueryOutputWriter.cs
- HttpRequestCacheValidator.cs
- EventMap.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DataViewListener.cs
- NetDispatcherFaultException.cs
- BroadcastEventHelper.cs
- ParseElementCollection.cs
- MenuItem.cs
- SlipBehavior.cs
- ParserOptions.cs
- CreateRefExpr.cs
- HtmlTableRowCollection.cs
- PropertyIDSet.cs
- TextLine.cs
- RelationHandler.cs
- Baml6Assembly.cs
- ResXDataNode.cs
- ClientTargetCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- Wizard.cs
- CachedRequestParams.cs
- Subtree.cs
- Queue.cs
- Completion.cs
- ImageCodecInfoPrivate.cs
- FormsAuthenticationModule.cs
- MethodRental.cs
- ApplicationManager.cs
- DataRelation.cs
- EFAssociationProvider.cs
- FileUpload.cs
- TextTreePropertyUndoUnit.cs
- CoTaskMemHandle.cs
- BackStopAuthenticationModule.cs
- SecurityTokenAuthenticator.cs
- XamlParser.cs
- ObjectCloneHelper.cs
- ServicePoint.cs
- PathData.cs
- FieldAccessException.cs
- SecurityTokenAuthenticator.cs
- ClassHandlersStore.cs
- AxHost.cs
- OleDbSchemaGuid.cs
- SqlTriggerContext.cs
- LogLogRecord.cs
- XmlTypeAttribute.cs
- PartialList.cs
- TemplateComponentConnector.cs
- HtmlInputImage.cs
- DrawingAttributes.cs
- IImplicitResourceProvider.cs
- RootProfilePropertySettingsCollection.cs
- File.cs
- NavigationExpr.cs
- UpdateException.cs
- URLString.cs
- FormatterServices.cs
- TemplateBindingExtensionConverter.cs
- BindingList.cs
- Expressions.cs
- Attribute.cs
- precedingquery.cs