Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / SafeThemeHandle.cs / 1 / SafeThemeHandle.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // // History: // 10/04/2003 : [....] Created //--------------------------------------------------------------------------- using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; //using System.Runtime.CompilerServices; using System.Windows.Automation; using Microsoft.Win32.SafeHandles; using MS.Win32; namespace MS.Internal.AutomationProxies { internal sealed class SafeThemeHandle : SafeHandleZeroOrMinusOneIsInvalid { // This constructor is used by the P/Invoke marshaling layer // to allocate a SafeHandle instance. P/Invoke then does the // appropriate method call, storing the handle in this class. private SafeThemeHandle() : base(true) {} // Uncomment this if & only if we need a constructor // that takes a handle from external code internal SafeThemeHandle(IntPtr preexistingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(preexistingHandle); } // protected override bool ReleaseHandle() { // MustRun methods may only call other MustRun methods, // must not allocate along paths that must succeed, etc. return !IsInvalid ? CloseThemeData(handle) == (IntPtr)NativeMethods.S_OK : true; } [DllImport("UxTheme.dll", CharSet = CharSet.Auto)/*, SuppressUnmanagedCodeSecurity*/] // private static extern IntPtr CloseThemeData(IntPtr handle); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // // History: // 10/04/2003 : [....] Created //--------------------------------------------------------------------------- using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; //using System.Runtime.CompilerServices; using System.Windows.Automation; using Microsoft.Win32.SafeHandles; using MS.Win32; namespace MS.Internal.AutomationProxies { internal sealed class SafeThemeHandle : SafeHandleZeroOrMinusOneIsInvalid { // This constructor is used by the P/Invoke marshaling layer // to allocate a SafeHandle instance. P/Invoke then does the // appropriate method call, storing the handle in this class. private SafeThemeHandle() : base(true) {} // Uncomment this if & only if we need a constructor // that takes a handle from external code internal SafeThemeHandle(IntPtr preexistingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(preexistingHandle); } // protected override bool ReleaseHandle() { // MustRun methods may only call other MustRun methods, // must not allocate along paths that must succeed, etc. return !IsInvalid ? CloseThemeData(handle) == (IntPtr)NativeMethods.S_OK : true; } [DllImport("UxTheme.dll", CharSet = CharSet.Auto)/*, SuppressUnmanagedCodeSecurity*/] // private static extern IntPtr CloseThemeData(IntPtr handle); } } // 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
- HuffmanTree.cs
- SelectionPatternIdentifiers.cs
- _IPv6Address.cs
- InternalRelationshipCollection.cs
- PlainXmlSerializer.cs
- QueryContinueDragEvent.cs
- TypeInfo.cs
- GeometryDrawing.cs
- DragStartedEventArgs.cs
- ComponentChangingEvent.cs
- ContainerFilterService.cs
- DataFormats.cs
- CodeLabeledStatement.cs
- SmiContextFactory.cs
- WindowsGraphicsCacheManager.cs
- SharedStatics.cs
- XsdBuilder.cs
- Registry.cs
- SortDescriptionCollection.cs
- LifetimeServices.cs
- PersonalizationProviderCollection.cs
- xamlnodes.cs
- ToolStripItemEventArgs.cs
- SequenceRangeCollection.cs
- XamlInt32CollectionSerializer.cs
- XmlValidatingReaderImpl.cs
- SourceFileInfo.cs
- Vector3DAnimationBase.cs
- SourceChangedEventArgs.cs
- WizardStepBase.cs
- PersonalizationAdministration.cs
- FocusTracker.cs
- CodeDefaultValueExpression.cs
- Dump.cs
- PtsPage.cs
- MimeFormatter.cs
- ConnectionString.cs
- ToolStripMenuItemDesigner.cs
- OpenFileDialog.cs
- RubberbandSelector.cs
- SubMenuStyleCollection.cs
- SQLDecimal.cs
- DataObject.cs
- DataGridViewCheckBoxCell.cs
- DesignerVerb.cs
- ServiceHostFactory.cs
- ReliableSession.cs
- METAHEADER.cs
- _BasicClient.cs
- XsltOutput.cs
- TypeFieldSchema.cs
- BinaryObjectReader.cs
- XmlSerializerOperationGenerator.cs
- NameObjectCollectionBase.cs
- KeyboardNavigation.cs
- XmlTypeAttribute.cs
- COM2ComponentEditor.cs
- LazyTextWriterCreator.cs
- ObjectDataSourceChooseTypePanel.cs
- OleServicesContext.cs
- LoginStatusDesigner.cs
- _NTAuthentication.cs
- ApplicationId.cs
- ActivityExecutionContextCollection.cs
- RoleManagerSection.cs
- ProcessProtocolHandler.cs
- PerformanceCounterManager.cs
- WebServiceData.cs
- MeshGeometry3D.cs
- RegexWorker.cs
- NeedSkipTokenVisitor.cs
- CompositeFontParser.cs
- WebPartUserCapability.cs
- MemberInfoSerializationHolder.cs
- FixedTextBuilder.cs
- PointF.cs
- XmlSortKey.cs
- HttpApplicationFactory.cs
- HttpConfigurationSystem.cs
- CodeAttributeArgumentCollection.cs
- DesignerActionUIService.cs
- FragmentQueryProcessor.cs
- RSAOAEPKeyExchangeFormatter.cs
- HtmlSelect.cs
- XmlKeywords.cs
- UrlMappingCollection.cs
- TreeViewEvent.cs
- TableRow.cs
- XmlMapping.cs
- EntityDataSourceContextDisposingEventArgs.cs
- Number.cs
- HashHelper.cs
- DocumentReference.cs
- SqlIdentifier.cs
- TemplateBaseAction.cs
- TraceXPathNavigator.cs
- DrawingContextDrawingContextWalker.cs
- MatrixValueSerializer.cs
- DefaultShape.cs
- ImageListImage.cs