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
- TextElementCollection.cs
- TransformationRules.cs
- DataServiceSaveChangesEventArgs.cs
- TrackingProfileDeserializationException.cs
- LambdaValue.cs
- QueryCursorEventArgs.cs
- ScalarConstant.cs
- XmlILConstructAnalyzer.cs
- TaskResultSetter.cs
- DirectionalLight.cs
- TraceLevelStore.cs
- AddingNewEventArgs.cs
- BezierSegment.cs
- OperationAbortedException.cs
- SystemBrushes.cs
- UrlPath.cs
- ListenerAdaptersInstallComponent.cs
- AttributeUsageAttribute.cs
- RelatedCurrencyManager.cs
- PriorityChain.cs
- MediaEntryAttribute.cs
- WithStatement.cs
- InfoCardRSACryptoProvider.cs
- StyleTypedPropertyAttribute.cs
- HostUtils.cs
- GZipStream.cs
- ReaderWriterLockWrapper.cs
- AssertUtility.cs
- CodeCommentStatementCollection.cs
- HttpCapabilitiesSectionHandler.cs
- DocumentOrderComparer.cs
- xml.cs
- DataSourceXmlClassAttribute.cs
- RbTree.cs
- ConnectionConsumerAttribute.cs
- InputProcessorProfilesLoader.cs
- TranslateTransform3D.cs
- CodeGenerator.cs
- PersonalizationStateInfo.cs
- ManipulationStartedEventArgs.cs
- Button.cs
- FormCollection.cs
- HttpsChannelFactory.cs
- Equal.cs
- ADMembershipUser.cs
- ConstraintStruct.cs
- Table.cs
- PrinterUnitConvert.cs
- EdgeModeValidation.cs
- PerformanceCounterManager.cs
- ComUdtElementCollection.cs
- QilNode.cs
- ClientRoleProvider.cs
- DataGridViewCell.cs
- AsyncWaitHandle.cs
- ContentPlaceHolder.cs
- DataSetFieldSchema.cs
- LayoutManager.cs
- PeerNearMe.cs
- ProfileGroupSettingsCollection.cs
- PropertiesTab.cs
- AtomMaterializer.cs
- InkCanvas.cs
- UpdatePanelTrigger.cs
- GlyphRun.cs
- AccessibilityHelperForVista.cs
- GridViewRow.cs
- SqlTransaction.cs
- XmlChoiceIdentifierAttribute.cs
- TransactionContextValidator.cs
- HtmlInputFile.cs
- FormsIdentity.cs
- TableProviderWrapper.cs
- DbDataReader.cs
- documentsequencetextview.cs
- DataDocumentXPathNavigator.cs
- XamlSerializerUtil.cs
- TransmissionStrategy.cs
- ChangeDirector.cs
- TypeContext.cs
- DataGridViewRowPrePaintEventArgs.cs
- Repeater.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- DispatcherTimer.cs
- Decimal.cs
- PowerStatus.cs
- BindingsSection.cs
- WsdlBuildProvider.cs
- BindValidator.cs
- UInt64Storage.cs
- EventBuilder.cs
- CommonXSendMessage.cs
- DPTypeDescriptorContext.cs
- TableLayoutCellPaintEventArgs.cs
- XamlBrushSerializer.cs
- AsyncCodeActivityContext.cs
- DataGridTable.cs
- ISSmlParser.cs
- X509CertificateEndpointIdentity.cs
- ExpressionPrefixAttribute.cs