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
- RoutedEventArgs.cs
- SmtpReplyReaderFactory.cs
- SecurityManager.cs
- Point3DIndependentAnimationStorage.cs
- TextStore.cs
- RegexCapture.cs
- OutputCacheModule.cs
- NotEqual.cs
- BuilderPropertyEntry.cs
- WebPartConnectionCollection.cs
- PropertyEmitter.cs
- FileSecurity.cs
- QueueProcessor.cs
- BindingMAnagerBase.cs
- ListViewSelectEventArgs.cs
- BitmapEffectGroup.cs
- MouseWheelEventArgs.cs
- TransformerConfigurationWizardBase.cs
- BeginEvent.cs
- WindowPattern.cs
- DoWhile.cs
- DynamicPropertyHolder.cs
- LinkArea.cs
- UserControlAutomationPeer.cs
- ClientProxyGenerator.cs
- EmptyControlCollection.cs
- IItemContainerGenerator.cs
- DashStyle.cs
- SelectionListDesigner.cs
- RenderingEventArgs.cs
- CodeDomConfigurationHandler.cs
- TextAnchor.cs
- Expression.cs
- _WinHttpWebProxyDataBuilder.cs
- QueryResult.cs
- DesignerLabelAdapter.cs
- _HTTPDateParse.cs
- ArrayItemReference.cs
- TemplatedMailWebEventProvider.cs
- GridViewRow.cs
- LinkAreaEditor.cs
- OutputCacheModule.cs
- CollaborationHelperFunctions.cs
- ReadContentAsBinaryHelper.cs
- ResourcesBuildProvider.cs
- OleDbErrorCollection.cs
- HostProtectionException.cs
- AsyncResult.cs
- Vector.cs
- SuppressMessageAttribute.cs
- CodeDomConfigurationHandler.cs
- DataAdapter.cs
- DropDownButton.cs
- Ports.cs
- PagePropertiesChangingEventArgs.cs
- TdsParserStaticMethods.cs
- ProtocolElement.cs
- MimeMapping.cs
- ICspAsymmetricAlgorithm.cs
- _SecureChannel.cs
- ContextMenu.cs
- SystemNetworkInterface.cs
- EntityCodeGenerator.cs
- UniqueIdentifierService.cs
- CfgSemanticTag.cs
- SplitterPanel.cs
- Visitor.cs
- DropShadowBitmapEffect.cs
- StateItem.cs
- FakeModelPropertyImpl.cs
- QuaternionValueSerializer.cs
- WebServiceParameterData.cs
- ValidateNames.cs
- MetabaseServerConfig.cs
- UpdatePanelTriggerCollection.cs
- ComEventsInfo.cs
- EntityCommandExecutionException.cs
- HyperLinkField.cs
- CodeStatementCollection.cs
- TextDocumentView.cs
- String.cs
- TemplateXamlParser.cs
- SafeCoTaskMem.cs
- PersonalizationProviderHelper.cs
- NativeMethods.cs
- ProcessStartInfo.cs
- XmlSchemaComplexContent.cs
- Base64Encoder.cs
- FileDialog_Vista_Interop.cs
- HttpResponseMessageProperty.cs
- BuilderPropertyEntry.cs
- _FtpDataStream.cs
- CustomErrorCollection.cs
- TrailingSpaceComparer.cs
- ElementUtil.cs
- SortFieldComparer.cs
- ActivityExecutorSurrogate.cs
- WebPartConnectionCollection.cs
- WindowsSlider.cs
- DocumentViewerBaseAutomationPeer.cs