Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- PageThemeCodeDomTreeGenerator.cs
- DateTimeStorage.cs
- DoubleAnimationClockResource.cs
- ProjectionCamera.cs
- ImagingCache.cs
- XmlSchemaSimpleContentExtension.cs
- Propagator.cs
- ExpandCollapsePatternIdentifiers.cs
- CoordinationService.cs
- Effect.cs
- FontStretch.cs
- UriExt.cs
- ThemeableAttribute.cs
- BuilderElements.cs
- VarRemapper.cs
- SamlSubject.cs
- BookmarkUndoUnit.cs
- TextSelection.cs
- TTSVoice.cs
- QueryInterceptorAttribute.cs
- _Connection.cs
- DelayedRegex.cs
- WebPartAuthorizationEventArgs.cs
- WorkflowInstanceProxy.cs
- CheckBoxAutomationPeer.cs
- DynamicResourceExtension.cs
- FixedSOMPageElement.cs
- CheckBox.cs
- ConstructorNeedsTagAttribute.cs
- HttpAsyncResult.cs
- BoolExpression.cs
- EdmToObjectNamespaceMap.cs
- TerminateSequence.cs
- SelectionWordBreaker.cs
- Int64Storage.cs
- AuthStoreRoleProvider.cs
- RowBinding.cs
- DocumentStream.cs
- TraceContext.cs
- CheckBoxField.cs
- HttpRawResponse.cs
- TrustLevelCollection.cs
- BrowsableAttribute.cs
- BrowserInteropHelper.cs
- MetadataPropertyvalue.cs
- ThousandthOfEmRealDoubles.cs
- DataControlFieldCollection.cs
- ProviderSettingsCollection.cs
- EditorZoneBase.cs
- brushes.cs
- Executor.cs
- RemotingConfigParser.cs
- PropertyChangingEventArgs.cs
- ProviderConnectionPoint.cs
- infer.cs
- WebPartZoneCollection.cs
- InputProcessorProfilesLoader.cs
- UpdatePanelControlTrigger.cs
- EdmSchemaAttribute.cs
- XmlILStorageConverter.cs
- NameTable.cs
- DodSequenceMerge.cs
- MDIClient.cs
- WebScriptEndpoint.cs
- MessageSecurityException.cs
- EncryptedData.cs
- SqlCharStream.cs
- OciEnlistContext.cs
- GridViewAutomationPeer.cs
- OdbcUtils.cs
- DbgCompiler.cs
- ConnectionPoolManager.cs
- IconHelper.cs
- InvalidOleVariantTypeException.cs
- Span.cs
- UnsafeNativeMethods.cs
- Axis.cs
- CodeStatementCollection.cs
- PrinterUnitConvert.cs
- CaseExpr.cs
- StorageEntityTypeMapping.cs
- Columns.cs
- StylusPointDescription.cs
- WebPartConnectionsDisconnectVerb.cs
- PropertyChangingEventArgs.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- AssemblyNameProxy.cs
- AdornerDecorator.cs
- SHA1CryptoServiceProvider.cs
- ConstraintCollection.cs
- WebRequestModuleElement.cs
- SymmetricKeyWrap.cs
- ThemeableAttribute.cs
- GB18030Encoding.cs
- CompareInfo.cs
- GB18030Encoding.cs
- ControlUtil.cs
- BindMarkupExtensionSerializer.cs
- PreloadedPackages.cs
- NamespaceQuery.cs