Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- PointLightBase.cs
- NavigationFailedEventArgs.cs
- KeyInfo.cs
- TriggerActionCollection.cs
- NativeCppClassAttribute.cs
- TemplateKey.cs
- RelationshipSet.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ConfigXmlWhitespace.cs
- DataControlFieldCell.cs
- PasswordRecoveryDesigner.cs
- LogConverter.cs
- NamespaceEmitter.cs
- ContentTextAutomationPeer.cs
- SessionEndingEventArgs.cs
- FileDialogPermission.cs
- IOException.cs
- SapiAttributeParser.cs
- CodeChecksumPragma.cs
- SchemaTableColumn.cs
- StringWriter.cs
- DialogDivider.cs
- ExpressionReplacer.cs
- Brush.cs
- _WinHttpWebProxyDataBuilder.cs
- SelectManyQueryOperator.cs
- SignatureConfirmations.cs
- TextTreeTextNode.cs
- ObjectDisposedException.cs
- tooltip.cs
- MimeMultiPart.cs
- PointLight.cs
- CaseStatementSlot.cs
- FontDialog.cs
- ChannelTraceRecord.cs
- X509Extension.cs
- ResXResourceWriter.cs
- DataGridParentRows.cs
- AmbiguousMatchException.cs
- OdbcConnectionString.cs
- _BaseOverlappedAsyncResult.cs
- ObjectSpanRewriter.cs
- IgnoreFileBuildProvider.cs
- ObjectDataSourceMethodEventArgs.cs
- IntranetCredentialPolicy.cs
- PersonalizationEntry.cs
- TextBoxAutomationPeer.cs
- ConnectionStringSettings.cs
- ConnectionManagementElement.cs
- RtfNavigator.cs
- TextTreeTextElementNode.cs
- StateMachineAction.cs
- Application.cs
- IOException.cs
- PageCache.cs
- XmlElementList.cs
- PermissionListSet.cs
- XmlReturnWriter.cs
- LeftCellWrapper.cs
- ConfigXmlText.cs
- PackageStore.cs
- ListMarkerSourceInfo.cs
- ThousandthOfEmRealDoubles.cs
- HtmlTableRow.cs
- Compiler.cs
- Parallel.cs
- Win32KeyboardDevice.cs
- recordstate.cs
- RootNamespaceAttribute.cs
- DocumentOutline.cs
- BaseDataList.cs
- WebSysDefaultValueAttribute.cs
- PlainXmlDeserializer.cs
- LinkArea.cs
- PageParser.cs
- SrgsRule.cs
- SvcMapFileLoader.cs
- NativeRecognizer.cs
- MeasureData.cs
- XPathParser.cs
- mediapermission.cs
- DesignerVerb.cs
- UnicastIPAddressInformationCollection.cs
- LowerCaseStringConverter.cs
- PathSegment.cs
- URLMembershipCondition.cs
- ByteAnimationBase.cs
- DataBindingList.cs
- ProgressBarBrushConverter.cs
- ServiceBuildProvider.cs
- FaultContractAttribute.cs
- ToolStripDropDown.cs
- Canvas.cs
- ClientBuildManager.cs
- ContextBase.cs
- MonthCalendarDesigner.cs
- MobileCapabilities.cs
- GlyphShapingProperties.cs
- RuleInfoComparer.cs
- SiteMapNodeCollection.cs