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
- NonNullItemCollection.cs
- SecurityResources.cs
- ProxyGenerator.cs
- QueryResponse.cs
- XhtmlBasicValidationSummaryAdapter.cs
- ApplyTemplatesAction.cs
- PropertyDescriptorComparer.cs
- WebServiceResponseDesigner.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ObjectDataSourceSelectingEventArgs.cs
- DataStorage.cs
- ProcessThread.cs
- SafeNativeMethods.cs
- IndexedEnumerable.cs
- SmiContext.cs
- WebConfigurationFileMap.cs
- PathParser.cs
- PublishLicense.cs
- ParameterReplacerVisitor.cs
- PaperSize.cs
- ConfigurationManagerInternalFactory.cs
- FrameworkContentElement.cs
- DataTableCollection.cs
- LookupBindingPropertiesAttribute.cs
- WindowInteropHelper.cs
- SqlDataSourceFilteringEventArgs.cs
- Accessors.cs
- StreamResourceInfo.cs
- GridViewRowCollection.cs
- PrintDialogDesigner.cs
- FacetEnabledSchemaElement.cs
- DodSequenceMerge.cs
- MulticastIPAddressInformationCollection.cs
- ContentTextAutomationPeer.cs
- CompilerLocalReference.cs
- EtwTrace.cs
- DetailsViewRowCollection.cs
- CopyAttributesAction.cs
- DataGridViewCellStyleConverter.cs
- FormsAuthenticationUserCollection.cs
- IItemProperties.cs
- __ConsoleStream.cs
- DataControlCommands.cs
- SerialStream.cs
- WebPartCatalogCloseVerb.cs
- PagesSection.cs
- SafeRegistryHandle.cs
- Themes.cs
- ArrayListCollectionBase.cs
- IResourceProvider.cs
- UnorderedHashRepartitionStream.cs
- X509UI.cs
- ACL.cs
- SqlFlattener.cs
- TypeToken.cs
- BindingMAnagerBase.cs
- InvalidWMPVersionException.cs
- PropertyStore.cs
- QilInvokeEarlyBound.cs
- TreeViewDesigner.cs
- PerformanceCounters.cs
- storepermissionattribute.cs
- WorkflowApplicationIdleEventArgs.cs
- EntityDataSourceDesignerHelper.cs
- ValueTypeIndexerReference.cs
- DirectoryInfo.cs
- Msec.cs
- AnimatedTypeHelpers.cs
- ChannelEndpointElement.cs
- CoTaskMemSafeHandle.cs
- TextModifier.cs
- TextServicesLoader.cs
- ContentElementCollection.cs
- PtsHelper.cs
- LineSegment.cs
- Size3D.cs
- XmlDataSource.cs
- Rect3D.cs
- ApplicationBuildProvider.cs
- Point4D.cs
- ManagementObjectCollection.cs
- BitArray.cs
- MultidimensionalArrayItemReference.cs
- XmlBinaryWriterSession.cs
- WebPartChrome.cs
- ClickablePoint.cs
- TextTreeTextNode.cs
- CopyAction.cs
- SiblingIterators.cs
- Timer.cs
- SqlConnectionString.cs
- RawStylusInputCustomData.cs
- EventSetterHandlerConverter.cs
- EventListenerClientSide.cs
- PingOptions.cs
- TextDecorationLocationValidation.cs
- UIElementCollection.cs
- TransactionFilter.cs
- SmtpDigestAuthenticationModule.cs
- SettingsBindableAttribute.cs