Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / SafeNativeHandle.cs / 1 / SafeNativeHandle.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // // Presharp uses the c# pragma mechanism to supress its warnings. // These are not recognised by the base compiler so we need to explictly // disable the following warnings. See http://winweb/cse/Tools/PREsharp/userguide/default.asp // for details. // #pragma warning disable 1634, 1691 // unknown message, unknown pragma namespace Microsoft.InfoCards { using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using Microsoft.Win32.SafeHandles; // // Summary: // This is a wrapper for Native handles that ensures that they get closed and that the handle // held by this object isn't recycled. // internal sealed class SafeNativeHandle : SafeHandleZeroOrMinusOneIsInvalid { // Called by P/Invoke marshaler private SafeNativeHandle() : base( true ) { } // // Summary: // Creates a new SafeNativeHandle. // // Parameters: // existingHandle - A pointer to an existing native handle. // ownsHandle - Indicates whether this object owns the handle and should clean it up. // public SafeNativeHandle( IntPtr existingHandle, bool ownsHandle ) : base( ownsHandle ) { SetHandle( existingHandle ); } override protected bool ReleaseHandle() { // // Presharp: we want to return even in the case of failure. Useless to examine return error. // #pragma warning suppress 56523 return NativeMethods.SafeHandleOnlyMethods.CloseHandle( 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
- AnnotationAuthorChangedEventArgs.cs
- ImageDrawing.cs
- ApplicationServicesHostFactory.cs
- RC2.cs
- HashSetDebugView.cs
- ChannelManager.cs
- RelatedPropertyManager.cs
- BrowserDefinitionCollection.cs
- DBSqlParser.cs
- AttributeEmitter.cs
- ManipulationVelocities.cs
- XmlSchemaDatatype.cs
- AssemblyEvidenceFactory.cs
- JsonServiceDocumentSerializer.cs
- StringArrayConverter.cs
- SiteOfOriginPart.cs
- MenuItemAutomationPeer.cs
- SelectionWordBreaker.cs
- MdiWindowListStrip.cs
- HelpEvent.cs
- Adorner.cs
- Light.cs
- StringUtil.cs
- WebPartConnectionsEventArgs.cs
- ContractReference.cs
- CircleEase.cs
- HelloMessageApril2005.cs
- ArrayElementGridEntry.cs
- KeyInstance.cs
- ISSmlParser.cs
- Stack.cs
- HostSecurityManager.cs
- EventPrivateKey.cs
- ActivityBuilderHelper.cs
- CaseStatement.cs
- SafeSecurityHelper.cs
- ByteStream.cs
- HttpBrowserCapabilitiesBase.cs
- AnnotationResourceCollection.cs
- FieldMetadata.cs
- StringUtil.cs
- Hex.cs
- ButtonField.cs
- ScrollViewer.cs
- RichTextBoxAutomationPeer.cs
- NavigationProperty.cs
- updatecommandorderer.cs
- ReflectionPermission.cs
- DBSqlParser.cs
- Overlapped.cs
- ColorMatrix.cs
- AsymmetricAlgorithm.cs
- SqlProvider.cs
- SafeMILHandleMemoryPressure.cs
- SharedUtils.cs
- LedgerEntry.cs
- JumpPath.cs
- JoinElimination.cs
- AssemblyCacheEntry.cs
- ToolStripContentPanel.cs
- SQLUtility.cs
- PictureBox.cs
- SizeAnimationClockResource.cs
- WorkflowHostingEndpoint.cs
- PageWrapper.cs
- SrgsDocumentParser.cs
- ConnectionConsumerAttribute.cs
- PeerNodeAddress.cs
- ToolStripItemDataObject.cs
- DataGridViewColumnEventArgs.cs
- SecurityKeyType.cs
- DigestTraceRecordHelper.cs
- NotificationContext.cs
- ObjectDataSourceFilteringEventArgs.cs
- State.cs
- NumericExpr.cs
- WebBrowserPermission.cs
- XPathBuilder.cs
- EntityConnection.cs
- PeerTransportSecuritySettings.cs
- LabelInfo.cs
- ErrorFormatterPage.cs
- HierarchicalDataSourceConverter.cs
- HostExecutionContextManager.cs
- hwndwrapper.cs
- FormViewUpdatedEventArgs.cs
- UserControlParser.cs
- LiteralTextContainerControlBuilder.cs
- FormsAuthenticationCredentials.cs
- DbConnectionPoolIdentity.cs
- HandleCollector.cs
- PrintDialog.cs
- RuleDefinitions.cs
- TableHeaderCell.cs
- IncrementalReadDecoders.cs
- FontFamily.cs
- GeneratedCodeAttribute.cs
- CatalogZoneBase.cs
- KeyboardEventArgs.cs
- ButtonField.cs