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
- HttpListenerPrefixCollection.cs
- TimeZoneNotFoundException.cs
- ConfigurationProperty.cs
- BrushConverter.cs
- iisPickupDirectory.cs
- TypeRefElement.cs
- DynamicILGenerator.cs
- CodePropertyReferenceExpression.cs
- ExpressionLexer.cs
- PartialCachingControl.cs
- RegionData.cs
- ScriptReferenceBase.cs
- WindowsListViewGroupSubsetLink.cs
- DataGridViewRowPostPaintEventArgs.cs
- IdentityModelDictionary.cs
- SqlTriggerAttribute.cs
- FormsAuthenticationConfiguration.cs
- ListViewDataItem.cs
- SecUtil.cs
- FamilyTypeface.cs
- OneToOneMappingSerializer.cs
- VirtualizingPanel.cs
- WindowsFormsSynchronizationContext.cs
- IdnElement.cs
- LayoutUtils.cs
- SqlInternalConnection.cs
- ValueTable.cs
- SafeHandles.cs
- DrawingAttributesDefaultValueFactory.cs
- DbProviderFactory.cs
- InvalidEnumArgumentException.cs
- ThemeableAttribute.cs
- TextServicesCompartmentContext.cs
- ValidationErrorEventArgs.cs
- SyndicationSerializer.cs
- Misc.cs
- XmlQualifiedName.cs
- KeyboardNavigation.cs
- FloatSumAggregationOperator.cs
- CommandField.cs
- DispatchOperationRuntime.cs
- XNodeSchemaApplier.cs
- BamlRecordReader.cs
- SqlClientFactory.cs
- ProfileParameter.cs
- ClientCredentialsSecurityTokenManager.cs
- ControlCachePolicy.cs
- PatternMatcher.cs
- DirectionalLight.cs
- XmlDataSourceView.cs
- IgnoreSectionHandler.cs
- ListViewSelectEventArgs.cs
- XmlDataImplementation.cs
- ListCardsInFileRequest.cs
- UnknownBitmapDecoder.cs
- XhtmlBasicLabelAdapter.cs
- ScriptComponentDescriptor.cs
- SiteMapNode.cs
- SpellerInterop.cs
- NeutralResourcesLanguageAttribute.cs
- UICuesEvent.cs
- AudioDeviceOut.cs
- IProvider.cs
- WindowsListViewSubItem.cs
- RuntimeVariableList.cs
- GenericEnumConverter.cs
- TransformValueSerializer.cs
- VirtualPathExtension.cs
- TransformerConfigurationWizardBase.cs
- TriggerCollection.cs
- ColorAnimation.cs
- BamlMapTable.cs
- RSAPKCS1SignatureDeformatter.cs
- SqlDataSourceConnectionPanel.cs
- HtmlMeta.cs
- ToolStripDropDownClosedEventArgs.cs
- Button.cs
- QueueProcessor.cs
- TableChangeProcessor.cs
- SQLGuidStorage.cs
- ApplicationHost.cs
- AvTraceDetails.cs
- IndexExpression.cs
- MemoryPressure.cs
- SimpleWorkerRequest.cs
- ResourcePart.cs
- UdpDiscoveryMessageFilter.cs
- Rect.cs
- MsmqInputSessionChannel.cs
- RepeatInfo.cs
- AsyncPostBackTrigger.cs
- ImpersonationContext.cs
- DecoderReplacementFallback.cs
- HttpPostedFileWrapper.cs
- XPathNavigatorKeyComparer.cs
- UseLicense.cs
- StrongNameIdentityPermission.cs
- FormViewUpdatedEventArgs.cs
- ReservationCollection.cs
- CollectionDataContractAttribute.cs