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
- basecomparevalidator.cs
- DataBoundControlAdapter.cs
- MarkedHighlightComponent.cs
- ResXResourceReader.cs
- sqlpipe.cs
- CommonXSendMessage.cs
- DashStyle.cs
- DataGridViewCellCollection.cs
- XamlReaderHelper.cs
- SmiXetterAccessMap.cs
- UpdateException.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- DesignerMetadata.cs
- WindowsGraphics.cs
- ThemeConfigurationDialog.cs
- GorillaCodec.cs
- Assembly.cs
- InstanceCollisionException.cs
- ProjectionCamera.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CodeExporter.cs
- MapPathBasedVirtualPathProvider.cs
- LambdaCompiler.Address.cs
- BufferedStream.cs
- XmlILAnnotation.cs
- TextParagraph.cs
- BinaryCommonClasses.cs
- PersonalizationProviderCollection.cs
- SelectionBorderGlyph.cs
- SafeHandles.cs
- UnauthorizedWebPart.cs
- DBSchemaTable.cs
- DbDeleteCommandTree.cs
- OrderByQueryOptionExpression.cs
- OrderedDictionaryStateHelper.cs
- SortedList.cs
- SelectionItemProviderWrapper.cs
- EmbeddedMailObjectsCollection.cs
- ObjectTypeMapping.cs
- SuppressMessageAttribute.cs
- URI.cs
- FontFamily.cs
- XPathChildIterator.cs
- PathSegment.cs
- ArrayWithOffset.cs
- Missing.cs
- ServicePointManager.cs
- TextTreeExtractElementUndoUnit.cs
- AddInStore.cs
- HtmlAnchor.cs
- SQLByte.cs
- GridItemPatternIdentifiers.cs
- PenThreadPool.cs
- UpdateCompiler.cs
- BaseCodePageEncoding.cs
- TableItemPatternIdentifiers.cs
- PixelFormats.cs
- CanonicalXml.cs
- KeyValuePairs.cs
- EntityDataSourceChangingEventArgs.cs
- SignatureHelper.cs
- NodeFunctions.cs
- GenericEnumerator.cs
- DataMisalignedException.cs
- DataBindingHandlerAttribute.cs
- ExecutionContext.cs
- XmlAtomicValue.cs
- Double.cs
- XsltLoader.cs
- AnnotationResourceChangedEventArgs.cs
- DataContractJsonSerializerOperationBehavior.cs
- XmlNamespaceManager.cs
- InputLangChangeEvent.cs
- FormClosedEvent.cs
- FullTextState.cs
- WebServiceClientProxyGenerator.cs
- XamlInt32CollectionSerializer.cs
- CngProperty.cs
- MenuItem.cs
- XmlnsDictionary.cs
- SafeProcessHandle.cs
- Converter.cs
- ModifiableIteratorCollection.cs
- OdbcError.cs
- WebPartMinimizeVerb.cs
- StronglyTypedResourceBuilder.cs
- CollectionViewGroupRoot.cs
- NamespaceEmitter.cs
- DataServiceContext.cs
- DataPagerField.cs
- HttpCapabilitiesEvaluator.cs
- CultureInfoConverter.cs
- XomlSerializationHelpers.cs
- Function.cs
- PartitionResolver.cs
- NameTable.cs
- BaseValidator.cs
- AttachmentCollection.cs
- QuestionEventArgs.cs
- KeyMatchBuilder.cs