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
- HttpWebRequestElement.cs
- TextBox.cs
- FilteredReadOnlyMetadataCollection.cs
- SQLDecimalStorage.cs
- FilteredDataSetHelper.cs
- ToolStripManager.cs
- TemplateBamlTreeBuilder.cs
- InvalidWMPVersionException.cs
- ControlTemplate.cs
- TemplateField.cs
- HttpListenerRequest.cs
- VirtualDirectoryMappingCollection.cs
- EntityModelSchemaGenerator.cs
- Size3DValueSerializer.cs
- SchemaImporterExtensionElement.cs
- FontSource.cs
- SystemIcmpV6Statistics.cs
- FieldAccessException.cs
- ReaderWriterLock.cs
- GeneralTransform2DTo3D.cs
- PropertyPathWorker.cs
- CounterCreationDataConverter.cs
- FontResourceCache.cs
- WindowsTitleBar.cs
- TrackingProfileSerializer.cs
- Hyperlink.cs
- SiteMapNodeCollection.cs
- MemberPathMap.cs
- FixedPageAutomationPeer.cs
- SqlPersonalizationProvider.cs
- PrimitiveSchema.cs
- HorizontalAlignConverter.cs
- UnsafeNativeMethods.cs
- C14NUtil.cs
- DocumentEventArgs.cs
- ImageButton.cs
- UInt64.cs
- ThicknessAnimation.cs
- RangeValidator.cs
- EdmProviderManifest.cs
- HotSpot.cs
- hwndwrapper.cs
- Line.cs
- XamlFilter.cs
- CodeExpressionStatement.cs
- ColorConverter.cs
- ProtocolViolationException.cs
- PropertyConverter.cs
- CriticalExceptions.cs
- SmtpMail.cs
- ValueType.cs
- PasswordPropertyTextAttribute.cs
- BindableTemplateBuilder.cs
- AuthenticateEventArgs.cs
- WpfPayload.cs
- TTSEvent.cs
- LoginViewDesigner.cs
- FileDialog.cs
- Tool.cs
- Light.cs
- Calendar.cs
- ProfilePropertySettings.cs
- PointIndependentAnimationStorage.cs
- ProcessModelInfo.cs
- ObjectStateFormatter.cs
- FileUtil.cs
- EventLogPermissionEntryCollection.cs
- MD5.cs
- MimePart.cs
- Keywords.cs
- XmlMtomWriter.cs
- ActivityTypeResolver.xaml.cs
- XmlValidatingReader.cs
- ButtonAutomationPeer.cs
- DrawTreeNodeEventArgs.cs
- XamlStream.cs
- SchemaConstraints.cs
- WebPartZoneCollection.cs
- SrgsToken.cs
- ExceptionUtil.cs
- AmbiguousMatchException.cs
- PersonalizationStateQuery.cs
- Int32AnimationBase.cs
- XmlEventCache.cs
- ConfigViewGenerator.cs
- Polygon.cs
- DataMemberConverter.cs
- ModuleBuilderData.cs
- CookieParameter.cs
- HttpSessionStateWrapper.cs
- SqlWorkflowInstanceStore.cs
- ToolStripItemDataObject.cs
- WebBrowserPermission.cs
- ListViewDataItem.cs
- GeometryHitTestResult.cs
- AtomServiceDocumentSerializer.cs
- EncodingDataItem.cs
- PathData.cs
- FixedPageStructure.cs
- DebugControllerThread.cs