Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLibraryHandle.cs / 1305376 / 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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.Machine)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ResourceExposure(ResourceScope.None)] [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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.Machine)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ResourceExposure(ResourceScope.None)] [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
- ConstraintStruct.cs
- DesignerRegionCollection.cs
- Enlistment.cs
- Registration.cs
- Point3DCollection.cs
- WhitespaceRuleLookup.cs
- ParallelQuery.cs
- RegexTypeEditor.cs
- FontFamilyIdentifier.cs
- Style.cs
- SoapHeaders.cs
- CredentialCache.cs
- QilLiteral.cs
- GcSettings.cs
- BaseParagraph.cs
- HandleRef.cs
- Vector3DAnimationBase.cs
- ResourceReader.cs
- UnauthorizedAccessException.cs
- Pkcs7Signer.cs
- Partitioner.cs
- Permission.cs
- WebPartManager.cs
- DataObjectPastingEventArgs.cs
- MailSettingsSection.cs
- StringComparer.cs
- BufferedWebEventProvider.cs
- LinkArea.cs
- UnauthorizedWebPart.cs
- DataBinding.cs
- EntityContainerAssociationSetEnd.cs
- ConfigWriter.cs
- MetafileHeader.cs
- FileReservationCollection.cs
- Win32KeyboardDevice.cs
- SimpleWorkerRequest.cs
- MTConfigUtil.cs
- PathHelper.cs
- HMACSHA256.cs
- CreateUserWizard.cs
- PrintDialog.cs
- BitmapEffectDrawing.cs
- FormViewDeleteEventArgs.cs
- EqualityComparer.cs
- CompiledRegexRunnerFactory.cs
- URLMembershipCondition.cs
- WebPartChrome.cs
- PinnedBufferMemoryStream.cs
- TraceXPathNavigator.cs
- CommandField.cs
- ToolStripMenuItem.cs
- LabelDesigner.cs
- CatalogZoneDesigner.cs
- DateTimeSerializationSection.cs
- XmlCustomFormatter.cs
- XmlSchemaAnyAttribute.cs
- LicFileLicenseProvider.cs
- PackWebRequest.cs
- Italic.cs
- SmiConnection.cs
- XmlReturnReader.cs
- Typeface.cs
- CompoundFileStreamReference.cs
- CodeExporter.cs
- HtmlShimManager.cs
- CommandPlan.cs
- Function.cs
- ComplexType.cs
- HMACSHA1.cs
- InputMethodStateChangeEventArgs.cs
- StorageEntitySetMapping.cs
- HyperLinkDesigner.cs
- XmlNodeChangedEventManager.cs
- HttpCookiesSection.cs
- CustomAttributeBuilder.cs
- LocationUpdates.cs
- TextTrailingWordEllipsis.cs
- MouseEvent.cs
- ToolBar.cs
- SetIndexBinder.cs
- SingleConverter.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- ICspAsymmetricAlgorithm.cs
- ParentControlDesigner.cs
- IPGlobalProperties.cs
- FlowDocumentPage.cs
- IxmlLineInfo.cs
- CollectionViewProxy.cs
- TableLayoutColumnStyleCollection.cs
- DuplicateDetector.cs
- RelativeSource.cs
- TemplateXamlTreeBuilder.cs
- SoapTypeAttribute.cs
- PropertyItem.cs
- TTSEvent.cs
- LinqDataSourceContextEventArgs.cs
- Ref.cs
- ServiceMetadataExtension.cs
- FileUpload.cs
- UInt16.cs