Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / SMDiagnostics / System / ServiceModel / Diagnostics / SafeEventLogWriteHandle.cs / 1305376 / SafeEventLogWriteHandle.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using Microsoft.Win32.SafeHandles; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Globalization; using System.Diagnostics; using System.Security; using System.Runtime; [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] sealed class SafeEventLogWriteHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note: RegisterEventSource returns 0 on failure [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] SafeEventLogWriteHandle() : base(true) { } [ResourceConsumption(ResourceScope.Machine)] [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] internal static SafeEventLogWriteHandle RegisterEventSource(string uncServerName, string sourceName) { SafeEventLogWriteHandle retval = NativeMethods.RegisterEventSource(uncServerName, sourceName); int error = Marshal.GetLastWin32Error(); if (retval.IsInvalid) { Debug.Print("SafeEventLogWriteHandle::RegisterEventSource[" + uncServerName + ", " + sourceName + "] Failed. Last Error: " + error.ToString(CultureInfo.InvariantCulture)); } return retval; } [DllImport("advapi32", SetLastError = true)] [ResourceExposure(ResourceScope.None)] private static extern bool DeregisterEventSource(IntPtr hEventLog); #pragma warning disable 56523 [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] override protected bool ReleaseHandle() { return DeregisterEventSource(this.handle); } #pragma warning restore 56523 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using Microsoft.Win32.SafeHandles; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Globalization; using System.Diagnostics; using System.Security; using System.Runtime; [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] sealed class SafeEventLogWriteHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note: RegisterEventSource returns 0 on failure [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] SafeEventLogWriteHandle() : base(true) { } [ResourceConsumption(ResourceScope.Machine)] [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] internal static SafeEventLogWriteHandle RegisterEventSource(string uncServerName, string sourceName) { SafeEventLogWriteHandle retval = NativeMethods.RegisterEventSource(uncServerName, sourceName); int error = Marshal.GetLastWin32Error(); if (retval.IsInvalid) { Debug.Print("SafeEventLogWriteHandle::RegisterEventSource[" + uncServerName + ", " + sourceName + "] Failed. Last Error: " + error.ToString(CultureInfo.InvariantCulture)); } return retval; } [DllImport("advapi32", SetLastError = true)] [ResourceExposure(ResourceScope.None)] private static extern bool DeregisterEventSource(IntPtr hEventLog); #pragma warning disable 56523 [Fx.Tag.SecurityNote(Critical = "Usage of SafeHandleZeroOrMinusOneIsInvalid, which is protected by a LinkDemand and InheritanceDemand")] [SecurityCritical] override protected bool ReleaseHandle() { return DeregisterEventSource(this.handle); } #pragma warning restore 56523 } } // 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
- WebScriptEnablingBehavior.cs
- WindowInteractionStateTracker.cs
- SoapExtensionTypeElementCollection.cs
- WebBrowserNavigatingEventHandler.cs
- Image.cs
- ScrollableControl.cs
- ProvideValueServiceProvider.cs
- DecimalConstantAttribute.cs
- FontWeightConverter.cs
- Clipboard.cs
- TextRange.cs
- SynchronizedInputPattern.cs
- AttachmentService.cs
- ContextStack.cs
- ResourceManagerWrapper.cs
- smtpconnection.cs
- ConfigUtil.cs
- DataBindingExpressionBuilder.cs
- mediaeventargs.cs
- ADMembershipProvider.cs
- WindowsToolbar.cs
- DefaultValueAttribute.cs
- SrgsToken.cs
- SelectorItemAutomationPeer.cs
- ReflectionUtil.cs
- PathFigure.cs
- AnimationTimeline.cs
- DSASignatureDeformatter.cs
- PointKeyFrameCollection.cs
- PageParserFilter.cs
- PagesSection.cs
- validationstate.cs
- SimplePropertyEntry.cs
- DesigntimeLicenseContext.cs
- SafeFindHandle.cs
- InvalidBodyAccessException.cs
- TdsParserHelperClasses.cs
- TreeViewHitTestInfo.cs
- BitmapFrame.cs
- returneventsaver.cs
- RectAnimationBase.cs
- ChannelProtectionRequirements.cs
- SafeCryptoHandles.cs
- Parser.cs
- HttpListenerException.cs
- PageVisual.cs
- webproxy.cs
- ButtonFlatAdapter.cs
- TreeIterator.cs
- ParamArrayAttribute.cs
- TableHeaderCell.cs
- NullExtension.cs
- Converter.cs
- DataGridTextBox.cs
- KeyboardNavigation.cs
- FilteredDataSetHelper.cs
- OleDbCommandBuilder.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ASCIIEncoding.cs
- UserPersonalizationStateInfo.cs
- HandoffBehavior.cs
- NumericUpDownAcceleration.cs
- AsyncPostBackTrigger.cs
- Int32KeyFrameCollection.cs
- CompiledQuery.cs
- ModifierKeysConverter.cs
- PropertyEmitterBase.cs
- BasicExpandProvider.cs
- CommandDevice.cs
- DbSetClause.cs
- SystemEvents.cs
- SectionInformation.cs
- SoapTypeAttribute.cs
- AspNetSynchronizationContext.cs
- OracleNumber.cs
- PolyBezierSegmentFigureLogic.cs
- ExpressionBuilderContext.cs
- AssemblyBuilder.cs
- TextDecorationCollection.cs
- VBCodeProvider.cs
- DecoderReplacementFallback.cs
- returneventsaver.cs
- ReadOnlyActivityGlyph.cs
- X509Extension.cs
- Menu.cs
- DateTimeFormatInfo.cs
- HostedTcpTransportManager.cs
- FaultContractInfo.cs
- TransactionValidationBehavior.cs
- GroupBox.cs
- IpcChannel.cs
- SystemTcpStatistics.cs
- IndexedEnumerable.cs
- GridViewDeletedEventArgs.cs
- CacheChildrenQuery.cs
- StylusEventArgs.cs
- LightweightCodeGenerator.cs
- ModulesEntry.cs
- PropertyDescriptor.cs
- SafeEventLogWriteHandle.cs