Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / SafeThemeHandle.cs / 1305600 / 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
- XmlSchemas.cs
- CodeSubDirectory.cs
- Repeater.cs
- KeyNotFoundException.cs
- PenContext.cs
- Message.cs
- Rules.cs
- BoolExpressionVisitors.cs
- ListViewGroup.cs
- ToolStripContainer.cs
- DetailsViewInsertedEventArgs.cs
- DefaultWorkflowLoaderService.cs
- MediaContextNotificationWindow.cs
- DetailsViewDeletedEventArgs.cs
- AdornerLayer.cs
- SafeNativeMethods.cs
- InputReport.cs
- DataGridViewRowsRemovedEventArgs.cs
- ShellProvider.cs
- Odbc32.cs
- HorizontalAlignConverter.cs
- ErrorLog.cs
- TemplateEditingVerb.cs
- AssignDesigner.xaml.cs
- DefaultBindingPropertyAttribute.cs
- MailAddressCollection.cs
- AttributeCollection.cs
- CapabilitiesPattern.cs
- Crc32.cs
- WebBrowserDesigner.cs
- AttachedPropertyBrowsableAttribute.cs
- shaper.cs
- TreeViewImageKeyConverter.cs
- DiscoveryServiceExtension.cs
- XmlSchemaAttributeGroupRef.cs
- XmlDataSourceDesigner.cs
- UIElementCollection.cs
- Label.cs
- PartialTrustVisibleAssembliesSection.cs
- AsyncOperationManager.cs
- PageClientProxyGenerator.cs
- WebPageTraceListener.cs
- ToolStripGripRenderEventArgs.cs
- EntityParameter.cs
- ModuleConfigurationInfo.cs
- TextModifierScope.cs
- TypeSemantics.cs
- EntityModelBuildProvider.cs
- BooleanAnimationUsingKeyFrames.cs
- XPathExpr.cs
- TypeViewSchema.cs
- EncoderParameter.cs
- Paragraph.cs
- DocumentScope.cs
- DeferredTextReference.cs
- SoapSchemaExporter.cs
- SqlUDTStorage.cs
- DSGeneratorProblem.cs
- Point3DAnimationBase.cs
- EncodingDataItem.cs
- TextDecorationCollection.cs
- ProtocolsSection.cs
- SqlCacheDependencySection.cs
- XmlMemberMapping.cs
- TreePrinter.cs
- ConstructorNeedsTagAttribute.cs
- ImmComposition.cs
- ManifestSignatureInformation.cs
- FlowLayout.cs
- SourceSwitch.cs
- Config.cs
- DataBindingValueUIHandler.cs
- BaseProcessor.cs
- AssemblyAssociatedContentFileAttribute.cs
- SqlDataSourceStatusEventArgs.cs
- ImageMap.cs
- TransformValueSerializer.cs
- TransactionManager.cs
- TypedReference.cs
- TextTreeRootNode.cs
- MembershipSection.cs
- SelectedCellsChangedEventArgs.cs
- ipaddressinformationcollection.cs
- SHA512CryptoServiceProvider.cs
- TextEditorSpelling.cs
- MetadataPropertyCollection.cs
- WebBrowserNavigatedEventHandler.cs
- CodeSnippetExpression.cs
- FaultException.cs
- ChangeNode.cs
- MapPathBasedVirtualPathProvider.cs
- StreamWithDictionary.cs
- Odbc32.cs
- NotFiniteNumberException.cs
- ZipArchive.cs
- WeakRefEnumerator.cs
- DatagramAdapter.cs
- TextBlockAutomationPeer.cs
- DbQueryCommandTree.cs
- WebPartCatalogAddVerb.cs