Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Runtime / InteropServices / ExtensibleClassFactory.cs / 1 / ExtensibleClassFactory.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ExtensibleClassFactory ** ** ** Purpose: Methods used to customize the creation of managed objects that ** extend from unmanaged objects. ** ** =============================================================================*/ namespace System.Runtime.InteropServices { using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.CompilerServices; using System; [System.Runtime.InteropServices.ComVisible(true)] public sealed class ExtensibleClassFactory { // Prevent instantiation. private ExtensibleClassFactory() {} // Register a delegate that will be called whenever an instance of a managed // type that extends from an unmanaged type needs to allocate the aggregated // unmanaged object. This delegate is expected to allocate and aggregate the // unmanaged object and is called in place of a CoCreateInstance. This // routine must be called in the context of the static initializer for the // class for which the callbacks will be made. // It is not legal to register this callback from a class that has any // parents that have already registered a callback. [MethodImplAttribute(MethodImplOptions.InternalCall)] public static extern void RegisterObjectCreationCallback(ObjectCreationDelegate callback); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ExtensibleClassFactory ** ** ** Purpose: Methods used to customize the creation of managed objects that ** extend from unmanaged objects. ** ** =============================================================================*/ namespace System.Runtime.InteropServices { using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.CompilerServices; using System; [System.Runtime.InteropServices.ComVisible(true)] public sealed class ExtensibleClassFactory { // Prevent instantiation. private ExtensibleClassFactory() {} // Register a delegate that will be called whenever an instance of a managed // type that extends from an unmanaged type needs to allocate the aggregated // unmanaged object. This delegate is expected to allocate and aggregate the // unmanaged object and is called in place of a CoCreateInstance. This // routine must be called in the context of the static initializer for the // class for which the callbacks will be made. // It is not legal to register this callback from a class that has any // parents that have already registered a callback. [MethodImplAttribute(MethodImplOptions.InternalCall)] public static extern void RegisterObjectCreationCallback(ObjectCreationDelegate callback); } } // 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
- TransformPattern.cs
- TemplateInstanceAttribute.cs
- HandlerBase.cs
- ModulesEntry.cs
- assemblycache.cs
- UnwrappedTypesXmlSerializerManager.cs
- UIElement3D.cs
- XmlCharType.cs
- XmlSchemaObjectCollection.cs
- Helpers.cs
- Identity.cs
- XmlSchemaObject.cs
- InvokeGenerator.cs
- InstanceNotFoundException.cs
- DbException.cs
- EntityModelBuildProvider.cs
- ThreadSafeList.cs
- KnownBoxes.cs
- SystemResourceHost.cs
- EditorZoneBase.cs
- WebConvert.cs
- ManipulationPivot.cs
- CompareValidator.cs
- SiteMapNode.cs
- TrackingProfileCache.cs
- RequestCachePolicyConverter.cs
- HorizontalAlignConverter.cs
- EncodingTable.cs
- SamlDoNotCacheCondition.cs
- Random.cs
- Menu.cs
- MetadataArtifactLoaderFile.cs
- configsystem.cs
- PixelFormats.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- __Filters.cs
- COM2Enum.cs
- EntityDataSourceColumn.cs
- StoryFragments.cs
- MetafileHeaderWmf.cs
- ParallelTimeline.cs
- IndentTextWriter.cs
- safex509handles.cs
- DragAssistanceManager.cs
- VarRefManager.cs
- ScriptingScriptResourceHandlerSection.cs
- HtmlAnchor.cs
- OleCmdHelper.cs
- FrameworkPropertyMetadata.cs
- FixUp.cs
- ReachPageContentCollectionSerializerAsync.cs
- EditingMode.cs
- QueryContinueDragEventArgs.cs
- XPathBinder.cs
- WindowsListViewSubItem.cs
- DllNotFoundException.cs
- StreamGeometry.cs
- SecurityElement.cs
- EntityWrapper.cs
- Simplifier.cs
- OptimalBreakSession.cs
- WebPartConnectVerb.cs
- CodeDefaultValueExpression.cs
- Debug.cs
- ProfileInfo.cs
- MouseEvent.cs
- InputScope.cs
- CodeAssignStatement.cs
- SafeFileMappingHandle.cs
- DynamicUpdateCommand.cs
- indexingfiltermarshaler.cs
- RegexCapture.cs
- InputLangChangeEvent.cs
- ColumnWidthChangedEvent.cs
- CodeSubDirectoriesCollection.cs
- InternalsVisibleToAttribute.cs
- StyleXamlTreeBuilder.cs
- SqlDataSourceWizardForm.cs
- Table.cs
- RandomNumberGenerator.cs
- GeneralTransform3DGroup.cs
- TextServicesContext.cs
- FrameworkElement.cs
- EventDescriptorCollection.cs
- XmlDataProvider.cs
- DesignerSerializationManager.cs
- DataGridViewButtonColumn.cs
- ChangePassword.cs
- HtmlAnchor.cs
- DBSchemaRow.cs
- Rijndael.cs
- PrintController.cs
- CalendarSelectionChangedEventArgs.cs
- DbConnectionPoolGroupProviderInfo.cs
- SessionStateContainer.cs
- AttributeEmitter.cs
- Model3D.cs
- TemplateBuilder.cs
- StaticTextPointer.cs
- TemplateParser.cs