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
- RadioButtonPopupAdapter.cs
- ToolTip.cs
- CodeTryCatchFinallyStatement.cs
- ThumbButtonInfo.cs
- TableLayoutSettings.cs
- ActivationArguments.cs
- HttpCookiesSection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- HttpContextWrapper.cs
- DirectoryObjectSecurity.cs
- ExtendedPropertiesHandler.cs
- ReachSerializationUtils.cs
- FlagsAttribute.cs
- Timer.cs
- SafeNativeMethods.cs
- DefaultAsyncDataDispatcher.cs
- MatrixCamera.cs
- ConstraintManager.cs
- IdnElement.cs
- XPathScanner.cs
- Properties.cs
- UriParserTemplates.cs
- sqlstateclientmanager.cs
- coordinatorfactory.cs
- Bits.cs
- DESCryptoServiceProvider.cs
- DrawingGroup.cs
- XslException.cs
- Duration.cs
- sqlpipe.cs
- SqlDependencyUtils.cs
- RoleManagerSection.cs
- ToolStripSplitButton.cs
- SafeHandles.cs
- CollectionBase.cs
- UnaryNode.cs
- Crypto.cs
- WebPartCloseVerb.cs
- IntPtr.cs
- UserControl.cs
- _ProxyChain.cs
- CodeGenerator.cs
- PresentationAppDomainManager.cs
- SQLInt32Storage.cs
- XNodeNavigator.cs
- FatalException.cs
- ListViewGroupConverter.cs
- XMLSchema.cs
- MethodCallTranslator.cs
- CatalogZone.cs
- Sequence.cs
- BitSet.cs
- TransportSecurityProtocol.cs
- HostedBindingBehavior.cs
- GeometryDrawing.cs
- Operand.cs
- PagePropertiesChangingEventArgs.cs
- FontFaceLayoutInfo.cs
- FontFaceLayoutInfo.cs
- AppSettings.cs
- DiscoveryClientElement.cs
- SamlSubject.cs
- BulletedListEventArgs.cs
- TerminatorSinks.cs
- Int64KeyFrameCollection.cs
- OleDbDataAdapter.cs
- GridItemProviderWrapper.cs
- StyleSelector.cs
- ConsoleCancelEventArgs.cs
- Win32.cs
- TextBox.cs
- HttpRequestWrapper.cs
- JavaScriptObjectDeserializer.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- VSWCFServiceContractGenerator.cs
- SqlDataSource.cs
- SafeProcessHandle.cs
- DataGridViewColumnDesigner.cs
- ProtocolsSection.cs
- RefType.cs
- BCLDebug.cs
- OdbcConnection.cs
- EntityClassGenerator.cs
- AxDesigner.cs
- DeleteHelper.cs
- SchemaElementLookUpTableEnumerator.cs
- formatter.cs
- ScrollChrome.cs
- ActivityPropertyReference.cs
- EventLogConfiguration.cs
- StopStoryboard.cs
- Stopwatch.cs
- ModuleBuilder.cs
- Task.cs
- ProjectionPruner.cs
- AuthenticationManager.cs
- OleDbConnection.cs
- TranslateTransform3D.cs
- ProtocolViolationException.cs
- ArgumentNullException.cs