Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TdsParserSafeHandles.cs
- ScriptResourceHandler.cs
- figurelengthconverter.cs
- PartitionResolver.cs
- CacheVirtualItemsEvent.cs
- IntegerValidator.cs
- DbXmlEnabledProviderManifest.cs
- UIPropertyMetadata.cs
- Registration.cs
- CollectionView.cs
- UriPrefixTable.cs
- OutputScope.cs
- UrlMappingsSection.cs
- DataGridViewImageCell.cs
- DynamicValidator.cs
- TimestampInformation.cs
- TypeBuilder.cs
- NetCodeGroup.cs
- TitleStyle.cs
- GroupDescription.cs
- Drawing.cs
- PropertyChangedEventArgs.cs
- CodeAssignStatement.cs
- BindableTemplateBuilder.cs
- ListMarkerLine.cs
- AspNetSynchronizationContext.cs
- parserscommon.cs
- DecoderReplacementFallback.cs
- DbConnectionHelper.cs
- _Events.cs
- EntityTemplateUserControl.cs
- AccessDataSource.cs
- MarkerProperties.cs
- SecurityPolicyVersion.cs
- InternalBase.cs
- LineSegment.cs
- BamlLocalizableResourceKey.cs
- TargetConverter.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- SmtpMail.cs
- DbProviderFactoriesConfigurationHandler.cs
- ModifiableIteratorCollection.cs
- Tokenizer.cs
- CollaborationHelperFunctions.cs
- Int64Storage.cs
- TargetControlTypeAttribute.cs
- AttachedPropertyBrowsableAttribute.cs
- WsdlParser.cs
- BorderGapMaskConverter.cs
- CompositionTarget.cs
- PointAnimationUsingPath.cs
- SBCSCodePageEncoding.cs
- ModelItem.cs
- XhtmlTextWriter.cs
- CredentialCache.cs
- BatchStream.cs
- DPTypeDescriptorContext.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- ObservableCollection.cs
- OutputCacheProfileCollection.cs
- XmlObjectSerializerReadContextComplex.cs
- MsmqIntegrationChannelListener.cs
- SQLStringStorage.cs
- latinshape.cs
- FocusManager.cs
- SynchronizationLockException.cs
- Crypto.cs
- HandleCollector.cs
- String.cs
- Parsers.cs
- GraphicsContainer.cs
- DmlSqlGenerator.cs
- DesignerView.xaml.cs
- PeerChannelListener.cs
- ConstraintManager.cs
- SQLBinaryStorage.cs
- ProviderException.cs
- Nullable.cs
- PageCache.cs
- IndentTextWriter.cs
- HotSpotCollection.cs
- BitmapFrameDecode.cs
- StubHelpers.cs
- DataGridComponentEditor.cs
- ImagingCache.cs
- BitmapScalingModeValidation.cs
- OleDbParameterCollection.cs
- HyperlinkAutomationPeer.cs
- UnSafeCharBuffer.cs
- NavigationProperty.cs
- TagMapCollection.cs
- RecordConverter.cs
- StringFormat.cs
- SQLBinaryStorage.cs
- DataBindingValueUIHandler.cs
- ButtonChrome.cs
- NonClientArea.cs
- SerialStream.cs
- TimelineClockCollection.cs
- DefaultBinder.cs