Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLibraryHandle.cs / 1305376 / 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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.Machine)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ResourceExposure(ResourceScope.None)] [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; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.Machine)] internal static extern SafeLibraryHandle LoadLibraryEx(string libFilename, IntPtr reserved, int flags); [DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)] [ResourceExposure(ResourceScope.None)] [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
- ItemCheckEvent.cs
- DispatchOperation.cs
- EffectiveValueEntry.cs
- ColorConverter.cs
- FlowDocumentPageViewerAutomationPeer.cs
- RTLAwareMessageBox.cs
- ScaleTransform.cs
- StateRuntime.cs
- EpmContentSerializerBase.cs
- DataKeyCollection.cs
- WhitespaceRule.cs
- RIPEMD160.cs
- Journaling.cs
- SqlDataReaderSmi.cs
- TextRunProperties.cs
- ExtensionDataReader.cs
- SrgsElementList.cs
- StrokeFIndices.cs
- XhtmlConformanceSection.cs
- Clause.cs
- BooleanKeyFrameCollection.cs
- SourceFileInfo.cs
- WebPartMovingEventArgs.cs
- Message.cs
- SoapHeaders.cs
- Line.cs
- ProviderManager.cs
- FindSimilarActivitiesVerb.cs
- FunctionDescription.cs
- CapabilitiesAssignment.cs
- SimpleFieldTemplateFactory.cs
- ItemList.cs
- CodeDirectionExpression.cs
- XamlDesignerSerializationManager.cs
- SafeNativeMethodsMilCoreApi.cs
- PKCS1MaskGenerationMethod.cs
- XmlSchemaAnnotation.cs
- PtsContext.cs
- LineProperties.cs
- ResourceManager.cs
- LayoutInformation.cs
- EdmMember.cs
- CodeExporter.cs
- ToolStripScrollButton.cs
- TabItemAutomationPeer.cs
- XmlSchemaSequence.cs
- Encoder.cs
- BufferCache.cs
- DataGridComboBoxColumn.cs
- UpdateRecord.cs
- ArrayListCollectionBase.cs
- DoWorkEventArgs.cs
- ManipulationInertiaStartingEventArgs.cs
- AnnotationComponentChooser.cs
- ProcessThread.cs
- ReturnEventArgs.cs
- KnownIds.cs
- WindowsAuthenticationEventArgs.cs
- DependencyPropertyKind.cs
- IBuiltInEvidence.cs
- DocumentPaginator.cs
- HostingEnvironmentException.cs
- GlobalizationAssembly.cs
- ZeroOpNode.cs
- TemplateKey.cs
- XmlSubtreeReader.cs
- HtmlInputReset.cs
- StylusEventArgs.cs
- WebPartCatalogCloseVerb.cs
- SourceFileBuildProvider.cs
- XsdCachingReader.cs
- CompilationUtil.cs
- FixedHighlight.cs
- DataServiceException.cs
- CompatibleComparer.cs
- ReflectionHelper.cs
- Fonts.cs
- Send.cs
- KeyGesture.cs
- TextTreeObjectNode.cs
- BinaryParser.cs
- StringSource.cs
- DataControlCommands.cs
- SslSecurityTokenParameters.cs
- InstanceNotReadyException.cs
- HtmlEncodedRawTextWriter.cs
- ResourceManager.cs
- SchemaEntity.cs
- EventOpcode.cs
- WebDisplayNameAttribute.cs
- PropertyEmitterBase.cs
- HtmlControlPersistable.cs
- ScaleTransform3D.cs
- TreeNodeCollection.cs
- WorkflowDesignerColors.cs
- ClientRuntimeConfig.cs
- ParseHttpDate.cs
- ClipboardProcessor.cs
- StateRuntime.cs
- HwndProxyElementProvider.cs