Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- WindowsAuthenticationModule.cs
- HttpProcessUtility.cs
- ActivityIdHeader.cs
- BamlWriter.cs
- SQLBinary.cs
- ExternalFile.cs
- Page.cs
- EmptyQuery.cs
- metadatamappinghashervisitor.cs
- RemotingAttributes.cs
- ThrowHelper.cs
- HostingEnvironmentWrapper.cs
- ScriptingScriptResourceHandlerSection.cs
- WindowsStatic.cs
- WebPartTransformerAttribute.cs
- UserControlBuildProvider.cs
- IconBitmapDecoder.cs
- Size3D.cs
- DirectoryGroupQuery.cs
- ContextStaticAttribute.cs
- Matrix.cs
- Int64AnimationUsingKeyFrames.cs
- SqlStream.cs
- DataContract.cs
- DynamicPropertyHolder.cs
- OdbcParameter.cs
- DataGridViewTextBoxCell.cs
- JapaneseLunisolarCalendar.cs
- MetadataSerializer.cs
- FirstMatchCodeGroup.cs
- SimpleWorkerRequest.cs
- ScriptControlManager.cs
- InternalMappingException.cs
- ResXResourceSet.cs
- WebConfigurationFileMap.cs
- SafePointer.cs
- RepeatInfo.cs
- SiteOfOriginContainer.cs
- DrawingContext.cs
- wpf-etw.cs
- FormsAuthenticationUserCollection.cs
- TreeView.cs
- Brush.cs
- ConfigurationLoaderException.cs
- IfAction.cs
- ChameleonKey.cs
- altserialization.cs
- Decoder.cs
- ProgramNode.cs
- XmlComment.cs
- x509utils.cs
- LightweightEntityWrapper.cs
- IntranetCredentialPolicy.cs
- SchemaImporterExtensionsSection.cs
- WindowsRichEditRange.cs
- MonitorWrapper.cs
- ListViewTableRow.cs
- ControlEvent.cs
- LowerCaseStringConverter.cs
- ParserOptions.cs
- UnaryNode.cs
- UndoUnit.cs
- FindRequestContext.cs
- Endpoint.cs
- CounterCreationDataConverter.cs
- sqlnorm.cs
- CultureInfoConverter.cs
- ServerValidateEventArgs.cs
- ConnectionManagementElementCollection.cs
- Semaphore.cs
- DateTimeFormatInfoScanner.cs
- ConnectionOrientedTransportChannelFactory.cs
- XmlDomTextWriter.cs
- EventItfInfo.cs
- SortAction.cs
- RequestBringIntoViewEventArgs.cs
- HostVisual.cs
- FragmentNavigationEventArgs.cs
- MapPathBasedVirtualPathProvider.cs
- RequestCache.cs
- XmlDeclaration.cs
- AnnotationService.cs
- ByteConverter.cs
- FixedSOMPage.cs
- FindCriteriaElement.cs
- CommandBinding.cs
- QuaternionRotation3D.cs
- Point.cs
- ItemContainerGenerator.cs
- __ComObject.cs
- SEHException.cs
- ReferenceConverter.cs
- SafeNativeMethodsMilCoreApi.cs
- Internal.cs
- CleanUpVirtualizedItemEventArgs.cs
- TextDecorationUnitValidation.cs
- ChannelManager.cs
- RangeExpression.cs
- PersianCalendar.cs
- ShapeTypeface.cs