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
- ButtonField.cs
- WindowsSlider.cs
- XmlValidatingReaderImpl.cs
- AncestorChangedEventArgs.cs
- TransformerConfigurationWizardBase.cs
- SystemColors.cs
- Bezier.cs
- PathSegmentCollection.cs
- MenuBindingsEditorForm.cs
- TakeOrSkipWhileQueryOperator.cs
- OLEDB_Enum.cs
- ZoneButton.cs
- XmlHierarchyData.cs
- PageClientProxyGenerator.cs
- ConfigXmlWhitespace.cs
- QilIterator.cs
- Statements.cs
- QuerySettings.cs
- SurrogateChar.cs
- LocalIdKeyIdentifierClause.cs
- SendParametersContent.cs
- XLinq.cs
- MimeFormatExtensions.cs
- SqlCacheDependency.cs
- CheckBoxBaseAdapter.cs
- Fonts.cs
- BlobPersonalizationState.cs
- AutomationPropertyInfo.cs
- Rect.cs
- ParameterBinding.cs
- RadioButtonFlatAdapter.cs
- NopReturnReader.cs
- StateMachineWorkflow.cs
- objectresult_tresulttype.cs
- StringAnimationBase.cs
- ListItemViewAttribute.cs
- CatalogZoneBase.cs
- ExpressionBinding.cs
- BodyGlyph.cs
- CompiledRegexRunnerFactory.cs
- QueryStringParameter.cs
- QueryConverter.cs
- UInt32Converter.cs
- Error.cs
- OrderedParallelQuery.cs
- CellConstantDomain.cs
- PathNode.cs
- CqlIdentifiers.cs
- ProgressBar.cs
- SQLBytesStorage.cs
- AncestorChangedEventArgs.cs
- PolicyReader.cs
- MembershipPasswordException.cs
- PropertyDescriptorComparer.cs
- TypedElement.cs
- DaylightTime.cs
- EdmType.cs
- EntityAdapter.cs
- SqlProfileProvider.cs
- AtomContentProperty.cs
- MultipleViewPatternIdentifiers.cs
- Identifier.cs
- ImageAnimator.cs
- QilInvoke.cs
- UpdateTracker.cs
- CheckBoxRenderer.cs
- AuthenticationConfig.cs
- CheckBox.cs
- EditorPartDesigner.cs
- TaiwanLunisolarCalendar.cs
- ExpressionConverter.cs
- NumericUpDownAccelerationCollection.cs
- _DigestClient.cs
- HostedTransportConfigurationBase.cs
- Int64Converter.cs
- LinqDataSourceDeleteEventArgs.cs
- EventLogReader.cs
- SystemResourceKey.cs
- SqlTypesSchemaImporter.cs
- TableCell.cs
- ChangePassword.cs
- SHA384Managed.cs
- TextElementCollection.cs
- SeparatorAutomationPeer.cs
- InternalConfigSettingsFactory.cs
- OdbcDataReader.cs
- DocumentSignatureManager.cs
- OdbcParameter.cs
- DeviceSpecificChoiceCollection.cs
- Vector3DValueSerializer.cs
- CryptographicAttribute.cs
- Crypto.cs
- ByteStorage.cs
- SchemaComplexType.cs
- MetabaseSettingsIis7.cs
- WebPartManagerInternals.cs
- PeerNameResolver.cs
- PresentationTraceSources.cs
- Roles.cs
- IPAddressCollection.cs