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
- SqlProviderUtilities.cs
- CollectionTraceRecord.cs
- PointLight.cs
- FixedPageStructure.cs
- TimelineClockCollection.cs
- DataKey.cs
- SamlSubject.cs
- ProfileSection.cs
- RichTextBoxAutomationPeer.cs
- StyleModeStack.cs
- Merger.cs
- TraceHandler.cs
- ReaderWriterLock.cs
- WithStatement.cs
- PathSegmentCollection.cs
- NamespaceExpr.cs
- PageContentAsyncResult.cs
- RotateTransform.cs
- Substitution.cs
- ContentIterators.cs
- PerformanceCounterPermissionEntry.cs
- ListBox.cs
- Timeline.cs
- MinimizableAttributeTypeConverter.cs
- COM2IPerPropertyBrowsingHandler.cs
- XmlResolver.cs
- DataGridTextBox.cs
- HttpCapabilitiesBase.cs
- LocationUpdates.cs
- HtmlInputReset.cs
- CompModSwitches.cs
- MinimizableAttributeTypeConverter.cs
- ExceptionRoutedEventArgs.cs
- ByteStack.cs
- HtmlImage.cs
- DataViewSettingCollection.cs
- TypeConstant.cs
- ManagedWndProcTracker.cs
- Int32Collection.cs
- UpdatePanelTriggerCollection.cs
- NamedPipeAppDomainProtocolHandler.cs
- PropertyHelper.cs
- InputLanguageCollection.cs
- UniqueConstraint.cs
- XmlIlVisitor.cs
- RepeatInfo.cs
- PtsContext.cs
- FragmentQueryProcessor.cs
- XamlValidatingReader.cs
- MetafileHeaderWmf.cs
- SessionState.cs
- ReplyChannel.cs
- DataObjectFieldAttribute.cs
- TraceHwndHost.cs
- ListViewPagedDataSource.cs
- CompilerTypeWithParams.cs
- BamlResourceSerializer.cs
- AsyncOperationContext.cs
- SolidBrush.cs
- RegularExpressionValidator.cs
- SqlSelectStatement.cs
- ByteStreamMessage.cs
- Debug.cs
- RoleManagerModule.cs
- XmlDownloadManager.cs
- CorrelationActionMessageFilter.cs
- WebBrowserContainer.cs
- OdbcConnectionHandle.cs
- Debug.cs
- InteropAutomationProvider.cs
- TitleStyle.cs
- EntityRecordInfo.cs
- Model3D.cs
- GregorianCalendarHelper.cs
- MetadataHelper.cs
- AnnotationResource.cs
- SqlUnionizer.cs
- SQLBinaryStorage.cs
- UtilityExtension.cs
- FlowPosition.cs
- BaseCollection.cs
- CultureTableRecord.cs
- IriParsingElement.cs
- TextViewSelectionProcessor.cs
- MeshGeometry3D.cs
- ExpandSegment.cs
- DeclaredTypeValidator.cs
- UriTemplateHelpers.cs
- LinkedDataMemberFieldEditor.cs
- TableRowCollection.cs
- X509SubjectKeyIdentifierClause.cs
- LayoutInformation.cs
- X509UI.cs
- StringDictionaryCodeDomSerializer.cs
- HtmlFormAdapter.cs
- ImageClickEventArgs.cs
- PropertyDescriptor.cs
- Tracer.cs
- SubqueryTrackingVisitor.cs
- DeviceContext2.cs