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
- Identity.cs
- ActivitySurrogate.cs
- ReadOnlyCollection.cs
- AdjustableArrowCap.cs
- AutomationProperty.cs
- QilNode.cs
- KeyValueSerializer.cs
- EFAssociationProvider.cs
- GenericIdentity.cs
- ExpandSegment.cs
- EmptyCollection.cs
- StylusPointPropertyInfoDefaults.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- AttributeAction.cs
- Update.cs
- UrlParameterWriter.cs
- MetadataItemSerializer.cs
- FixedSOMPage.cs
- OpenFileDialog.cs
- IconConverter.cs
- Utils.cs
- ServerValidateEventArgs.cs
- TextBoxAutoCompleteSourceConverter.cs
- Internal.cs
- codemethodreferenceexpression.cs
- CompareValidator.cs
- QuaternionAnimationBase.cs
- TextServicesDisplayAttributePropertyRanges.cs
- BrowsableAttribute.cs
- KeyInstance.cs
- DbParameterHelper.cs
- DecoderExceptionFallback.cs
- SafePointer.cs
- RawStylusInputCustomDataList.cs
- NonClientArea.cs
- SubstitutionList.cs
- DataSourceHelper.cs
- CollectionChangeEventArgs.cs
- DiscreteKeyFrames.cs
- OperationFormatStyle.cs
- ScriptingSectionGroup.cs
- MtomMessageEncodingElement.cs
- SmtpLoginAuthenticationModule.cs
- ImageDrawing.cs
- SqlNamer.cs
- _AutoWebProxyScriptWrapper.cs
- Expander.cs
- HTTPNotFoundHandler.cs
- MergePropertyDescriptor.cs
- Expressions.cs
- Stacktrace.cs
- DeferredReference.cs
- DesignerHierarchicalDataSourceView.cs
- WmlListAdapter.cs
- MenuAutomationPeer.cs
- TypeGeneratedEventArgs.cs
- StreamHelper.cs
- SoundPlayerAction.cs
- CustomErrorCollection.cs
- PackWebRequest.cs
- TraceProvider.cs
- DesignerCategoryAttribute.cs
- Utils.cs
- EventLogTraceListener.cs
- TemplateAction.cs
- SmiEventSink_Default.cs
- OleDbMetaDataFactory.cs
- HtmlInputFile.cs
- WebRequest.cs
- ObjectCacheSettings.cs
- SimpleWorkerRequest.cs
- BuildResultCache.cs
- RadioButton.cs
- SystemColors.cs
- AutomationAttributeInfo.cs
- CommandValueSerializer.cs
- TwoPhaseCommit.cs
- RuleInfoComparer.cs
- ViewBase.cs
- XhtmlBasicFormAdapter.cs
- RegexCaptureCollection.cs
- FixedLineResult.cs
- XXXOnTypeBuilderInstantiation.cs
- SuppressMessageAttribute.cs
- UrlPath.cs
- XmlSchemaComplexType.cs
- PrintingPermissionAttribute.cs
- IndependentAnimationStorage.cs
- AnonymousIdentificationSection.cs
- ControlType.cs
- ContextMenu.cs
- httpserverutility.cs
- AccessDataSourceView.cs
- RequestQueue.cs
- ListViewCancelEventArgs.cs
- NativeCppClassAttribute.cs
- ResourcePermissionBase.cs
- DataGridCaption.cs
- ExpressionBuilder.cs
- CryptoApi.cs