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
- DoubleLinkList.cs
- SubpageParaClient.cs
- AdCreatedEventArgs.cs
- LateBoundBitmapDecoder.cs
- ResourcePermissionBaseEntry.cs
- HotSpot.cs
- NameValueConfigurationCollection.cs
- HMACSHA256.cs
- OdbcDataAdapter.cs
- FacetChecker.cs
- FormViewUpdatedEventArgs.cs
- PixelShader.cs
- QEncodedStream.cs
- TransportContext.cs
- ComponentRenameEvent.cs
- SqlFacetAttribute.cs
- FormParameter.cs
- PeerInputChannel.cs
- TextMarkerSource.cs
- XamlReaderConstants.cs
- HTTP_SERVICE_CONFIG_URLACL_PARAM.cs
- Component.cs
- AttachInfo.cs
- SqlBooleanizer.cs
- CharAnimationBase.cs
- DescendantQuery.cs
- SessionConnectionReader.cs
- CatalogUtil.cs
- RootProjectionNode.cs
- WindowsStatusBar.cs
- EmptyEnumerable.cs
- TagPrefixCollection.cs
- CodeIdentifiers.cs
- SafeLocalMemHandle.cs
- RegexParser.cs
- TextServicesCompartmentEventSink.cs
- ClickablePoint.cs
- CopyNodeSetAction.cs
- SystemNetworkInterface.cs
- DataControlFieldTypeEditor.cs
- ListDictionaryInternal.cs
- DesignerAttributeInfo.cs
- SqlUnionizer.cs
- AssemblyBuilderData.cs
- EndPoint.cs
- PropertyInformationCollection.cs
- DefaultValueConverter.cs
- TextServicesDisplayAttribute.cs
- DataGridItem.cs
- MaxMessageSizeStream.cs
- SByteConverter.cs
- FloatMinMaxAggregationOperator.cs
- RelationshipConverter.cs
- ProjectionCamera.cs
- ArrayHelper.cs
- CodeFieldReferenceExpression.cs
- GlyphInfoList.cs
- AssemblyLoader.cs
- EndSelectCardRequest.cs
- DispatcherProcessingDisabled.cs
- XmlEntityReference.cs
- ServerIdentity.cs
- CompilerWrapper.cs
- SqlProcedureAttribute.cs
- ZipArchive.cs
- SqlUdtInfo.cs
- CodeAssignStatement.cs
- COAUTHIDENTITY.cs
- MobileUserControl.cs
- WebMethodAttribute.cs
- WebControl.cs
- EndpointInfoCollection.cs
- CollectionMarkupSerializer.cs
- WindowsSlider.cs
- ScriptResourceInfo.cs
- HyperLinkColumn.cs
- SemaphoreSecurity.cs
- ServiceDesigner.cs
- DrawingImage.cs
- ReflectPropertyDescriptor.cs
- nulltextnavigator.cs
- PlainXmlSerializer.cs
- FixedBufferAttribute.cs
- DbProviderManifest.cs
- DescendantBaseQuery.cs
- DataSourceHelper.cs
- DataSet.cs
- KeyBinding.cs
- QueuedDeliveryRequirementsMode.cs
- VectorAnimationUsingKeyFrames.cs
- TemplateInstanceAttribute.cs
- MetadataWorkspace.cs
- XmlSchemaComplexType.cs
- Compilation.cs
- SchemaDeclBase.cs
- HttpCapabilitiesSectionHandler.cs
- ToolboxItem.cs
- HttpCookiesSection.cs
- InfiniteTimeSpanConverter.cs
- HtmlInputRadioButton.cs