Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- WSSecureConversation.cs
- Color.cs
- ProxyWebPartConnectionCollection.cs
- FileLogRecordStream.cs
- FactoryGenerator.cs
- HttpConfigurationContext.cs
- GlobalEventManager.cs
- HtmlElementEventArgs.cs
- ListCollectionView.cs
- ExternalDataExchangeService.cs
- SymbolType.cs
- InputScopeManager.cs
- Container.cs
- ContainerSelectorGlyph.cs
- ListParagraph.cs
- NameNode.cs
- RemoveStoryboard.cs
- ProcessHostFactoryHelper.cs
- FormView.cs
- DataGridViewTopRowAccessibleObject.cs
- SafePointer.cs
- ListItemConverter.cs
- DataServiceProviderMethods.cs
- HttpRuntimeSection.cs
- WebControlsSection.cs
- DataGridViewComboBoxColumn.cs
- SqlDependencyListener.cs
- OutputScopeManager.cs
- SqlHelper.cs
- HttpListenerPrefixCollection.cs
- SqlClientWrapperSmiStreamChars.cs
- ArraySortHelper.cs
- Page.cs
- ClientUrlResolverWrapper.cs
- TraceSection.cs
- RemotingConfiguration.cs
- XmlSignatureProperties.cs
- AliasGenerator.cs
- ControlCollection.cs
- GridView.cs
- SqlBooleanMismatchVisitor.cs
- SharedDp.cs
- ActivityWithResultWrapper.cs
- ExpressionBindingCollection.cs
- TableAutomationPeer.cs
- SubqueryRules.cs
- SocketInformation.cs
- RectangleConverter.cs
- Unit.cs
- TimeoutException.cs
- MenuAdapter.cs
- HostingPreferredMapPath.cs
- MSAANativeProvider.cs
- DesignerOptions.cs
- BrushValueSerializer.cs
- MissingMemberException.cs
- DataGridView.cs
- BoundConstants.cs
- GeometryModel3D.cs
- NonVisualControlAttribute.cs
- ProgressPage.cs
- EtwTrace.cs
- AesCryptoServiceProvider.cs
- MergeExecutor.cs
- TraceContext.cs
- DocumentViewerAutomationPeer.cs
- _NetRes.cs
- NeutralResourcesLanguageAttribute.cs
- TemplatePagerField.cs
- DragEvent.cs
- XmlSchemaIdentityConstraint.cs
- ActivityMarkupSerializationProvider.cs
- DataGridViewCellConverter.cs
- CompModSwitches.cs
- WebZoneDesigner.cs
- SystemPens.cs
- ImageFormatConverter.cs
- CalendarData.cs
- PermissionSet.cs
- UmAlQuraCalendar.cs
- SortExpressionBuilder.cs
- System.Data_BID.cs
- CustomErrorsSection.cs
- EditorResources.cs
- DbConnectionFactory.cs
- Pair.cs
- WebPart.cs
- TypeToken.cs
- AuthenticationConfig.cs
- SystemIPv4InterfaceProperties.cs
- Pair.cs
- WindowsListViewItemStartMenu.cs
- TypeInitializationException.cs
- OracleDataAdapter.cs
- EnumMember.cs
- SqlCacheDependencySection.cs
- ProviderManager.cs
- HtmlHistory.cs
- WebServiceFaultDesigner.cs
- TcpClientChannel.cs