Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / PtsHost / UnmanagedHandle.cs / 1305600 / UnmanagedHandle.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: UnmanagedHandle.cs // // Description: Definition for Unmanaged Handle. Provides identity (handle), // which can be used in unmanaged world. // // History: // 05/02/2003 : [....] - moving from Avalon branch. // //--------------------------------------------------------------------------- using System; namespace MS.Internal.PtsHost { ////// Provides identity (handle), which can be used in unmanaged world. /// If object is passed into unmanaged world, and there is a need to identify /// that object later on, its class should inherit from UnmanagedHandle. /// internal class UnmanagedHandle : IDisposable { ////// Constructor. Used when object derives from UnmanagedHandle. /// /// /// PTS context /// protected UnmanagedHandle(PtsContext ptsContext) { _ptsContext = ptsContext; _handle = ptsContext.CreateHandle(this); } ////// Dispose the object and release handle. /// public virtual void Dispose() { try { _ptsContext.ReleaseHandle(_handle); } finally { _handle = IntPtr.Zero; } GC.SuppressFinalize(this); } ////// Handle of an object. /// internal IntPtr Handle { get { return _handle; } } private IntPtr _handle; ////// PtsContext that is the owner of the handle. /// It is required to store it here for Dispose. When Dispose is called /// it is not always possible to get instance of PtsContext that /// has been used to create this handle. /// internal PtsContext PtsContext { get { return _ptsContext; } } private readonly PtsContext _ptsContext; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSigningNodeWriter.cs
- Win32MouseDevice.cs
- DefaultShape.cs
- SessionPageStatePersister.cs
- SelectionRange.cs
- ParsedAttributeCollection.cs
- FloatUtil.cs
- DuplicateWaitObjectException.cs
- Positioning.cs
- StringValidatorAttribute.cs
- EntityTypeEmitter.cs
- BamlTreeUpdater.cs
- UIElement3DAutomationPeer.cs
- WsdlContractConversionContext.cs
- EntityCommand.cs
- CultureInfoConverter.cs
- FlowLayout.cs
- WinFormsSpinner.cs
- HostUtils.cs
- NodeCounter.cs
- Variant.cs
- OrderByBuilder.cs
- _Win32.cs
- WebHttpBindingCollectionElement.cs
- MatrixStack.cs
- BoundingRectTracker.cs
- StateMachineWorkflow.cs
- MenuItem.cs
- DES.cs
- TypePresenter.xaml.cs
- ScopeCompiler.cs
- FlagsAttribute.cs
- BasicCellRelation.cs
- RepeaterItem.cs
- HttpListenerResponse.cs
- ImageAttributes.cs
- BufferBuilder.cs
- GenericsInstances.cs
- Input.cs
- ValidatedControlConverter.cs
- XmlObjectSerializerWriteContext.cs
- MediaCommands.cs
- EditingScopeUndoUnit.cs
- CallbackWrapper.cs
- QueueProcessor.cs
- ProfileGroupSettings.cs
- DesignerDataRelationship.cs
- CodeCatchClauseCollection.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- Calendar.cs
- X509SecurityTokenAuthenticator.cs
- FormatterServices.cs
- OrderByQueryOptionExpression.cs
- COM2TypeInfoProcessor.cs
- LinkArea.cs
- LinearGradientBrush.cs
- Expressions.cs
- InkSerializer.cs
- Highlights.cs
- IApplicationTrustManager.cs
- CipherData.cs
- DbSource.cs
- BufferModeSettings.cs
- SystemResourceKey.cs
- FontSizeConverter.cs
- PropertyChangedEventArgs.cs
- ObjectCloneHelper.cs
- CallbackException.cs
- XPathNodeList.cs
- DurableInstanceContextProvider.cs
- EmissiveMaterial.cs
- LabelInfo.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- DetailsViewRow.cs
- CDSCollectionETWBCLProvider.cs
- DebugInfoGenerator.cs
- OrderByBuilder.cs
- ErrorView.xaml.cs
- CachedPathData.cs
- HtmlDocument.cs
- LogicalCallContext.cs
- TextProperties.cs
- coordinatorfactory.cs
- XsltContext.cs
- DesignerMetadata.cs
- DetailsView.cs
- FontStyleConverter.cs
- MulticastNotSupportedException.cs
- RangeValueProviderWrapper.cs
- ScriptComponentDescriptor.cs
- _ContextAwareResult.cs
- GraphicsContext.cs
- FormViewInsertedEventArgs.cs
- RangeEnumerable.cs
- HtmlTernaryTree.cs
- ScanQueryOperator.cs
- MessageFilterTable.cs
- MatrixTransform.cs
- ContentType.cs
- XPathAxisIterator.cs