Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- WinInetCache.cs
- GridViewDeleteEventArgs.cs
- TimeoutException.cs
- hresults.cs
- LinkButton.cs
- ErrorFormatter.cs
- UrlRoutingHandler.cs
- ListBox.cs
- HuffCodec.cs
- BuildProvider.cs
- ContentType.cs
- X500Name.cs
- Highlights.cs
- TextStore.cs
- Config.cs
- WorkflowItemPresenter.cs
- ClientOptions.cs
- ErrorStyle.cs
- StoreItemCollection.cs
- DataGridPageChangedEventArgs.cs
- HostingEnvironmentSection.cs
- XhtmlBasicCommandAdapter.cs
- HtmlInputCheckBox.cs
- WorkflowClientDeliverMessageWrapper.cs
- SqlTypeSystemProvider.cs
- SemanticValue.cs
- ToolStripGripRenderEventArgs.cs
- ModuleConfigurationInfo.cs
- TextViewSelectionProcessor.cs
- TableStyle.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- SqlConnectionStringBuilder.cs
- DependencyPropertyAttribute.cs
- ContextMarshalException.cs
- EmissiveMaterial.cs
- altserialization.cs
- DSASignatureDeformatter.cs
- XmlValidatingReaderImpl.cs
- Rotation3DKeyFrameCollection.cs
- XsltLoader.cs
- PointValueSerializer.cs
- Inflater.cs
- ToolboxItemAttribute.cs
- DbDataAdapter.cs
- WsdlBuildProvider.cs
- DbConnectionPool.cs
- HScrollProperties.cs
- DoubleStorage.cs
- UpdateProgress.cs
- SocketSettings.cs
- Variant.cs
- FigureHelper.cs
- XmlSchemaSubstitutionGroup.cs
- GlyphRun.cs
- PerformanceCounterPermission.cs
- XsltContext.cs
- SvcMapFileLoader.cs
- SqlCacheDependencySection.cs
- ZoneButton.cs
- ManualResetEvent.cs
- HostedNamedPipeTransportManager.cs
- UserControlParser.cs
- ResourcePermissionBase.cs
- ElementHostAutomationPeer.cs
- MatrixStack.cs
- DataRecord.cs
- UInt16Storage.cs
- ToolStripSettings.cs
- SessionPageStateSection.cs
- DataListItem.cs
- CalendarModeChangedEventArgs.cs
- EventRecord.cs
- InheritanceRules.cs
- ToolBarPanel.cs
- WebPartTransformerCollection.cs
- BamlBinaryWriter.cs
- TypeDescriptor.cs
- SafeArrayRankMismatchException.cs
- RegistrationServices.cs
- TrustLevel.cs
- DynamicScriptObject.cs
- Tablet.cs
- MeasureData.cs
- ObjectNotFoundException.cs
- EntityContainerAssociationSetEnd.cs
- MasterPageParser.cs
- ItemPager.cs
- validationstate.cs
- ViewCellSlot.cs
- WizardStepBase.cs
- ColumnClickEvent.cs
- TextControl.cs
- MethodBody.cs
- CommandCollectionEditor.cs
- PropertyDescriptorGridEntry.cs
- NullRuntimeConfig.cs
- MetadataSource.cs
- FormatException.cs
- MessageQueueEnumerator.cs
- ApplicationDirectory.cs