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
- ScrollChrome.cs
- DataViewManager.cs
- XmlSecureResolver.cs
- LinkUtilities.cs
- CoreSwitches.cs
- SemanticResultValue.cs
- SizeAnimationBase.cs
- GeneralTransform.cs
- TypedReference.cs
- HtmlShim.cs
- ErrorHandler.cs
- WebBrowserNavigatedEventHandler.cs
- ParseHttpDate.cs
- AbstractDataSvcMapFileLoader.cs
- ColumnHeader.cs
- ConfigurationManagerHelper.cs
- Base64Stream.cs
- MethodRental.cs
- XmlMembersMapping.cs
- ArrayEditor.cs
- COMException.cs
- xdrvalidator.cs
- TemplateLookupAction.cs
- MSG.cs
- QueuePathDialog.cs
- LightweightCodeGenerator.cs
- DataGridItem.cs
- MethodBody.cs
- ListViewAutomationPeer.cs
- CardSpaceSelector.cs
- PathData.cs
- WaitHandleCannotBeOpenedException.cs
- InkCanvasSelection.cs
- CollectionType.cs
- InvalidAsynchronousStateException.cs
- Command.cs
- IntegerCollectionEditor.cs
- SingleAnimationBase.cs
- StringInfo.cs
- RepeatBehaviorConverter.cs
- SecurityHeader.cs
- FrameAutomationPeer.cs
- SettingsAttributeDictionary.cs
- WindowsRichEdit.cs
- SymLanguageVendor.cs
- OdbcConnectionFactory.cs
- CompositeClientFormatter.cs
- BridgeDataRecord.cs
- MediaElementAutomationPeer.cs
- Parameter.cs
- DetailsViewInsertedEventArgs.cs
- BamlLocalizableResourceKey.cs
- SqlServices.cs
- ExceptionList.cs
- ContextMenuStripActionList.cs
- SemanticResolver.cs
- SqlTriggerAttribute.cs
- SortFieldComparer.cs
- XmlAttributeAttribute.cs
- FindSimilarActivitiesVerb.cs
- RadialGradientBrush.cs
- StorageComplexPropertyMapping.cs
- __Error.cs
- FaultException.cs
- TextContainer.cs
- TableLayoutColumnStyleCollection.cs
- TextTreeRootTextBlock.cs
- XmlElementCollection.cs
- SudsParser.cs
- LexicalChunk.cs
- ListView.cs
- EntitySqlQueryState.cs
- Matrix3D.cs
- WebServiceFault.cs
- AspCompat.cs
- IList.cs
- SignatureGenerator.cs
- Comparer.cs
- DependencyPropertyAttribute.cs
- RowUpdatedEventArgs.cs
- ObjectMemberMapping.cs
- safex509handles.cs
- Match.cs
- BrowserDefinition.cs
- RectAnimationUsingKeyFrames.cs
- BitmapData.cs
- StylusPointPropertyUnit.cs
- TextFormatter.cs
- ListControl.cs
- CharacterBuffer.cs
- CryptoApi.cs
- Helpers.cs
- GroupBoxRenderer.cs
- FrameworkContentElement.cs
- XmlSubtreeReader.cs
- ContentType.cs
- ReachSerializer.cs
- FacetValues.cs
- BatchParser.cs
- Panel.cs