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
- ControlParameter.cs
- Size3D.cs
- CommonObjectSecurity.cs
- ISAPIRuntime.cs
- XmlImplementation.cs
- ServiceOperation.cs
- EncodingInfo.cs
- HashMembershipCondition.cs
- KnownTypesHelper.cs
- SiteMapNodeCollection.cs
- FormView.cs
- CloudCollection.cs
- SpellerInterop.cs
- WebReferenceCollection.cs
- Int32Rect.cs
- MD5Cng.cs
- ScrollProperties.cs
- SyntaxCheck.cs
- DbConnectionPoolCounters.cs
- XmlBaseWriter.cs
- BaseDataListComponentEditor.cs
- TypedTableGenerator.cs
- PrtCap_Builder.cs
- MenuItemBindingCollection.cs
- RecognizedAudio.cs
- DoubleLinkList.cs
- DeferredSelectedIndexReference.cs
- Control.cs
- CellIdBoolean.cs
- ManipulationStartedEventArgs.cs
- XmlSchemaIdentityConstraint.cs
- FacetDescriptionElement.cs
- EFTableProvider.cs
- ToolStripStatusLabel.cs
- ModuleBuilder.cs
- TableLayoutColumnStyleCollection.cs
- MediaPlayerState.cs
- ModelItemImpl.cs
- AutoResetEvent.cs
- SetterBase.cs
- HwndSubclass.cs
- SymDocumentType.cs
- _KerberosClient.cs
- ImageAnimator.cs
- PriorityRange.cs
- HttpSocketManager.cs
- WSFederationHttpBindingCollectionElement.cs
- SQLMembershipProvider.cs
- NullableDoubleSumAggregationOperator.cs
- RandomNumberGenerator.cs
- TouchPoint.cs
- RemotingHelper.cs
- HTTPAPI_VERSION.cs
- KeyboardEventArgs.cs
- ConstraintCollection.cs
- XamlTreeBuilder.cs
- StateWorkerRequest.cs
- IndentedWriter.cs
- SortedDictionary.cs
- NumericExpr.cs
- ApplicationFileCodeDomTreeGenerator.cs
- AssociationEndMember.cs
- MaskDesignerDialog.cs
- WindowsRebar.cs
- BufferedStream.cs
- EncryptedData.cs
- NumberFunctions.cs
- DataGridItemCollection.cs
- ReliabilityContractAttribute.cs
- BindingListCollectionView.cs
- CombinedGeometry.cs
- ContainerUIElement3D.cs
- PersonalizableAttribute.cs
- SQLByteStorage.cs
- X509ChainElement.cs
- XPathNodeInfoAtom.cs
- UnicodeEncoding.cs
- SettingsAttributeDictionary.cs
- WriteFileContext.cs
- ProjectedSlot.cs
- XPathNode.cs
- InstanceKeyNotReadyException.cs
- FrameworkElementFactoryMarkupObject.cs
- LingerOption.cs
- Material.cs
- SystemWebCachingSectionGroup.cs
- UmAlQuraCalendar.cs
- MultiAsyncResult.cs
- Model3DGroup.cs
- IdentifierService.cs
- ObjectListField.cs
- AndCondition.cs
- Peer.cs
- Int64Storage.cs
- AppDomain.cs
- ToolStripItemDesigner.cs
- EdmSchemaAttribute.cs
- Funcletizer.cs
- XmlCountingReader.cs
- TimeoutHelper.cs