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
- Lasso.cs
- Nullable.cs
- ClientSession.cs
- EntityCommand.cs
- Parser.cs
- ThicknessConverter.cs
- NullReferenceException.cs
- ObfuscationAttribute.cs
- ContentPosition.cs
- PropertyGeneratedEventArgs.cs
- CodePropertyReferenceExpression.cs
- KeyEvent.cs
- SessionStateItemCollection.cs
- CollectionsUtil.cs
- UIElementHelper.cs
- SingleResultAttribute.cs
- BufferedConnection.cs
- EventHandlerService.cs
- FormsAuthenticationModule.cs
- ExtendedProtectionPolicyElement.cs
- CheckedListBox.cs
- StyleTypedPropertyAttribute.cs
- SignerInfo.cs
- MultiViewDesigner.cs
- AdapterUtil.cs
- Image.cs
- BaseCodeDomTreeGenerator.cs
- TypeConverterHelper.cs
- InstanceDescriptor.cs
- XPathParser.cs
- XmlNullResolver.cs
- Component.cs
- Simplifier.cs
- DBNull.cs
- ControlPropertyNameConverter.cs
- JsonClassDataContract.cs
- IOException.cs
- RemotingServices.cs
- SourceLineInfo.cs
- SQLRoleProvider.cs
- Documentation.cs
- Attributes.cs
- PrimaryKeyTypeConverter.cs
- ProfileManager.cs
- SiteMapHierarchicalDataSourceView.cs
- CircleHotSpot.cs
- SmtpReplyReaderFactory.cs
- MultiView.cs
- SpeakInfo.cs
- XmlBinaryReader.cs
- CriticalExceptions.cs
- PromptStyle.cs
- ManagementException.cs
- ProfileGroupSettingsCollection.cs
- TreeViewAutomationPeer.cs
- RequestQueue.cs
- ObjectViewEntityCollectionData.cs
- TextEvent.cs
- TextEditorMouse.cs
- WriteTimeStream.cs
- SpellCheck.cs
- DependencyObjectProvider.cs
- DiffuseMaterial.cs
- CheckBox.cs
- DiscreteKeyFrames.cs
- SetterBase.cs
- XamlTemplateSerializer.cs
- NegatedCellConstant.cs
- MessageQueueCriteria.cs
- TextPenaltyModule.cs
- ConfigurationSectionCollection.cs
- TextAction.cs
- NavigationPropertyEmitter.cs
- GlyphRunDrawing.cs
- OperationValidationEventArgs.cs
- EllipseGeometry.cs
- WindowVisualStateTracker.cs
- ImageKeyConverter.cs
- SafeLibraryHandle.cs
- ButtonFieldBase.cs
- versioninfo.cs
- ZeroOpNode.cs
- PolyQuadraticBezierSegment.cs
- FileChangeNotifier.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- MDIWindowDialog.cs
- WebConfigurationManager.cs
- CategoryNameCollection.cs
- RtType.cs
- AutomationElementCollection.cs
- DPTypeDescriptorContext.cs
- Native.cs
- SafeNativeMethods.cs
- PermissionSetTriple.cs
- GAC.cs
- EntityKeyElement.cs
- CodeTypeReferenceCollection.cs
- DataGridViewCellMouseEventArgs.cs
- Bits.cs
- ZipIOLocalFileHeader.cs