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
- FontSource.cs
- OneToOneMappingSerializer.cs
- ReturnType.cs
- SvcMapFile.cs
- Int32.cs
- RowSpanVector.cs
- SmiConnection.cs
- OpacityConverter.cs
- SessionStateContainer.cs
- QuerySelectOp.cs
- SignedXml.cs
- BaseCodeDomTreeGenerator.cs
- HybridDictionary.cs
- NodeLabelEditEvent.cs
- StdValidatorsAndConverters.cs
- FontSizeConverter.cs
- DataTrigger.cs
- ObjectPersistData.cs
- UpdateException.cs
- DelimitedListTraceListener.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- QuaternionRotation3D.cs
- SamlAuthenticationStatement.cs
- KeySpline.cs
- MessageFilter.cs
- CaseInsensitiveComparer.cs
- Focus.cs
- FileChangesMonitor.cs
- EmptyCollection.cs
- XamlClipboardData.cs
- NativeMethods.cs
- StructuredType.cs
- ContextMenu.cs
- SQLInt32.cs
- StreamingContext.cs
- Interlocked.cs
- DataGridViewDesigner.cs
- TextComposition.cs
- FixedSOMLineRanges.cs
- GridViewDeleteEventArgs.cs
- Token.cs
- StyleCollectionEditor.cs
- MsmqIntegrationBindingElement.cs
- BooleanProjectedSlot.cs
- AutomationPropertyInfo.cs
- CollectionViewSource.cs
- NopReturnReader.cs
- StreamResourceInfo.cs
- ExtendedProtectionPolicy.cs
- DocumentSchemaValidator.cs
- WebPartChrome.cs
- safex509handles.cs
- BinaryObjectWriter.cs
- SchemaElementDecl.cs
- CorrelationExtension.cs
- PageParser.cs
- AssociationSetEnd.cs
- StatusBarPanelClickEvent.cs
- MasterPageParser.cs
- FlowDocumentReader.cs
- PageTheme.cs
- DirectionalLight.cs
- PeerNameRecord.cs
- TraceInternal.cs
- RelationshipEndCollection.cs
- _SslStream.cs
- MenuItemAutomationPeer.cs
- HtmlAnchor.cs
- LocationSectionRecord.cs
- EventLogger.cs
- ScriptHandlerFactory.cs
- UInt16Converter.cs
- AlphabetConverter.cs
- ValueConversionAttribute.cs
- CompleteWizardStep.cs
- SchemaManager.cs
- ProgressiveCrcCalculatingStream.cs
- ReachDocumentReferenceSerializer.cs
- GeneralTransform2DTo3DTo2D.cs
- PropertyAccessVisitor.cs
- SHA512Managed.cs
- Config.cs
- Literal.cs
- DataGridViewColumnCollection.cs
- _Rfc2616CacheValidators.cs
- TextEndOfSegment.cs
- ExecutionContext.cs
- FilterableAttribute.cs
- PerfService.cs
- SiblingIterators.cs
- ToolStripContentPanel.cs
- EventWaitHandleSecurity.cs
- ModelTreeManager.cs
- RectangleHotSpot.cs
- DataGridViewMethods.cs
- DescendentsWalkerBase.cs
- DataColumnCollection.cs
- UnSafeCharBuffer.cs
- ExpressionsCollectionConverter.cs
- ProcessThread.cs