Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLocalMemHandle.cs / 1 / SafeLocalMemHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLocalMemHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for handle to local memory ** ** Date: July 8, 2002 ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Runtime.ConstrainedExecution; namespace Microsoft.Win32.SafeHandles { [HostProtectionAttribute(MayLeakOnAbort = true)] [SuppressUnmanagedCodeSecurityAttribute] internal sealed class SafeLocalMemHandle : SafeHandleZeroOrMinusOneIsInvalid { internal SafeLocalMemHandle() : base(true) {} [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeLocalMemHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern IntPtr LocalFree(IntPtr hMem); override protected bool ReleaseHandle() { return LocalFree(handle) == IntPtr.Zero; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLocalMemHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for handle to local memory ** ** Date: July 8, 2002 ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Runtime.ConstrainedExecution; namespace Microsoft.Win32.SafeHandles { [HostProtectionAttribute(MayLeakOnAbort = true)] [SuppressUnmanagedCodeSecurityAttribute] internal sealed class SafeLocalMemHandle : SafeHandleZeroOrMinusOneIsInvalid { internal SafeLocalMemHandle() : base(true) {} [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeLocalMemHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern IntPtr LocalFree(IntPtr hMem); override protected bool ReleaseHandle() { return LocalFree(handle) == IntPtr.Zero; } } } // 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
- Light.cs
- PartBasedPackageProperties.cs
- TabItemWrapperAutomationPeer.cs
- XPathNavigator.cs
- TextPenaltyModule.cs
- PlaceHolder.cs
- DbTransaction.cs
- ShaderEffect.cs
- DataGridViewTextBoxCell.cs
- MailBnfHelper.cs
- FixedPageStructure.cs
- compensatingcollection.cs
- CollectionsUtil.cs
- NotImplementedException.cs
- HashRepartitionStream.cs
- PeerCustomResolverBindingElement.cs
- DummyDataSource.cs
- nulltextnavigator.cs
- PresentationAppDomainManager.cs
- BasicAsyncResult.cs
- WMICapabilities.cs
- ImageSource.cs
- ProtocolReflector.cs
- DeflateStream.cs
- InvalidOleVariantTypeException.cs
- SqlAliaser.cs
- FunctionQuery.cs
- AssertFilter.cs
- DescriptionAttribute.cs
- SetterBaseCollection.cs
- PolicyStatement.cs
- FigureHelper.cs
- ServiceDebugBehavior.cs
- Utilities.cs
- ProbeMatchesMessageCD1.cs
- SendingRequestEventArgs.cs
- XmlSchemaComplexContentRestriction.cs
- InteropAutomationProvider.cs
- StateMachine.cs
- OleDbError.cs
- XamlClipboardData.cs
- StrokeCollection2.cs
- SmiEventSink_Default.cs
- ControlPager.cs
- ImpersonationContext.cs
- ListViewTableRow.cs
- ParseNumbers.cs
- XmlMembersMapping.cs
- StreamAsIStream.cs
- TypeUsage.cs
- ProfilePropertySettingsCollection.cs
- ReferentialConstraintRoleElement.cs
- WebPartConnectionsCloseVerb.cs
- ValueUtilsSmi.cs
- safemediahandle.cs
- TypeElement.cs
- ISAPIRuntime.cs
- BuiltInExpr.cs
- InternalConfigHost.cs
- HostProtectionPermission.cs
- SeekStoryboard.cs
- IncrementalCompileAnalyzer.cs
- CodeDomSerializerBase.cs
- ExpressionBuilderCollection.cs
- PenContext.cs
- autovalidator.cs
- InstalledFontCollection.cs
- COM2FontConverter.cs
- ControlPaint.cs
- FilteredXmlReader.cs
- Literal.cs
- AssemblyInfo.cs
- XmlText.cs
- ByeOperationCD1AsyncResult.cs
- Constraint.cs
- ListViewDataItem.cs
- SeverityFilter.cs
- XmlNamespaceMappingCollection.cs
- PresentationTraceSources.cs
- ListParagraph.cs
- DataBindEngine.cs
- StorageMappingItemCollection.cs
- HopperCache.cs
- SaveFileDialog.cs
- dataprotectionpermissionattribute.cs
- CountdownEvent.cs
- ScriptMethodAttribute.cs
- SortKey.cs
- AccessedThroughPropertyAttribute.cs
- MenuItem.cs
- AddressingProperty.cs
- ElementHost.cs
- Roles.cs
- ListParagraph.cs
- GenericUriParser.cs
- NonVisualControlAttribute.cs
- EastAsianLunisolarCalendar.cs
- ImageListUtils.cs
- DBNull.cs
- ConcurrencyMode.cs