Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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);
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EnumUnknown.cs
- SelectionRangeConverter.cs
- RequestQueue.cs
- WebRequestModuleElement.cs
- XmlBinaryReaderSession.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- WorkflowViewElement.cs
- Enum.cs
- EncryptedKeyHashIdentifierClause.cs
- StylusDownEventArgs.cs
- FormViewModeEventArgs.cs
- WizardForm.cs
- IProvider.cs
- ContextMenuStripGroupCollection.cs
- CroppedBitmap.cs
- ErrorItem.cs
- NumberFormatter.cs
- DBSqlParserTableCollection.cs
- Opcode.cs
- KnownTypesProvider.cs
- StrongNameUtility.cs
- RuntimeConfigLKG.cs
- MergeLocalizationDirectives.cs
- TrustManagerPromptUI.cs
- ColorConverter.cs
- MSG.cs
- sqlnorm.cs
- ConstantProjectedSlot.cs
- LassoHelper.cs
- TagPrefixInfo.cs
- MdImport.cs
- MenuItemAutomationPeer.cs
- FixedHighlight.cs
- ApplicationSettingsBase.cs
- MimeObjectFactory.cs
- ProtocolViolationException.cs
- ServicesUtilities.cs
- Emitter.cs
- LiteralTextContainerControlBuilder.cs
- ArraySubsetEnumerator.cs
- DesignerSerializationManager.cs
- SingleKeyFrameCollection.cs
- HttpWebRequestElement.cs
- SlipBehavior.cs
- TextTreeText.cs
- UnsafeNativeMethods.cs
- DataListItemCollection.cs
- CalendarItem.cs
- OleDbRowUpdatingEvent.cs
- GeneralTransform2DTo3DTo2D.cs
- PropertyBuilder.cs
- ViewPort3D.cs
- TableStyle.cs
- Transform.cs
- ToolStripItemImageRenderEventArgs.cs
- CachedResourceDictionaryExtension.cs
- ToolStripDropDownItem.cs
- ZipIOExtraFieldZip64Element.cs
- FontSource.cs
- Light.cs
- ImpersonationContext.cs
- ImageIndexConverter.cs
- ApplicationServicesHostFactory.cs
- ScopeElementCollection.cs
- MultipleViewPattern.cs
- PrintPreviewDialog.cs
- SmtpFailedRecipientsException.cs
- OracleParameter.cs
- TaskResultSetter.cs
- ChannelSinkStacks.cs
- XsdBuildProvider.cs
- SpanIndex.cs
- typedescriptorpermissionattribute.cs
- UndoManager.cs
- EventInfo.cs
- TextElementAutomationPeer.cs
- ListControlConvertEventArgs.cs
- IdentityHolder.cs
- StorageSetMapping.cs
- TableCell.cs
- XmlLoader.cs
- WebPartDescription.cs
- RemoteX509Token.cs
- ECDiffieHellmanCngPublicKey.cs
- BindingMemberInfo.cs
- OuterGlowBitmapEffect.cs
- ToolBarPanel.cs
- DataViewManagerListItemTypeDescriptor.cs
- SessionIDManager.cs
- Propagator.JoinPropagator.cs
- TransformGroup.cs
- DataGridCellsPanel.cs
- AmbientLight.cs
- FrugalList.cs
- TokenBasedSet.cs
- HandleCollector.cs
- ReferencedType.cs
- RecognitionResult.cs
- WindowsFormsDesignerOptionService.cs
- SHA1CryptoServiceProvider.cs