Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / Microsoft / Win32 / SafeHandles / SafeViewOfFileHandle.cs / 1 / SafeViewOfFileHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeViewOfFileHandle ** ** ** A wrapper for file handles ** ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; namespace Microsoft.Win32.SafeHandles { internal sealed class SafeViewOfFileHandle : SafeHandleZeroOrMinusOneIsInvalid { [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeViewOfFileHandle() : base(true) {} // 0 is an Invalid Handle [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeViewOfFileHandle(IntPtr handle, bool ownsHandle) : base (ownsHandle) { SetHandle(handle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { if (Win32Native.UnmapViewOfFile(handle)) { handle = IntPtr.Zero; return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeViewOfFileHandle ** ** ** A wrapper for file handles ** ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; namespace Microsoft.Win32.SafeHandles { internal sealed class SafeViewOfFileHandle : SafeHandleZeroOrMinusOneIsInvalid { [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeViewOfFileHandle() : base(true) {} // 0 is an Invalid Handle [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeViewOfFileHandle(IntPtr handle, bool ownsHandle) : base (ownsHandle) { SetHandle(handle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { if (Win32Native.UnmapViewOfFile(handle)) { handle = IntPtr.Zero; return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColumnWidthChangedEvent.cs
- WasAdminWrapper.cs
- DataTableExtensions.cs
- PixelFormats.cs
- DBPropSet.cs
- SharedPersonalizationStateInfo.cs
- SchemaImporter.cs
- BoundingRectTracker.cs
- OutputCacheSettingsSection.cs
- SystemMulticastIPAddressInformation.cs
- SafeIUnknown.cs
- BitVector32.cs
- PropertySet.cs
- AssemblyCollection.cs
- IMembershipProvider.cs
- X509SecurityTokenProvider.cs
- ReadOnlyActivityGlyph.cs
- WebReferencesBuildProvider.cs
- SHA512.cs
- WindowsTooltip.cs
- RSAPKCS1SignatureFormatter.cs
- MsmqProcessProtocolHandler.cs
- FixedPageAutomationPeer.cs
- ErrorHandler.cs
- followingquery.cs
- GeometryConverter.cs
- MouseGestureValueSerializer.cs
- IgnoreDataMemberAttribute.cs
- DataRowView.cs
- HitTestWithPointDrawingContextWalker.cs
- ButtonChrome.cs
- CommandValueSerializer.cs
- XPathDocumentBuilder.cs
- ItemMap.cs
- VisualTransition.cs
- GridViewDeleteEventArgs.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- StyleXamlTreeBuilder.cs
- XsltOutput.cs
- PersonalizationProviderCollection.cs
- ContextMenu.cs
- XmlTextEncoder.cs
- XmlAttributeAttribute.cs
- NamespaceEmitter.cs
- BaseTemplateParser.cs
- Panel.cs
- SQLDouble.cs
- BitmapMetadata.cs
- RuntimeArgument.cs
- HtmlShim.cs
- GridEntryCollection.cs
- SizeChangedEventArgs.cs
- BamlVersionHeader.cs
- PkcsUtils.cs
- SByteStorage.cs
- isolationinterop.cs
- SplitterEvent.cs
- StorageTypeMapping.cs
- Terminate.cs
- DiffuseMaterial.cs
- EntityExpressionVisitor.cs
- GcSettings.cs
- panel.cs
- DrawingContextDrawingContextWalker.cs
- DataSet.cs
- Pair.cs
- ArrayElementGridEntry.cs
- CLSCompliantAttribute.cs
- SqlCacheDependencySection.cs
- CodeAssignStatement.cs
- MemberHolder.cs
- FrugalList.cs
- PropertyDescriptorComparer.cs
- __Filters.cs
- LinqDataSourceUpdateEventArgs.cs
- EditorPartCollection.cs
- Utility.cs
- LogEntryDeserializer.cs
- RequestNavigateEventArgs.cs
- WS2007FederationHttpBindingCollectionElement.cs
- FontSizeConverter.cs
- X509ChainElement.cs
- LayoutUtils.cs
- HttpVersion.cs
- PropertyManager.cs
- DirectoryObjectSecurity.cs
- EventLogPermission.cs
- SmiSettersStream.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- EntityStoreSchemaGenerator.cs
- SimpleMailWebEventProvider.cs
- XamlFilter.cs
- BaseTemplateCodeDomTreeGenerator.cs
- PropertyGridEditorPart.cs
- TreeNodeClickEventArgs.cs
- PrintPageEvent.cs
- ResourceType.cs
- Int16AnimationBase.cs
- TiffBitmapDecoder.cs
- JoinElimination.cs