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
- CheckoutException.cs
- ArraySubsetEnumerator.cs
- SatelliteContractVersionAttribute.cs
- Quaternion.cs
- NTAccount.cs
- PropertyGridView.cs
- NativeRightsManagementAPIsStructures.cs
- AppDomainFactory.cs
- CompilationLock.cs
- InputLangChangeEvent.cs
- TraceEventCache.cs
- BaseTemplateCodeDomTreeGenerator.cs
- StatusBarItemAutomationPeer.cs
- AlternationConverter.cs
- COSERVERINFO.cs
- IisTraceListener.cs
- ToolboxDataAttribute.cs
- StringCollectionMarkupSerializer.cs
- MemoryPressure.cs
- BamlTreeMap.cs
- XmlElement.cs
- PublisherIdentityPermission.cs
- FixedSOMTable.cs
- LayoutManager.cs
- LogicalMethodInfo.cs
- TypeExtension.cs
- RtfToken.cs
- LazyInitializer.cs
- ContextInformation.cs
- NotImplementedException.cs
- ControlCollection.cs
- MethodAccessException.cs
- ArrangedElementCollection.cs
- BufferModesCollection.cs
- ObfuscateAssemblyAttribute.cs
- MethodAccessException.cs
- MenuItemCollection.cs
- MimeWriter.cs
- EnumerableCollectionView.cs
- DataBoundControlAdapter.cs
- ChtmlTextWriter.cs
- DataRelationPropertyDescriptor.cs
- RemotingException.cs
- DataControlField.cs
- OleDbRowUpdatingEvent.cs
- QuaternionRotation3D.cs
- ImageDrawing.cs
- RegexBoyerMoore.cs
- PropertyReferenceSerializer.cs
- Misc.cs
- DescriptionCreator.cs
- ResourceDictionary.cs
- XsltSettings.cs
- WizardPanelChangingEventArgs.cs
- ToolStripPanelDesigner.cs
- XmlDictionaryString.cs
- WindowsScrollBar.cs
- InheritanceAttribute.cs
- TranslateTransform3D.cs
- RegisteredScript.cs
- PropertyOverridesDialog.cs
- DirtyTextRange.cs
- SimplePropertyEntry.cs
- EntityContainerEmitter.cs
- AdRotatorDesigner.cs
- OperandQuery.cs
- LayoutTableCell.cs
- FileLogRecord.cs
- HtmlShim.cs
- ProfileService.cs
- SoapFault.cs
- InstanceCreationEditor.cs
- SafeArrayTypeMismatchException.cs
- XmlReaderSettings.cs
- DetailsViewUpdateEventArgs.cs
- XamlInt32CollectionSerializer.cs
- LostFocusEventManager.cs
- XmlReflectionImporter.cs
- ImageInfo.cs
- Header.cs
- OneWayElement.cs
- TaskExceptionHolder.cs
- EventEntry.cs
- TraceXPathNavigator.cs
- StartUpEventArgs.cs
- ParameterToken.cs
- LinkedResource.cs
- NumericPagerField.cs
- ImageIndexConverter.cs
- State.cs
- PriorityQueue.cs
- ClassImporter.cs
- DbMetaDataFactory.cs
- PowerModeChangedEventArgs.cs
- NestPullup.cs
- DataListGeneralPage.cs
- TextDecoration.cs
- TaskHelper.cs
- StateMachineDesignerPaint.cs
- XmlElement.cs