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 / SafeLibraryHandle.cs / 1 / SafeLibraryHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLibraryHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a library handles ** ** 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 SafeLibraryHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that LoadLibraryEx returns 0 on failure internal SafeLibraryHandle() : base(true) {} [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode, SetLastError=true)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool FreeLibrary(IntPtr hModule); override protected bool ReleaseHandle() { return FreeLibrary(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLibraryHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a library handles ** ** 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 SafeLibraryHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that LoadLibraryEx returns 0 on failure internal SafeLibraryHandle() : base(true) {} [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode, SetLastError=true)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool FreeLibrary(IntPtr hModule); override protected bool ReleaseHandle() { return FreeLibrary(handle); } } } // 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
- BypassElementCollection.cs
- SqlDependencyListener.cs
- PartitionResolver.cs
- WorkflowMarkupSerializationManager.cs
- TimeIntervalCollection.cs
- TdsParserStateObject.cs
- SpecularMaterial.cs
- HttpCookiesSection.cs
- ConvertersCollection.cs
- NTAccount.cs
- SpecialFolderEnumConverter.cs
- RouteItem.cs
- SemaphoreFullException.cs
- FrameSecurityDescriptor.cs
- DataGrid.cs
- WebPartZoneDesigner.cs
- InnerItemCollectionView.cs
- XmlDataSourceView.cs
- Activator.cs
- MsmqQueue.cs
- XPathNodePointer.cs
- ObjectListFieldCollection.cs
- ButtonFlatAdapter.cs
- NativeMethods.cs
- TickBar.cs
- ScrollPatternIdentifiers.cs
- QuaternionRotation3D.cs
- ExtensionMethods.cs
- XPathItem.cs
- ToolBarDesigner.cs
- PropertyGeneratedEventArgs.cs
- StyleCollectionEditor.cs
- ExceptionRoutedEventArgs.cs
- EncryptedXml.cs
- NamespaceExpr.cs
- WebDisplayNameAttribute.cs
- Int64AnimationUsingKeyFrames.cs
- SQLInt64Storage.cs
- DesignerLoader.cs
- ControlCachePolicy.cs
- GradientStopCollection.cs
- BaseTemplateBuildProvider.cs
- AmbientLight.cs
- StartUpEventArgs.cs
- HandleCollector.cs
- TreeNodeBinding.cs
- DrawListViewColumnHeaderEventArgs.cs
- nulltextcontainer.cs
- RoleBoolean.cs
- CodeDirectionExpression.cs
- TextProviderWrapper.cs
- ObjectDisposedException.cs
- figurelength.cs
- TypedTableBaseExtensions.cs
- xml.cs
- CodeIdentifiers.cs
- HorizontalAlignConverter.cs
- HandlerBase.cs
- XmlTextReaderImplHelpers.cs
- StatusBarDrawItemEvent.cs
- FormatControl.cs
- StandardToolWindows.cs
- SessionStateSection.cs
- Transform.cs
- InputReferenceExpression.cs
- IPipelineRuntime.cs
- BackStopAuthenticationModule.cs
- DirectionalLight.cs
- UrlMappingCollection.cs
- EmptyEnumerable.cs
- IIS7UserPrincipal.cs
- ConfigurationManager.cs
- TimeSpanStorage.cs
- FixedSOMLineCollection.cs
- SizeAnimationBase.cs
- BitArray.cs
- Invariant.cs
- TextServicesHost.cs
- HttpHandlersSection.cs
- SHA512.cs
- ConfigPathUtility.cs
- SimpleMailWebEventProvider.cs
- TypeConverter.cs
- ParallelLoopState.cs
- AppSettingsReader.cs
- ItemChangedEventArgs.cs
- RTTrackingProfile.cs
- SQLByteStorage.cs
- CustomWebEventKey.cs
- UshortList2.cs
- BaseValidator.cs
- UIntPtr.cs
- StorageEntityTypeMapping.cs
- NamespaceEmitter.cs
- DesignParameter.cs
- OleDbWrapper.cs
- IntegrationExceptionEventArgs.cs
- FileStream.cs
- SafeFindHandle.cs
- TextProperties.cs