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
- WeakEventTable.cs
- ResourcesGenerator.cs
- MulticastDelegate.cs
- DataGridViewCellCollection.cs
- DataGridViewCellCollection.cs
- HighlightComponent.cs
- ListBox.cs
- SspiSecurityToken.cs
- LicenseProviderAttribute.cs
- ping.cs
- Baml2006Reader.cs
- SerializationStore.cs
- EventMappingSettings.cs
- PersonalizationStateQuery.cs
- CacheForPrimitiveTypes.cs
- Separator.cs
- QilTypeChecker.cs
- UserNamePasswordValidator.cs
- ConfigurationElementProperty.cs
- TimeStampChecker.cs
- WebEvents.cs
- RootAction.cs
- IconEditor.cs
- GPPOINT.cs
- CallSiteHelpers.cs
- NamedElement.cs
- SafeLibraryHandle.cs
- UIPropertyMetadata.cs
- ConfigXmlComment.cs
- PrinterUnitConvert.cs
- TemplateComponentConnector.cs
- InputProcessorProfiles.cs
- DbConnectionStringCommon.cs
- ServiceActivationException.cs
- SecurityStandardsManager.cs
- NamespaceInfo.cs
- SyndicationDeserializer.cs
- MailAddressCollection.cs
- FixedSOMPageConstructor.cs
- SelectionRange.cs
- WindowsEditBox.cs
- ResourceReader.cs
- Perspective.cs
- ProtocolsConfigurationEntry.cs
- GlyphRun.cs
- MembershipUser.cs
- ExpressionQuoter.cs
- NonClientArea.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- WebBrowserNavigatingEventHandler.cs
- ToolStripComboBox.cs
- RoleManagerModule.cs
- StrokeRenderer.cs
- QuaternionRotation3D.cs
- BuildResult.cs
- CannotUnloadAppDomainException.cs
- ListParagraph.cs
- ContractMapping.cs
- WsatServiceCertificate.cs
- KeyedHashAlgorithm.cs
- CaseInsensitiveHashCodeProvider.cs
- AppendHelper.cs
- StreamGeometry.cs
- SafeFileMapViewHandle.cs
- XmlQuerySequence.cs
- MatrixTransform.cs
- RewritingValidator.cs
- ResourceExpressionEditorSheet.cs
- BinaryWriter.cs
- DataGridViewRowsAddedEventArgs.cs
- WebPartTransformerCollection.cs
- MsmqBindingBase.cs
- FixedFlowMap.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TrackPointCollection.cs
- TextTreeNode.cs
- recordstate.cs
- DbConnectionStringCommon.cs
- sqlnorm.cs
- QueryCacheKey.cs
- ReferencedAssemblyResolver.cs
- MemberInfoSerializationHolder.cs
- GetIndexBinder.cs
- OrderedDictionary.cs
- OutputCacheModule.cs
- ScrollBarAutomationPeer.cs
- ColumnWidthChangedEvent.cs
- AggregateNode.cs
- SourceElementsCollection.cs
- EntityCommandExecutionException.cs
- Token.cs
- InlineUIContainer.cs
- ChangesetResponse.cs
- CommentAction.cs
- messageonlyhwndwrapper.cs
- Speller.cs
- HttpPostedFile.cs
- BufferedStream.cs
- ConfigXmlWhitespace.cs
- StringPropertyBuilder.cs