Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeEventHandle.cs / 1 / SafeEventHandle.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SafeEventHandle
**
** Author: David Gutierrez ([....])
**
** A wrapper for a win32 event 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 SafeEventHandle : SafeHandleZeroOrMinusOneIsInvalid
{
// Note that CreateEvent returns 0 on failure
internal SafeEventHandle() : base(true) {}
[DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)]
internal static extern SafeEventHandle CreateEvent(HandleRef lpEventAttributes, bool bManualReset,
bool bInitialState, string name);
[DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)]
[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: SafeEventHandle
**
** Author: David Gutierrez ([....])
**
** A wrapper for a win32 event 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 SafeEventHandle : SafeHandleZeroOrMinusOneIsInvalid
{
// Note that CreateEvent returns 0 on failure
internal SafeEventHandle() : base(true) {}
[DllImport(ExternDll.Kernel32, CharSet=System.Runtime.InteropServices.CharSet.Unicode)]
internal static extern SafeEventHandle CreateEvent(HandleRef lpEventAttributes, bool bManualReset,
bool bInitialState, string name);
[DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)]
[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
- Queue.cs
- SizeF.cs
- ChannelManager.cs
- SectionXmlInfo.cs
- ExceptionUtility.cs
- Font.cs
- PersistenceProviderElement.cs
- SymmetricCryptoHandle.cs
- ByteRangeDownloader.cs
- NominalTypeEliminator.cs
- ChineseLunisolarCalendar.cs
- PipelineModuleStepContainer.cs
- Calendar.cs
- CodeParameterDeclarationExpression.cs
- Setter.cs
- Substitution.cs
- Stream.cs
- NotFiniteNumberException.cs
- DbDataAdapter.cs
- ModulesEntry.cs
- Calendar.cs
- ContentFileHelper.cs
- IdentityHolder.cs
- SecureStringHasher.cs
- VerticalAlignConverter.cs
- OracleEncoding.cs
- XDRSchema.cs
- TagPrefixAttribute.cs
- TypeExtension.cs
- Rotation3DKeyFrameCollection.cs
- StylusCaptureWithinProperty.cs
- EmptyEnumerator.cs
- PolicyLevel.cs
- SmtpFailedRecipientException.cs
- NamespaceInfo.cs
- ToolStripContentPanelRenderEventArgs.cs
- PolicyChain.cs
- CodeTryCatchFinallyStatement.cs
- Brush.cs
- DelegateHelpers.Generated.cs
- TimersDescriptionAttribute.cs
- CacheChildrenQuery.cs
- AspNetRouteServiceHttpHandler.cs
- SizeChangedEventArgs.cs
- CodeLinePragma.cs
- ParallelTimeline.cs
- OdbcHandle.cs
- QuadraticBezierSegment.cs
- SafePEFileHandle.cs
- TypedDataSourceCodeGenerator.cs
- HighlightComponent.cs
- ECDiffieHellmanCngPublicKey.cs
- DictionaryItemsCollection.cs
- PermissionSetTriple.cs
- loginstatus.cs
- Drawing.cs
- CategoryAttribute.cs
- PasswordBoxAutomationPeer.cs
- HTTPNotFoundHandler.cs
- CodeEntryPointMethod.cs
- SchemaDeclBase.cs
- CustomGrammar.cs
- SectionVisual.cs
- baseaxisquery.cs
- SimpleLine.cs
- RecipientInfo.cs
- WebServiceResponseDesigner.cs
- ClientBuildManager.cs
- BinaryObjectWriter.cs
- ObjectSecurity.cs
- PageThemeParser.cs
- XPathChildIterator.cs
- SelectionEditor.cs
- ClientUIRequest.cs
- MatrixUtil.cs
- FindCriteria.cs
- CheckBox.cs
- ByteKeyFrameCollection.cs
- StandardOleMarshalObject.cs
- OpenTypeLayout.cs
- WpfSharedXamlSchemaContext.cs
- SchemaReference.cs
- Encoding.cs
- EnumConverter.cs
- HtmlTable.cs
- BuildProviderUtils.cs
- ProtocolsConfiguration.cs
- BinHexEncoder.cs
- RestHandlerFactory.cs
- HitTestWithGeometryDrawingContextWalker.cs
- GlobalAclOperationRequirement.cs
- ProjectionPruner.cs
- HtmlEmptyTagControlBuilder.cs
- RunInstallerAttribute.cs
- ImageButton.cs
- InkCanvasSelectionAdorner.cs
- MethodBuilderInstantiation.cs
- ParameterCollectionEditor.cs
- ResourcePermissionBaseEntry.cs
- TrustSection.cs