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
- ArglessEventHandlerProxy.cs
- CacheHelper.cs
- ErrorView.xaml.cs
- Base64Stream.cs
- TraceFilter.cs
- UntypedNullExpression.cs
- UndoUnit.cs
- XsltArgumentList.cs
- Adorner.cs
- ZipIOExtraField.cs
- OperationCanceledException.cs
- HtmlShimManager.cs
- PatternMatcher.cs
- ListViewCommandEventArgs.cs
- x509store.cs
- NetPeerTcpBinding.cs
- FileLoadException.cs
- SiteMapDataSourceView.cs
- CredentialCache.cs
- SectionUpdates.cs
- WmfPlaceableFileHeader.cs
- XmlSchemaNotation.cs
- Storyboard.cs
- GenerateTemporaryTargetAssembly.cs
- SelectManyQueryOperator.cs
- UnsafeNativeMethods.cs
- DataContext.cs
- AddInToken.cs
- TextEditorLists.cs
- ScriptComponentDescriptor.cs
- AuditLog.cs
- GlyphRunDrawing.cs
- FtpCachePolicyElement.cs
- GuidTagList.cs
- ReadOnlyCollection.cs
- Path.cs
- ConstraintManager.cs
- HyperLink.cs
- ConcurrencyBehavior.cs
- WebReferenceOptions.cs
- SiblingIterators.cs
- TextRangeSerialization.cs
- HostedTransportConfigurationBase.cs
- ToolboxCategoryItems.cs
- AutomationPropertyInfo.cs
- ApplicationInfo.cs
- HttpHandlersSection.cs
- BaseTemplatedMobileComponentEditor.cs
- RuleInfoComparer.cs
- Storyboard.cs
- SimpleBitVector32.cs
- NodeInfo.cs
- TransformValueSerializer.cs
- HttpContext.cs
- FigureParagraph.cs
- ListView.cs
- Set.cs
- PersonalizationState.cs
- ServiceChannelManager.cs
- FigureParaClient.cs
- DivideByZeroException.cs
- PassportAuthenticationEventArgs.cs
- RangeValuePatternIdentifiers.cs
- DbConnectionStringCommon.cs
- Translator.cs
- SqlBulkCopyColumnMapping.cs
- MethodImplAttribute.cs
- DesigntimeLicenseContext.cs
- WebPartDisplayModeEventArgs.cs
- TraceContext.cs
- TriggerActionCollection.cs
- CodeExporter.cs
- RelatedPropertyManager.cs
- SinglePageViewer.cs
- ParameterBuilder.cs
- TypeForwardedToAttribute.cs
- EntityParameterCollection.cs
- Odbc32.cs
- SqlAggregateChecker.cs
- BatchParser.cs
- PointHitTestParameters.cs
- OdbcConnection.cs
- IISMapPath.cs
- Soap12FormatExtensions.cs
- BindingList.cs
- CalendarDateRange.cs
- CoTaskMemHandle.cs
- ContentControl.cs
- ReaderWriterLockWrapper.cs
- ListParagraph.cs
- SelectionRange.cs
- XmlNodeWriter.cs
- _ProxyChain.cs
- Point3D.cs
- Size3D.cs
- EventPrivateKey.cs
- DesignerView.xaml.cs
- DetailsViewInsertEventArgs.cs
- AsyncOperation.cs
- CalendarButton.cs