Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLocalMemHandle.cs / 1305376 / 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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.None)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ResourceExposure(ResourceScope.None)] [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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.None)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ResourceExposure(ResourceScope.None)] [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
- Converter.cs
- ResourceManagerWrapper.cs
- WeakHashtable.cs
- VirtualizedItemPattern.cs
- GroupQuery.cs
- DataError.cs
- VerificationException.cs
- Journal.cs
- BCryptNative.cs
- SqlBinder.cs
- _LazyAsyncResult.cs
- PointLightBase.cs
- ColorPalette.cs
- ZipIOLocalFileHeader.cs
- HtmlTable.cs
- RichTextBoxConstants.cs
- InplaceBitmapMetadataWriter.cs
- Delegate.cs
- DbCommandDefinition.cs
- Substitution.cs
- XmlDownloadManager.cs
- PropertyConverter.cs
- ResizeBehavior.cs
- ProgressBarRenderer.cs
- CompilerError.cs
- Walker.cs
- StandardRuntimeEnumValidator.cs
- ComponentEvent.cs
- RotateTransform3D.cs
- DrawingDrawingContext.cs
- SharedPersonalizationStateInfo.cs
- HwndPanningFeedback.cs
- SecurityElement.cs
- XmlValueConverter.cs
- OracleBFile.cs
- WarningException.cs
- IndependentAnimationStorage.cs
- DataColumnSelectionConverter.cs
- SerializerProvider.cs
- listitem.cs
- CultureInfoConverter.cs
- WebFaultClientMessageInspector.cs
- XomlDesignerLoader.cs
- AdornerLayer.cs
- X509Chain.cs
- TextTreePropertyUndoUnit.cs
- LineUtil.cs
- CompoundFileReference.cs
- DetailsViewDeleteEventArgs.cs
- LineServicesRun.cs
- UserPreferenceChangedEventArgs.cs
- OledbConnectionStringbuilder.cs
- SaveFileDialogDesigner.cs
- ControlCollection.cs
- Pen.cs
- XmlWrappingWriter.cs
- ScrollChrome.cs
- Calendar.cs
- WebBrowserContainer.cs
- TemplateBindingExpressionConverter.cs
- ArraySegment.cs
- SmtpReplyReader.cs
- NaturalLanguageHyphenator.cs
- XmlSchemaSet.cs
- WmlPageAdapter.cs
- StringToken.cs
- SortKey.cs
- DbCommandDefinition.cs
- HScrollProperties.cs
- iisPickupDirectory.cs
- AuthorizationRuleCollection.cs
- SpeechSeg.cs
- StrokeCollectionConverter.cs
- PropertyDescriptorGridEntry.cs
- TriggerAction.cs
- DateTimeSerializationSection.cs
- ClientApiGenerator.cs
- ImageButton.cs
- BuildManagerHost.cs
- CompilerGlobalScopeAttribute.cs
- AssociationSetEnd.cs
- SqlCacheDependency.cs
- HebrewCalendar.cs
- StateItem.cs
- FormatVersion.cs
- QuaternionRotation3D.cs
- AssemblyNameProxy.cs
- NetPeerTcpBindingCollectionElement.cs
- PropertyNames.cs
- PersonalizationEntry.cs
- BrowserCapabilitiesCodeGenerator.cs
- RelationshipFixer.cs
- PackWebRequestFactory.cs
- Listbox.cs
- Model3D.cs
- ExtensionQuery.cs
- SoapSchemaExporter.cs
- DictationGrammar.cs
- CounterSet.cs
- QueryCacheManager.cs