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
- WebControlAdapter.cs
- Package.cs
- MSAAEventDispatcher.cs
- LayoutTableCell.cs
- XsltException.cs
- DesignTimeDataBinding.cs
- CapabilitiesState.cs
- RoutedCommand.cs
- XamlLoadErrorInfo.cs
- DateTimeUtil.cs
- ExceptionHandlersDesigner.cs
- PersonalizationProvider.cs
- ServiceRoute.cs
- Operators.cs
- SecurityHelper.cs
- NullableFloatMinMaxAggregationOperator.cs
- ExtractorMetadata.cs
- KnownBoxes.cs
- FixedSOMLineRanges.cs
- NativeObjectSecurity.cs
- SoundPlayerAction.cs
- XmlSchemaDatatype.cs
- WebScriptMetadataFormatter.cs
- CryptoKeySecurity.cs
- OutputCacheModule.cs
- ManualResetEventSlim.cs
- PageBuildProvider.cs
- GridViewCancelEditEventArgs.cs
- Configuration.cs
- RelatedView.cs
- WebPartDeleteVerb.cs
- COM2ICategorizePropertiesHandler.cs
- TypeForwardedToAttribute.cs
- MimeParameterWriter.cs
- XPathBinder.cs
- DataGridTableCollection.cs
- NullableLongAverageAggregationOperator.cs
- SafeNativeMethods.cs
- ImageCodecInfoPrivate.cs
- StatusBarDrawItemEvent.cs
- EventLogPropertySelector.cs
- Rfc2898DeriveBytes.cs
- SmtpDigestAuthenticationModule.cs
- RegexCompiler.cs
- COM2Enum.cs
- BooleanExpr.cs
- ReadOnlyDataSource.cs
- TextEffect.cs
- InputDevice.cs
- SkinBuilder.cs
- EntityCodeGenerator.cs
- Method.cs
- URLMembershipCondition.cs
- GridViewRowEventArgs.cs
- SmiSettersStream.cs
- XmlExtensionFunction.cs
- ProgressiveCrcCalculatingStream.cs
- PageParserFilter.cs
- WindowsBrush.cs
- CodeNamespaceImportCollection.cs
- DecimalAnimationUsingKeyFrames.cs
- TargetConverter.cs
- ApplicationContext.cs
- NumericExpr.cs
- CollaborationHelperFunctions.cs
- XamlWriter.cs
- HintTextConverter.cs
- ObjectListCommandsPage.cs
- WindowsTokenRoleProvider.cs
- PartialList.cs
- AttachedAnnotation.cs
- ACL.cs
- MemoryRecordBuffer.cs
- EUCJPEncoding.cs
- IdnElement.cs
- TextTreePropertyUndoUnit.cs
- LabelEditEvent.cs
- LambdaSerializationException.cs
- columnmapfactory.cs
- SqlNodeTypeOperators.cs
- WpfPayload.cs
- XPathAncestorQuery.cs
- SettingsPropertyCollection.cs
- ContextProperty.cs
- ParserContext.cs
- Utils.cs
- TabControl.cs
- DataGridViewDesigner.cs
- XmlValidatingReader.cs
- ClientOperation.cs
- RealizationContext.cs
- GridViewUpdateEventArgs.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- RootAction.cs
- UnaryNode.cs
- XmlNamedNodeMap.cs
- XmlCompatibilityReader.cs
- ContentIterators.cs
- PocoPropertyAccessorStrategy.cs
- ExpressionPrinter.cs