Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeTimerHandle.cs / 1305376 / SafeTimerHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeTimerHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a timer handle ** ** Date: July 23, 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 SafeTimerHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that CreateWaitableTimer returns 0 on failure internal SafeTimerHandle() : base (true) {} // Not currently used //[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] //internal SafeTimerHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { // SetHandle(existingHandle); //} [DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool CloseHandle(IntPtr handle); override protected bool ReleaseHandle() { return CloseHandle(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeTimerHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a timer handle ** ** Date: July 23, 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 SafeTimerHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that CreateWaitableTimer returns 0 on failure internal SafeTimerHandle() : base (true) {} // Not currently used //[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] //internal SafeTimerHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { // SetHandle(existingHandle); //} [DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool CloseHandle(IntPtr handle); override protected bool ReleaseHandle() { return CloseHandle(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
- InputScope.cs
- SoapExtensionTypeElementCollection.cs
- ConsoleKeyInfo.cs
- PathFigureCollection.cs
- TdsParser.cs
- SqlStream.cs
- SynchronizationHandlesCodeDomSerializer.cs
- WindowsIPAddress.cs
- Int32Storage.cs
- MediaElementAutomationPeer.cs
- SemaphoreSecurity.cs
- PropertiesTab.cs
- CollectionChange.cs
- CompilationLock.cs
- MetadataItem.cs
- BamlTreeMap.cs
- LicFileLicenseProvider.cs
- ListSortDescriptionCollection.cs
- DbProviderFactories.cs
- CommonDialog.cs
- NominalTypeEliminator.cs
- ScrollItemPatternIdentifiers.cs
- RemoveStoryboard.cs
- ListDictionaryInternal.cs
- TaskFileService.cs
- SqlInternalConnection.cs
- HwndProxyElementProvider.cs
- InheritanceRules.cs
- OleDbException.cs
- Enlistment.cs
- Imaging.cs
- ExpandoObject.cs
- HttpRuntimeSection.cs
- EventToken.cs
- MenuEventArgs.cs
- ToolboxCategory.cs
- NativeCompoundFileAPIs.cs
- KeyValuePair.cs
- ForceCopyBuildProvider.cs
- TraceListeners.cs
- ConfigurationStrings.cs
- Form.cs
- FrameworkElementAutomationPeer.cs
- MetafileHeaderWmf.cs
- LogWriteRestartAreaAsyncResult.cs
- IndexedString.cs
- DictionaryBase.cs
- TextSerializer.cs
- DataSetUtil.cs
- Asn1IntegerConverter.cs
- DataSet.cs
- DiscoveryClientBindingElement.cs
- EntityParameterCollection.cs
- XmlAttributeProperties.cs
- IntSecurity.cs
- SqlDataSourceStatusEventArgs.cs
- LOSFormatter.cs
- AdornerPresentationContext.cs
- Resources.Designer.cs
- TraceContextRecord.cs
- DataControlReference.cs
- CodeDelegateCreateExpression.cs
- _ContextAwareResult.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- FontSourceCollection.cs
- PieceNameHelper.cs
- Normalization.cs
- ObjectHelper.cs
- DelegatedStream.cs
- MultiViewDesigner.cs
- WebServiceErrorEvent.cs
- _LazyAsyncResult.cs
- Matrix.cs
- BrowserDefinition.cs
- InputEventArgs.cs
- PerformanceCounterPermissionEntryCollection.cs
- DefaultAutoFieldGenerator.cs
- TextSpanModifier.cs
- IdleTimeoutMonitor.cs
- WsatAdminException.cs
- ExpandSegment.cs
- ObjectStateFormatter.cs
- datacache.cs
- ContextMenu.cs
- AffineTransform3D.cs
- ModuleBuilder.cs
- SrgsOneOf.cs
- AttributeUsageAttribute.cs
- TimeZone.cs
- PingReply.cs
- ByteStreamGeometryContext.cs
- XmlElementAttribute.cs
- DataGridViewTopLeftHeaderCell.cs
- UsernameTokenFactoryCredential.cs
- Assembly.cs
- ZoomPercentageConverter.cs
- RemoteCryptoTokenProvider.cs
- DbTransaction.cs
- XmlEntityReference.cs
- RegistrySecurity.cs