Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ObsoleteAttribute.cs
- BidirectionalDictionary.cs
- RegexStringValidatorAttribute.cs
- MarshalDirectiveException.cs
- GlobalEventManager.cs
- TableItemStyle.cs
- WebPartExportVerb.cs
- DataGridTextBoxColumn.cs
- BaseDataList.cs
- Emitter.cs
- AnnotationAdorner.cs
- SetterBaseCollection.cs
- ReadWriteControlDesigner.cs
- DelimitedListTraceListener.cs
- ThrowHelper.cs
- DetailsViewModeEventArgs.cs
- HttpModuleActionCollection.cs
- CodeMethodInvokeExpression.cs
- InstanceView.cs
- Help.cs
- ListChangedEventArgs.cs
- FontStretch.cs
- ConnectionString.cs
- ExecutionEngineException.cs
- WebPartUserCapability.cs
- Properties.cs
- QueryOperationResponseOfT.cs
- AlphaSortedEnumConverter.cs
- PlaceHolder.cs
- BaseConfigurationRecord.cs
- SelectionItemPatternIdentifiers.cs
- PageRanges.cs
- Attributes.cs
- CheckBoxFlatAdapter.cs
- DesignerActionListCollection.cs
- XPathNavigatorReader.cs
- CharEnumerator.cs
- VirtualPathUtility.cs
- RolePrincipal.cs
- HttpVersion.cs
- ExtensionQuery.cs
- PeerPresenceInfo.cs
- RuleAttributes.cs
- SafeFileMapViewHandle.cs
- MobileControlsSectionHelper.cs
- OutputBuffer.cs
- Peer.cs
- StartUpEventArgs.cs
- TextAnchor.cs
- OleAutBinder.cs
- ToolStripSystemRenderer.cs
- CustomLineCap.cs
- DocumentPageTextView.cs
- RefreshPropertiesAttribute.cs
- ExpressionVisitor.cs
- GenericTypeParameterConverter.cs
- BoundField.cs
- DynamicHyperLink.cs
- XmlWrappingReader.cs
- WindowsComboBox.cs
- TheQuery.cs
- DialogResultConverter.cs
- bidPrivateBase.cs
- DetailsViewInsertedEventArgs.cs
- ApplicationGesture.cs
- _IPv4Address.cs
- Types.cs
- HttpClientCertificate.cs
- GenericTextProperties.cs
- SettingsPropertyWrongTypeException.cs
- GroupBoxAutomationPeer.cs
- Comparer.cs
- PublisherMembershipCondition.cs
- StructuredProperty.cs
- DesignTimeParseData.cs
- DebugView.cs
- ProtocolReflector.cs
- DeflateEmulationStream.cs
- FileFormatException.cs
- Literal.cs
- UxThemeWrapper.cs
- ListViewSelectEventArgs.cs
- DesignerGenericWebPart.cs
- XsdValidatingReader.cs
- assemblycache.cs
- SafeNativeMethodsMilCoreApi.cs
- SqlComparer.cs
- ActivationServices.cs
- HttpServerVarsCollection.cs
- WinEventHandler.cs
- _HeaderInfoTable.cs
- ResourceWriter.cs
- InvalidBodyAccessException.cs
- Binding.cs
- XsdDateTime.cs
- Interop.cs
- AccessKeyManager.cs
- XmlDataCollection.cs
- StylusButtonEventArgs.cs
- SecurityPolicySection.cs