Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- OverrideMode.cs
- _NestedSingleAsyncResult.cs
- XmlSortKey.cs
- Paragraph.cs
- DateTimeUtil.cs
- IgnorePropertiesAttribute.cs
- ActivityExecutionContextCollection.cs
- followingsibling.cs
- CommentEmitter.cs
- TriggerAction.cs
- BitmapCacheBrush.cs
- DeclarativeExpressionConditionDeclaration.cs
- GridErrorDlg.cs
- DBDataPermissionAttribute.cs
- MethodExpression.cs
- EntityProxyFactory.cs
- RegexCompiler.cs
- ProvidePropertyAttribute.cs
- XmlSignatureProperties.cs
- LZCodec.cs
- AmbientProperties.cs
- LocalizabilityAttribute.cs
- DataFormat.cs
- ListItem.cs
- HotCommands.cs
- CodeAccessPermission.cs
- MetaTableHelper.cs
- SQLCharsStorage.cs
- IgnoreFileBuildProvider.cs
- DSASignatureDeformatter.cs
- SchemaInfo.cs
- XmlKeywords.cs
- Slider.cs
- LayoutEvent.cs
- StatusBarPanelClickEvent.cs
- SynchronizedPool.cs
- PrinterUnitConvert.cs
- Queue.cs
- PolyLineSegmentFigureLogic.cs
- XPathScanner.cs
- PolyLineSegment.cs
- BrowserDefinition.cs
- StylusPlugin.cs
- WebServiceFault.cs
- Bezier.cs
- GlobalDataBindingHandler.cs
- HyperLinkField.cs
- SelectorAutomationPeer.cs
- StatusBarPanelClickEvent.cs
- BindableTemplateBuilder.cs
- RectAnimation.cs
- PowerModeChangedEventArgs.cs
- XmlDataImplementation.cs
- InternalBufferOverflowException.cs
- DataGridSortCommandEventArgs.cs
- ExtenderHelpers.cs
- Encoding.cs
- ExceptionNotification.cs
- MenuEventArgs.cs
- ErrorWrapper.cs
- HttpContextBase.cs
- PeerObject.cs
- MenuItem.cs
- ParentQuery.cs
- HostingEnvironment.cs
- IsolatedStoragePermission.cs
- TagElement.cs
- MimeBasePart.cs
- TextBox.cs
- _FixedSizeReader.cs
- Metadata.cs
- OptionUsage.cs
- ArraySubsetEnumerator.cs
- Directory.cs
- ControlCollection.cs
- XmlIlGenerator.cs
- Visual.cs
- IgnoreSectionHandler.cs
- ExplicitDiscriminatorMap.cs
- DebuggerAttributes.cs
- JsonClassDataContract.cs
- RsaSecurityToken.cs
- HtmlHistory.cs
- DummyDataSource.cs
- ContractMapping.cs
- TableAutomationPeer.cs
- Rotation3D.cs
- SQLBytesStorage.cs
- ReadOnlyCollectionBase.cs
- TextTreeRootNode.cs
- DBConnection.cs
- DataRelationCollection.cs
- MonitorWrapper.cs
- IOException.cs
- brushes.cs
- IssuedTokenClientBehaviorsElement.cs
- RoleManagerEventArgs.cs
- SecureStringHasher.cs
- MergePropertyDescriptor.cs
- DataObjectFieldAttribute.cs