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
- DropSource.cs
- TextBoxRenderer.cs
- DrawListViewSubItemEventArgs.cs
- CollectionView.cs
- PointLight.cs
- BitmapCodecInfoInternal.cs
- DataColumnSelectionConverter.cs
- OrderByLifter.cs
- ContainerParagraph.cs
- Exception.cs
- dataprotectionpermission.cs
- Propagator.Evaluator.cs
- TextureBrush.cs
- Merger.cs
- WindowsImpersonationContext.cs
- DynamicValueConverter.cs
- XmlWriterTraceListener.cs
- GeneratedView.cs
- XPathDocumentNavigator.cs
- CollectionChange.cs
- SerializableAttribute.cs
- DoubleUtil.cs
- ObjectAssociationEndMapping.cs
- DataGridCell.cs
- XmlSchemaAppInfo.cs
- ProfilePropertyMetadata.cs
- IPAddress.cs
- TreeSet.cs
- ProbeDuplexAsyncResult.cs
- AccessibilityApplicationManager.cs
- DataBinding.cs
- GlobalizationSection.cs
- QuadraticBezierSegment.cs
- CodeSubDirectory.cs
- TypeSystem.cs
- Pens.cs
- XamlGridLengthSerializer.cs
- DisposableCollectionWrapper.cs
- WebPartZoneBaseDesigner.cs
- TileBrush.cs
- Substitution.cs
- XmlDesigner.cs
- LocalizedNameDescriptionPair.cs
- OleServicesContext.cs
- RadioButtonFlatAdapter.cs
- DbFunctionCommandTree.cs
- StdValidatorsAndConverters.cs
- ZipFileInfo.cs
- TextEditorMouse.cs
- ClientScriptManagerWrapper.cs
- XsltQilFactory.cs
- StylusPointPropertyInfoDefaults.cs
- tooltip.cs
- PipelineModuleStepContainer.cs
- ActiveXHost.cs
- GenericWebPart.cs
- MsmqIntegrationProcessProtocolHandler.cs
- Selection.cs
- AssemblySettingAttributes.cs
- ClientSettingsSection.cs
- Listbox.cs
- FrugalList.cs
- SqlWriter.cs
- PointLight.cs
- EncryptedReference.cs
- ArgumentDirectionHelper.cs
- DataGridColumnCollection.cs
- Formatter.cs
- CodeDOMProvider.cs
- PropertyEntry.cs
- CompatibleComparer.cs
- StatusBarPanelClickEvent.cs
- DocumentPageView.cs
- TextElementEnumerator.cs
- TracePayload.cs
- StreamAsIStream.cs
- DBSchemaRow.cs
- ResourceKey.cs
- ConfigXmlElement.cs
- xmlformatgeneratorstatics.cs
- log.cs
- TemplateControlCodeDomTreeGenerator.cs
- FaultBookmark.cs
- Decoder.cs
- SqlRowUpdatingEvent.cs
- HtmlObjectListAdapter.cs
- ManualResetEventSlim.cs
- MultiTargetingUtil.cs
- CreateUserWizardStep.cs
- HostSecurityManager.cs
- Transform3D.cs
- BidPrivateBase.cs
- NonNullItemCollection.cs
- MembershipUser.cs
- Point4D.cs
- RolePrincipal.cs
- ClockController.cs
- MasterPageBuildProvider.cs
- COM2IPerPropertyBrowsingHandler.cs
- InsufficientMemoryException.cs