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
- RelationshipFixer.cs
- SimpleType.cs
- safelinkcollection.cs
- DynamicPropertyReader.cs
- CodeDirectionExpression.cs
- UIElement.cs
- PropertyMetadata.cs
- ProcessModule.cs
- TextHidden.cs
- GuidelineSet.cs
- LinqDataSourceInsertEventArgs.cs
- PersonalizableTypeEntry.cs
- XappLauncher.cs
- Pair.cs
- PropertiesTab.cs
- HttpDebugHandler.cs
- TreeChangeInfo.cs
- TiffBitmapDecoder.cs
- PropertyInfoSet.cs
- ReplacementText.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- ChtmlTextWriter.cs
- BrushConverter.cs
- RegexInterpreter.cs
- CancelEventArgs.cs
- ClientScriptManagerWrapper.cs
- DataIdProcessor.cs
- ListBase.cs
- CheckBoxRenderer.cs
- Button.cs
- StreamReader.cs
- NavigationPropertyEmitter.cs
- IFlowDocumentViewer.cs
- ExtentJoinTreeNode.cs
- DataGridViewRowsAddedEventArgs.cs
- TransformConverter.cs
- RootBuilder.cs
- HelpPage.cs
- WorkflowViewStateService.cs
- LongAverageAggregationOperator.cs
- PersianCalendar.cs
- DataGridColumnCollection.cs
- TreeView.cs
- MemberJoinTreeNode.cs
- SequentialOutput.cs
- TargetControlTypeCache.cs
- DataPagerFieldItem.cs
- bindurihelper.cs
- DataGridViewLinkCell.cs
- ToolStripDropTargetManager.cs
- ResolveNameEventArgs.cs
- ReflectEventDescriptor.cs
- FrameworkElementFactory.cs
- _CacheStreams.cs
- InfoCard.cs
- DataRecordInternal.cs
- DiscoveryReferences.cs
- DataGridViewRowConverter.cs
- QuadraticBezierSegment.cs
- TagNameToTypeMapper.cs
- MbpInfo.cs
- ProfilePropertyNameValidator.cs
- LayoutEditorPart.cs
- XPathScanner.cs
- SignatureDescription.cs
- TransformCryptoHandle.cs
- MaterializeFromAtom.cs
- ReadWriteObjectLock.cs
- SpellerInterop.cs
- ValueTypeFixupInfo.cs
- PhonemeEventArgs.cs
- HyperLinkField.cs
- SqlInfoMessageEvent.cs
- SurrogateEncoder.cs
- DirectoryObjectSecurity.cs
- TreeNode.cs
- EntityWrapper.cs
- SqlDataSourceCache.cs
- ValidatorCompatibilityHelper.cs
- WindowsListViewItemCheckBox.cs
- HtmlImage.cs
- WinInet.cs
- SerializationHelper.cs
- DataGridCommandEventArgs.cs
- VectorAnimationBase.cs
- GenericRootAutomationPeer.cs
- XmlILStorageConverter.cs
- EventMappingSettingsCollection.cs
- SpeechSeg.cs
- PageCodeDomTreeGenerator.cs
- ObfuscateAssemblyAttribute.cs
- SecurityElement.cs
- SystemGatewayIPAddressInformation.cs
- StylusPointCollection.cs
- DataGridViewLinkColumn.cs
- Operand.cs
- NullPackagingPolicy.cs
- SoapCodeExporter.cs
- Int32KeyFrameCollection.cs
- xmlfixedPageInfo.cs