Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeEventLogWriteHandle.cs / 1 / SafeEventLogWriteHandle.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SafeEventLogWriteHandle
**
** Author: David Gutierrez ([....])
**
** A wrapper for event log 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 SafeEventLogWriteHandle : SafeHandleZeroOrMinusOneIsInvalid
{
// Note: RegisterEventSource returns 0 on failure
internal SafeEventLogWriteHandle () : base(true) {}
[DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Unicode, SetLastError=true)]
internal static extern SafeEventLogWriteHandle RegisterEventSource(string uncServerName, string sourceName);
[DllImport(ExternDll.Advapi32, SetLastError=true)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private static extern bool DeregisterEventSource(IntPtr hEventLog);
override protected bool ReleaseHandle()
{
return DeregisterEventSource(handle);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SafeEventLogWriteHandle
**
** Author: David Gutierrez ([....])
**
** A wrapper for event log 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 SafeEventLogWriteHandle : SafeHandleZeroOrMinusOneIsInvalid
{
// Note: RegisterEventSource returns 0 on failure
internal SafeEventLogWriteHandle () : base(true) {}
[DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Unicode, SetLastError=true)]
internal static extern SafeEventLogWriteHandle RegisterEventSource(string uncServerName, string sourceName);
[DllImport(ExternDll.Advapi32, SetLastError=true)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
private static extern bool DeregisterEventSource(IntPtr hEventLog);
override protected bool ReleaseHandle()
{
return DeregisterEventSource(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
- SetIterators.cs
- SessionPageStatePersister.cs
- Exceptions.cs
- AppDomainEvidenceFactory.cs
- TreeView.cs
- DrawingContextDrawingContextWalker.cs
- StorageScalarPropertyMapping.cs
- TextRangeAdaptor.cs
- BaseParaClient.cs
- PersonalizationProviderHelper.cs
- RectAnimationClockResource.cs
- GridViewDeletedEventArgs.cs
- MemoryResponseElement.cs
- LessThanOrEqual.cs
- BaseParaClient.cs
- DoubleStorage.cs
- EventLogEntry.cs
- AutoGeneratedField.cs
- SerializationHelper.cs
- WorkingDirectoryEditor.cs
- ICspAsymmetricAlgorithm.cs
- Condition.cs
- Wildcard.cs
- RoleServiceManager.cs
- TableCellAutomationPeer.cs
- CollectionEditor.cs
- InternalDispatchObject.cs
- DataProtection.cs
- CodeMemberField.cs
- Point4DValueSerializer.cs
- FolderLevelBuildProvider.cs
- ConfigXmlWhitespace.cs
- _FixedSizeReader.cs
- ListItemCollection.cs
- RectangleHotSpot.cs
- DataBinding.cs
- VerbConverter.cs
- FeatureSupport.cs
- AsyncResult.cs
- XmlSerializableReader.cs
- DataColumnCollection.cs
- LeftCellWrapper.cs
- OdbcError.cs
- FormsAuthenticationCredentials.cs
- MouseEventArgs.cs
- HtmlMeta.cs
- CollectionViewSource.cs
- SharedPersonalizationStateInfo.cs
- securitymgrsite.cs
- PrintDocument.cs
- CodeValidator.cs
- MemberPathMap.cs
- ExpressionBuilderContext.cs
- ImportContext.cs
- CloudCollection.cs
- SoapExtensionImporter.cs
- SecurityException.cs
- StringToken.cs
- ReferencedCollectionType.cs
- ListInitExpression.cs
- XmlName.cs
- TypeBuilderInstantiation.cs
- RichTextBox.cs
- AppSettingsExpressionBuilder.cs
- TextEditorDragDrop.cs
- InvalidCommandTreeException.cs
- DeclaredTypeValidatorAttribute.cs
- PropertyDescriptorCollection.cs
- FormViewPageEventArgs.cs
- StringComparer.cs
- CompilerTypeWithParams.cs
- SafeThemeHandle.cs
- XhtmlBasicValidationSummaryAdapter.cs
- ActiveXContainer.cs
- ImpersonateTokenRef.cs
- MulticastNotSupportedException.cs
- UIPermission.cs
- BinHexDecoder.cs
- BoundField.cs
- PauseStoryboard.cs
- InstanceOwnerQueryResult.cs
- HostedBindingBehavior.cs
- GPPOINTF.cs
- EntityException.cs
- SqlCommandSet.cs
- ETagAttribute.cs
- SqlServer2KCompatibilityAnnotation.cs
- AutomationAttributeInfo.cs
- ChtmlLinkAdapter.cs
- OneOf.cs
- ColumnWidthChangingEvent.cs
- TypeNameHelper.cs
- DocumentGrid.cs
- AutomationPropertyInfo.cs
- BufferedStream.cs
- OleAutBinder.cs
- ColorContextHelper.cs
- InstancePersistenceCommand.cs
- DefaultSection.cs
- Matrix3DConverter.cs