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
- OdbcReferenceCollection.cs
- Roles.cs
- CompiledWorkflowDefinitionContext.cs
- WarningException.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- PkcsUtils.cs
- CacheAxisQuery.cs
- RightNameExpirationInfoPair.cs
- SizeFConverter.cs
- CollectionBuilder.cs
- PeerNameRecordCollection.cs
- Win32KeyboardDevice.cs
- DLinqColumnProvider.cs
- SmtpClient.cs
- ColorContext.cs
- AdornerLayer.cs
- safex509handles.cs
- FontSourceCollection.cs
- NamespaceInfo.cs
- SafeNativeMemoryHandle.cs
- ActiveDocumentEvent.cs
- CompilerState.cs
- ServiceContractDetailViewControl.cs
- TypeLoadException.cs
- TypeReference.cs
- PerspectiveCamera.cs
- BaseCAMarshaler.cs
- HMACSHA384.cs
- SoapProtocolReflector.cs
- RandomNumberGenerator.cs
- PathTooLongException.cs
- EventSinkActivity.cs
- PartitionedDataSource.cs
- HttpModuleActionCollection.cs
- UnsignedPublishLicense.cs
- RawStylusInputReport.cs
- RuleInfoComparer.cs
- CapiSymmetricAlgorithm.cs
- Unit.cs
- SerializationException.cs
- SimpleHandlerBuildProvider.cs
- ObjectViewEntityCollectionData.cs
- backend.cs
- ActivityCodeDomReferenceService.cs
- TextDecoration.cs
- TextTreeFixupNode.cs
- TraceHandlerErrorFormatter.cs
- WindowsGraphicsWrapper.cs
- HandlerMappingMemo.cs
- FileDialogCustomPlace.cs
- DiscreteKeyFrames.cs
- WebPartCatalogAddVerb.cs
- SQLBinaryStorage.cs
- ZipIOCentralDirectoryFileHeader.cs
- ExpressionList.cs
- ProfileGroupSettingsCollection.cs
- CodeMethodMap.cs
- EdmSchemaError.cs
- DiagnosticsConfigurationHandler.cs
- MemberProjectedSlot.cs
- CompiledQuery.cs
- TypedAsyncResult.cs
- HostedHttpTransportManager.cs
- BeginCreateSecurityTokenRequest.cs
- AssemblyCache.cs
- CriticalExceptions.cs
- RecordManager.cs
- IdentityReference.cs
- PageSettings.cs
- ImageButton.cs
- PieceDirectory.cs
- XmlNullResolver.cs
- SafeLocalMemHandle.cs
- FrameworkTemplate.cs
- SelectionPattern.cs
- SchemaElementDecl.cs
- XDRSchema.cs
- Message.cs
- JsonDataContract.cs
- VectorCollectionValueSerializer.cs
- ObjectQueryState.cs
- ExpressionPrinter.cs
- TimeSpanValidator.cs
- IgnoreDeviceFilterElementCollection.cs
- ProcessMessagesAsyncResult.cs
- TypeForwardedToAttribute.cs
- SRef.cs
- httpapplicationstate.cs
- CookielessHelper.cs
- ObjectAnimationUsingKeyFrames.cs
- FixedPage.cs
- CompareValidator.cs
- SiteMapDataSourceDesigner.cs
- PerspectiveCamera.cs
- MaskedTextBoxTextEditorDropDown.cs
- ChtmlTextBoxAdapter.cs
- SqlDependencyUtils.cs
- Panel.cs
- FtpCachePolicyElement.cs
- RemotingConfiguration.cs