Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- HttpCapabilitiesBase.cs
- MeshGeometry3D.cs
- webproxy.cs
- dtdvalidator.cs
- EnumBuilder.cs
- PropertyMetadata.cs
- DynamicValueConverter.cs
- Int32CollectionValueSerializer.cs
- StylusDownEventArgs.cs
- DirectoryRedirect.cs
- ScriptManager.cs
- ValidationService.cs
- WebPermission.cs
- EnumValidator.cs
- CryptoStream.cs
- CodeDomLocalizationProvider.cs
- InvokePattern.cs
- ResizingMessageFilter.cs
- MessageQueuePermissionEntry.cs
- EmptyEnumerator.cs
- ToolStripDropDownClosedEventArgs.cs
- Size.cs
- XPathNavigatorReader.cs
- SharedDp.cs
- OdbcConnectionHandle.cs
- ButtonBaseAutomationPeer.cs
- Events.cs
- RuleEngine.cs
- DrawingAttributes.cs
- TableLayoutPanelCellPosition.cs
- VScrollProperties.cs
- EntityConnectionStringBuilder.cs
- ConnectionsZone.cs
- ParseElement.cs
- RotateTransform.cs
- FixedDocumentSequencePaginator.cs
- CharacterMetricsDictionary.cs
- LabelEditEvent.cs
- AssemblyCache.cs
- NullRuntimeConfig.cs
- ComplexTypeEmitter.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- XmlArrayItemAttribute.cs
- StylusShape.cs
- ToolStripPanel.cs
- Speller.cs
- OutputCacheSettings.cs
- DataGridViewColumnDesigner.cs
- InheritanceRules.cs
- RegexMatch.cs
- GroupBox.cs
- ExtensibleClassFactory.cs
- HttpListenerException.cs
- ItemType.cs
- DashStyles.cs
- DictionarySectionHandler.cs
- SafeEventLogWriteHandle.cs
- DataGridViewAdvancedBorderStyle.cs
- CompressedStack.cs
- ConstraintEnumerator.cs
- RichTextBoxDesigner.cs
- CacheChildrenQuery.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- WebPartMenuStyle.cs
- GridViewColumnHeaderAutomationPeer.cs
- TraceContext.cs
- ContentElement.cs
- DataGridCaption.cs
- securitycriticaldataformultiplegetandset.cs
- MsmqSecureHashAlgorithm.cs
- SignedPkcs7.cs
- EventMappingSettingsCollection.cs
- ResourceSet.cs
- DataGridRow.cs
- ListControl.cs
- HwndSourceParameters.cs
- RuntimeArgument.cs
- TextOutput.cs
- StylusButton.cs
- FloaterParagraph.cs
- Normalization.cs
- KeyMatchBuilder.cs
- ProxyElement.cs
- InvalidOperationException.cs
- CodeGenerationManager.cs
- CodeAssignStatement.cs
- SelectionItemPattern.cs
- WebPartDisplayModeEventArgs.cs
- StorageMappingItemLoader.cs
- FormsAuthenticationUser.cs
- ObjectDataSourceMethodEventArgs.cs
- ModuleBuilder.cs
- SendSecurityHeaderElement.cs
- WebMethodAttribute.cs
- VectorCollection.cs
- SiteMapPath.cs
- ProfileModule.cs
- AmbiguousMatchException.cs
- QilTargetType.cs
- WebConfigManager.cs