Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TableDetailsCollection.cs
- ComboBoxItem.cs
- precedingsibling.cs
- SQLMoney.cs
- OptimizedTemplateContent.cs
- Command.cs
- Button.cs
- BaseTypeViewSchema.cs
- WebPartTransformer.cs
- DataSourceSerializationException.cs
- OneOf.cs
- RuntimeResourceSet.cs
- TextServicesPropertyRanges.cs
- DataBoundControlDesigner.cs
- SingleSelectRootGridEntry.cs
- Win32.cs
- Configuration.cs
- GlobalProxySelection.cs
- OutKeywords.cs
- AnnotationObservableCollection.cs
- DragCompletedEventArgs.cs
- IsolatedStorage.cs
- Inline.cs
- AnnotationMap.cs
- Vector3dCollection.cs
- SHA512Managed.cs
- BlurEffect.cs
- TriState.cs
- RequestTimeoutManager.cs
- WebResponse.cs
- SimpleRecyclingCache.cs
- VisualTarget.cs
- IdentityNotMappedException.cs
- InputDevice.cs
- ResourceProviderFactory.cs
- CustomAttribute.cs
- DataList.cs
- NetStream.cs
- IncrementalReadDecoders.cs
- LOSFormatter.cs
- BindingGroup.cs
- TraceUtility.cs
- _AuthenticationState.cs
- RegexCharClass.cs
- GeometryCombineModeValidation.cs
- IgnoreFileBuildProvider.cs
- LayoutEvent.cs
- LookupNode.cs
- SmiConnection.cs
- ClockController.cs
- XamlSerializationHelper.cs
- CompressedStack.cs
- ToolboxBitmapAttribute.cs
- MaskedTextProvider.cs
- TextTreeFixupNode.cs
- CombinedTcpChannel.cs
- QueryOptionExpression.cs
- IndentedWriter.cs
- GlyphRun.cs
- WsdlBuildProvider.cs
- XslTransform.cs
- DocumentPageTextView.cs
- SQLInt32Storage.cs
- MimeTypeAttribute.cs
- ProjectionCamera.cs
- KeyValuePairs.cs
- HwndHostAutomationPeer.cs
- Set.cs
- Vector3DIndependentAnimationStorage.cs
- FlowPosition.cs
- Model3D.cs
- TreeViewImageIndexConverter.cs
- SynchronizedInputPattern.cs
- WebBrowserSiteBase.cs
- ReadOnlyCollectionBuilder.cs
- ProfilePropertySettings.cs
- _LazyAsyncResult.cs
- DebugView.cs
- SqlRetyper.cs
- MetadataItemEmitter.cs
- ControlBindingsCollection.cs
- ZipFileInfo.cs
- PartialCachingAttribute.cs
- RotateTransform.cs
- DesignerMetadata.cs
- MatrixStack.cs
- MailDefinition.cs
- HtmlAnchor.cs
- XmlLoader.cs
- CustomCategoryAttribute.cs
- Enlistment.cs
- PersonalizationProvider.cs
- ColorAnimationBase.cs
- CssStyleCollection.cs
- DataPagerFieldCollection.cs
- infer.cs
- AvTraceFormat.cs
- Rotation3D.cs
- UInt32Converter.cs
- CharacterHit.cs