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
- IisTraceWebEventProvider.cs
- ProfilePropertySettingsCollection.cs
- ScalarConstant.cs
- DesignerVerbToolStripMenuItem.cs
- DataGridAddNewRow.cs
- HtmlEmptyTagControlBuilder.cs
- TransportationConfigurationTypeInstallComponent.cs
- NetCodeGroup.cs
- AssemblyResourceLoader.cs
- TableLayoutSettings.cs
- CompilerHelpers.cs
- ProfileInfo.cs
- DataGridCaption.cs
- MergeEnumerator.cs
- AuthenticationManager.cs
- GridViewCommandEventArgs.cs
- XmlEntityReference.cs
- CustomAttributeFormatException.cs
- PathFigureCollectionValueSerializer.cs
- DrawListViewSubItemEventArgs.cs
- Composition.cs
- QueryBranchOp.cs
- SqlDataReaderSmi.cs
- ScalarConstant.cs
- AssemblyNameUtility.cs
- DriveNotFoundException.cs
- ConfigurationConverterBase.cs
- SQLConvert.cs
- NullableDecimalMinMaxAggregationOperator.cs
- DataGrid.cs
- ObjectMaterializedEventArgs.cs
- RootBrowserWindow.cs
- DataKeyCollection.cs
- StatusBarItem.cs
- HebrewNumber.cs
- TemplateKeyConverter.cs
- ReaderWriterLock.cs
- XPathBinder.cs
- DateRangeEvent.cs
- AssertSection.cs
- AudioFormatConverter.cs
- CustomLineCap.cs
- ZipIOExtraFieldElement.cs
- datacache.cs
- TextMetrics.cs
- BufferedReceiveElement.cs
- FixedBufferAttribute.cs
- WebPartsPersonalizationAuthorization.cs
- MoveSizeWinEventHandler.cs
- BasicHttpBindingElement.cs
- DetailsViewAutoFormat.cs
- ZipArchive.cs
- WebEvents.cs
- FixedPageStructure.cs
- Delegate.cs
- CompiledRegexRunner.cs
- MarshalDirectiveException.cs
- SR.cs
- HeaderPanel.cs
- DateTimeOffset.cs
- HtmlControl.cs
- RedistVersionInfo.cs
- WinEventWrap.cs
- connectionpool.cs
- TimeSpanMinutesConverter.cs
- ControlUtil.cs
- GeneratedCodeAttribute.cs
- PrinterSettings.cs
- ScriptResourceMapping.cs
- FolderBrowserDialogDesigner.cs
- CodeTypeMemberCollection.cs
- MsmqChannelFactoryBase.cs
- WebPartConnectionCollection.cs
- AudioStateChangedEventArgs.cs
- DataRecordObjectView.cs
- LocationReference.cs
- BamlLocalizationDictionary.cs
- InfoCardSymmetricAlgorithm.cs
- DataMemberConverter.cs
- DataServiceEntityAttribute.cs
- JavaScriptObjectDeserializer.cs
- SelectedDatesCollection.cs
- InterleavedZipPartStream.cs
- SafeSecurityHandles.cs
- TextTreeInsertElementUndoUnit.cs
- DurableInstanceProvider.cs
- TextTreeTextBlock.cs
- SwitchElementsCollection.cs
- FormsAuthenticationCredentials.cs
- Asn1IntegerConverter.cs
- ObjectTag.cs
- Overlapped.cs
- XmlNamespaceManager.cs
- DeferredSelectedIndexReference.cs
- Point3DConverter.cs
- TreeBuilder.cs
- ReliableDuplexSessionChannel.cs
- TiffBitmapDecoder.cs
- BamlCollectionHolder.cs
- DataBindingsDialog.cs