Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- SectionInput.cs
- FilteredReadOnlyMetadataCollection.cs
- WsdlBuildProvider.cs
- Screen.cs
- NameTable.cs
- TreeViewCancelEvent.cs
- MsmqInputChannel.cs
- DirectoryInfo.cs
- GroupItem.cs
- CheckedListBox.cs
- GlyphInfoList.cs
- SystemThemeKey.cs
- _UriTypeConverter.cs
- StructuredType.cs
- ObjectListDesigner.cs
- StringBuilder.cs
- XPathParser.cs
- TraceSource.cs
- PagedDataSource.cs
- SHA1Cng.cs
- CatalogPart.cs
- BatchParser.cs
- _NetworkingPerfCounters.cs
- CryptoKeySecurity.cs
- Base64Encoder.cs
- SoapObjectReader.cs
- TypeHelpers.cs
- ButtonBase.cs
- ECDiffieHellman.cs
- EntityContainerRelationshipSetEnd.cs
- BaseComponentEditor.cs
- XPathNavigatorReader.cs
- QilScopedVisitor.cs
- InternalConfigHost.cs
- DynamicScriptObject.cs
- TemplateControlBuildProvider.cs
- DataGridItemCollection.cs
- ProfilePropertyNameValidator.cs
- ListViewSortEventArgs.cs
- _Events.cs
- RegexBoyerMoore.cs
- OptimalTextSource.cs
- ParameterCollection.cs
- CaseCqlBlock.cs
- DifferencingCollection.cs
- coordinatorscratchpad.cs
- ObjectDataSource.cs
- VectorCollectionConverter.cs
- QuaternionAnimation.cs
- TextLineResult.cs
- BinaryReader.cs
- ContentPosition.cs
- UshortList2.cs
- StrongNameIdentityPermission.cs
- TextServicesProperty.cs
- nulltextnavigator.cs
- ClearCollection.cs
- EntityContainerEntitySetDefiningQuery.cs
- PersonalizationProviderHelper.cs
- ItemsControl.cs
- Library.cs
- DbParameterHelper.cs
- TextAutomationPeer.cs
- Hex.cs
- GZipDecoder.cs
- HttpTransportSecurity.cs
- QueryConverter.cs
- ResXDataNode.cs
- UnsafeNativeMethodsCLR.cs
- TextCollapsingProperties.cs
- DeclarativeCatalogPart.cs
- AnimationClockResource.cs
- ParagraphResult.cs
- Nullable.cs
- TraceUtility.cs
- CaseInsensitiveComparer.cs
- XmlDataFileEditor.cs
- _SafeNetHandles.cs
- TextStore.cs
- ResourceType.cs
- MaskDesignerDialog.cs
- DragDeltaEventArgs.cs
- NumericPagerField.cs
- DecodeHelper.cs
- XmlSubtreeReader.cs
- OAVariantLib.cs
- StorageConditionPropertyMapping.cs
- CompositeCollectionView.cs
- DataKeyCollection.cs
- FormViewInsertEventArgs.cs
- XmlNodeChangedEventArgs.cs
- LayoutTable.cs
- DiagnosticsConfiguration.cs
- EventDescriptor.cs
- UITypeEditor.cs
- ServiceObjectContainer.cs
- OutputCacheSettingsSection.cs
- WebServiceEnumData.cs
- Geometry3D.cs
- DataSvcMapFile.cs