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
- UnsafeNativeMethodsPenimc.cs
- DesignConnection.cs
- WebPartConnectionsEventArgs.cs
- CheckBoxList.cs
- isolationinterop.cs
- ContextProperty.cs
- SqlFileStream.cs
- SoapCommonClasses.cs
- IntSecurity.cs
- HtmlHead.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- TextEditorCopyPaste.cs
- DataGridViewRowCancelEventArgs.cs
- datacache.cs
- cookieexception.cs
- ManagementObject.cs
- BidirectionalDictionary.cs
- BoolExpression.cs
- XPathDocumentBuilder.cs
- DesignObjectWrapper.cs
- brushes.cs
- MediaCommands.cs
- PageRequestManager.cs
- CustomTrackingQuery.cs
- SamlSecurityTokenAuthenticator.cs
- LifetimeServices.cs
- SqlDataSourceCustomCommandEditor.cs
- DataGridViewCellConverter.cs
- UnsafeNativeMethods.cs
- __Error.cs
- ClientApiGenerator.cs
- ToolStripSeparator.cs
- EventQueueState.cs
- KnownTypesProvider.cs
- DbConnectionPoolGroup.cs
- DetailsViewCommandEventArgs.cs
- LoginDesigner.cs
- DesigntimeLicenseContext.cs
- SqlWriter.cs
- ConstantProjectedSlot.cs
- RegexStringValidatorAttribute.cs
- ObjectViewEntityCollectionData.cs
- BasicViewGenerator.cs
- DisplayToken.cs
- MetabaseServerConfig.cs
- MultiAsyncResult.cs
- Substitution.cs
- HtmlForm.cs
- EditingScopeUndoUnit.cs
- Ray3DHitTestResult.cs
- DataGridViewTextBoxEditingControl.cs
- ResourceReader.cs
- SaveFileDialog.cs
- ProviderBase.cs
- SafeEventLogWriteHandle.cs
- RenderTargetBitmap.cs
- WindowsImpersonationContext.cs
- ViewEventArgs.cs
- _ShellExpression.cs
- ParseElement.cs
- MemberDomainMap.cs
- GlobalProxySelection.cs
- Matrix3DValueSerializer.cs
- NotImplementedException.cs
- Size.cs
- HyperLinkColumn.cs
- IndentedWriter.cs
- FlowDocumentPaginator.cs
- Style.cs
- ProcessModuleCollection.cs
- GenericUriParser.cs
- SymbolResolver.cs
- ProfileSettings.cs
- HttpHandlersSection.cs
- Misc.cs
- SqlConnectionHelper.cs
- IndexedGlyphRun.cs
- FillRuleValidation.cs
- bindurihelper.cs
- ListViewSelectEventArgs.cs
- Instrumentation.cs
- TextContainerChangedEventArgs.cs
- EllipseGeometry.cs
- HttpHandler.cs
- TextBox.cs
- ZipIOBlockManager.cs
- PEFileReader.cs
- _NtlmClient.cs
- BufferedStream.cs
- LayoutManager.cs
- LinkArea.cs
- WebScriptMetadataFormatter.cs
- SqlCachedBuffer.cs
- dataobject.cs
- WorkerRequest.cs
- IItemContainerGenerator.cs
- ListManagerBindingsCollection.cs
- EncoderNLS.cs
- DocumentApplication.cs
- HtmlTableCell.cs