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
- Compensation.cs
- AnnotationService.cs
- ComponentResourceKey.cs
- Queue.cs
- ClientScriptManager.cs
- XDRSchema.cs
- SafeFileHandle.cs
- SetStateEventArgs.cs
- XmlSchemaExternal.cs
- OracleString.cs
- SR.cs
- FilteredAttributeCollection.cs
- HierarchicalDataTemplate.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- Pair.cs
- VectorCollectionValueSerializer.cs
- SqlFactory.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TypedElement.cs
- InfiniteIntConverter.cs
- GeneralTransform3DTo2D.cs
- FlowDocumentView.cs
- EndpointAddressAugust2004.cs
- MarkerProperties.cs
- DBConnectionString.cs
- StrongName.cs
- DecimalConverter.cs
- BaseWebProxyFinder.cs
- TextCompositionManager.cs
- XmlSchemaSubstitutionGroup.cs
- EmptyEnumerable.cs
- ExpressionVisitor.cs
- RpcResponse.cs
- CategoryNameCollection.cs
- Stackframe.cs
- DataKeyArray.cs
- HttpUnhandledOperationInvoker.cs
- OrthographicCamera.cs
- Size.cs
- DependencyPropertyChangedEventArgs.cs
- Cursors.cs
- TreeNodeCollectionEditor.cs
- Pair.cs
- MaskInputRejectedEventArgs.cs
- PathFigureCollection.cs
- NamedServiceModelExtensionCollectionElement.cs
- FileDialogPermission.cs
- ServiceHttpModule.cs
- PropertyTab.cs
- SqlDataSourceQueryEditor.cs
- XmlCustomFormatter.cs
- ValueUtilsSmi.cs
- RequestTimeoutManager.cs
- XmlStringTable.cs
- NativeMethods.cs
- DataBoundLiteralControl.cs
- GenericsInstances.cs
- ExpressionDumper.cs
- QilReplaceVisitor.cs
- PathNode.cs
- Token.cs
- DomainUpDown.cs
- DispatchChannelSink.cs
- NullRuntimeConfig.cs
- Stack.cs
- KeysConverter.cs
- WebSysDisplayNameAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- Ref.cs
- NetStream.cs
- EditorPartCollection.cs
- TextRangeBase.cs
- PersonalizationDictionary.cs
- ObjectStateManagerMetadata.cs
- CompiledXpathExpr.cs
- ReadOnlyDataSourceView.cs
- EventManager.cs
- WorkflowPersistenceService.cs
- ConfigurationLockCollection.cs
- ArgumentNullException.cs
- EpmTargetTree.cs
- ICspAsymmetricAlgorithm.cs
- SafeWaitHandle.cs
- OverflowException.cs
- UrlMappingsModule.cs
- XmlKeywords.cs
- Globals.cs
- Matrix3D.cs
- CommandID.cs
- DatePickerTextBox.cs
- XmlQualifiedName.cs
- WindowsFormsHostPropertyMap.cs
- DoubleUtil.cs
- CacheRequest.cs
- ProgressBarHighlightConverter.cs
- WebDescriptionAttribute.cs
- CompressedStack.cs
- ExportException.cs
- ContractReference.cs
- PointCollectionConverter.cs