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
- ProxyWebPartConnectionCollection.cs
- DispatcherExceptionEventArgs.cs
- QilInvoke.cs
- XmlSchemaDocumentation.cs
- SubMenuStyle.cs
- NotEqual.cs
- WindowsUpDown.cs
- columnmapkeybuilder.cs
- AtomPub10CategoriesDocumentFormatter.cs
- RuleProcessor.cs
- CryptoConfig.cs
- CodeCommentStatementCollection.cs
- webproxy.cs
- Vertex.cs
- LinqDataSourceView.cs
- AccessDataSourceDesigner.cs
- InkCanvasSelectionAdorner.cs
- IxmlLineInfo.cs
- NameValueSectionHandler.cs
- MeshGeometry3D.cs
- CodeParameterDeclarationExpressionCollection.cs
- PnrpPermission.cs
- WorkflowDesignerMessageFilter.cs
- TreeNodeBinding.cs
- XmlAnyElementAttributes.cs
- NotSupportedException.cs
- _BasicClient.cs
- CheckBox.cs
- TreeNodeClickEventArgs.cs
- ConditionCollection.cs
- XamlToRtfParser.cs
- ButtonStandardAdapter.cs
- ErrorStyle.cs
- DisplayMemberTemplateSelector.cs
- SubtreeProcessor.cs
- ActiveXSite.cs
- AutomationTextAttribute.cs
- Configuration.cs
- BitmapPalettes.cs
- MachineKeySection.cs
- EncoderFallback.cs
- TabItem.cs
- XslNumber.cs
- UrlAuthorizationModule.cs
- RegistrationServices.cs
- IPipelineRuntime.cs
- TabPage.cs
- XPathArrayIterator.cs
- TimeoutTimer.cs
- WorkflowRequestContext.cs
- HuffModule.cs
- TraceLevelStore.cs
- ListControlConvertEventArgs.cs
- DataGrid.cs
- AttributeAction.cs
- QilChoice.cs
- _Semaphore.cs
- DateTimeValueSerializerContext.cs
- DataGridViewImageCell.cs
- InvalidOperationException.cs
- AppSettingsExpressionEditor.cs
- PolyQuadraticBezierSegment.cs
- DefaultTextStoreTextComposition.cs
- QualifiedCellIdBoolean.cs
- AlternationConverter.cs
- HTMLTextWriter.cs
- PageParserFilter.cs
- WebBrowserNavigatingEventHandler.cs
- PingOptions.cs
- ManipulationDeltaEventArgs.cs
- NumericPagerField.cs
- PixelShader.cs
- IdentifierService.cs
- CriticalHandle.cs
- DataGridViewCellCancelEventArgs.cs
- LoadRetryConstantStrategy.cs
- DiagnosticTraceRecords.cs
- Rectangle.cs
- HiddenFieldPageStatePersister.cs
- OdbcException.cs
- SeekableReadStream.cs
- MasterPageParser.cs
- safelink.cs
- RootDesignerSerializerAttribute.cs
- SymDocumentType.cs
- UriSchemeKeyedCollection.cs
- Button.cs
- XmlSchemaGroup.cs
- DependencyPropertyChangedEventArgs.cs
- NonClientArea.cs
- EntryWrittenEventArgs.cs
- Opcode.cs
- StorageModelBuildProvider.cs
- RemotingConfiguration.cs
- ConditionCollection.cs
- RequestDescription.cs
- InvalidWMPVersionException.cs
- XPathDocumentBuilder.cs
- SqlLiftWhereClauses.cs
- JsonDeserializer.cs