Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Win32 / SafeHandles / safePerfProviderHandle.cs / 1305376 / safePerfProviderHandle.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace Microsoft.Win32.SafeHandles { using System; using System.Threading; using System.Diagnostics; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; //// #pragma warning disable 618 // Have not migrated to v4 transparency yet [System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)] #pragma warning restore 618 internal sealed class SafePerfProviderHandle : SafeHandleZeroOrMinusOneIsInvalid { private SafePerfProviderHandle() : base(true) {} protected override bool ReleaseHandle() { IntPtr tempProviderHandle = handle; if (Interlocked.Exchange(ref handle, IntPtr.Zero) != IntPtr.Zero) { uint Status = UnsafeNativeMethods.PerfStopProvider(tempProviderHandle); Debug.Assert(Status == (uint)UnsafeNativeMethods.ERROR_SUCCESS, "PerfStopProvider() fails"); // ERROR_INVALID_PARAMETER } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace Microsoft.Win32.SafeHandles { using System; using System.Threading; using System.Diagnostics; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; //// #pragma warning disable 618 // Have not migrated to v4 transparency yet [System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)] #pragma warning restore 618 internal sealed class SafePerfProviderHandle : SafeHandleZeroOrMinusOneIsInvalid { private SafePerfProviderHandle() : base(true) {} protected override bool ReleaseHandle() { IntPtr tempProviderHandle = handle; if (Interlocked.Exchange(ref handle, IntPtr.Zero) != IntPtr.Zero) { uint Status = UnsafeNativeMethods.PerfStopProvider(tempProviderHandle); Debug.Assert(Status == (uint)UnsafeNativeMethods.ERROR_SUCCESS, "PerfStopProvider() fails"); // ERROR_INVALID_PARAMETER } return true; } } } // 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
- CompositeActivityMarkupSerializer.cs
- VolatileEnlistmentState.cs
- ReadWriteSpinLock.cs
- CompiledXpathExpr.cs
- IconConverter.cs
- CompoundFileReference.cs
- Overlapped.cs
- BinHexDecoder.cs
- ExceptionUtil.cs
- TextDecoration.cs
- DatatypeImplementation.cs
- HttpStreams.cs
- Brush.cs
- User.cs
- DataGridViewDataConnection.cs
- OpCellTreeNode.cs
- ConnectionStringsExpressionEditor.cs
- ToolStripItemClickedEventArgs.cs
- NullableConverter.cs
- WebPartsSection.cs
- Config.cs
- RuntimeHelpers.cs
- ExpressionConverter.cs
- CompilerParameters.cs
- LOSFormatter.cs
- SessionStateSection.cs
- DBConnection.cs
- WmpBitmapDecoder.cs
- NegotiateStream.cs
- LinqDataSourceInsertEventArgs.cs
- ThreadExceptionEvent.cs
- Preprocessor.cs
- Timer.cs
- NotificationContext.cs
- TextTreeUndoUnit.cs
- RadioButton.cs
- WCFServiceClientProxyGenerator.cs
- WebPartConnectionsCancelEventArgs.cs
- InputLanguageEventArgs.cs
- NeutralResourcesLanguageAttribute.cs
- XmlWriterSettings.cs
- SrgsRulesCollection.cs
- InstanceDataCollection.cs
- WindowsFormsHost.cs
- EncoderParameter.cs
- Transform3D.cs
- TextView.cs
- ChannelServices.cs
- CustomAttributeFormatException.cs
- TrackBarRenderer.cs
- TextEditorTables.cs
- ServiceContractListItemList.cs
- SqlUserDefinedTypeAttribute.cs
- BaseValidator.cs
- CodeThrowExceptionStatement.cs
- RegisteredArrayDeclaration.cs
- ServiceHttpModule.cs
- DynamicMethod.cs
- TypeConverterHelper.cs
- invalidudtexception.cs
- ParameterToken.cs
- MsmqIntegrationProcessProtocolHandler.cs
- XmlUtil.cs
- FixedTextView.cs
- DBSchemaRow.cs
- ContainerControl.cs
- ServiceObjectContainer.cs
- RemoteArgument.cs
- SqlClientPermission.cs
- TemplateField.cs
- ConfigurationSectionGroupCollection.cs
- CatalogZone.cs
- BamlVersionHeader.cs
- CornerRadiusConverter.cs
- EasingFunctionBase.cs
- DodSequenceMerge.cs
- FixedSOMImage.cs
- DataGridItemCollection.cs
- SamlAdvice.cs
- Canvas.cs
- WebSysDefaultValueAttribute.cs
- UpdateManifestForBrowserApplication.cs
- DocComment.cs
- StateBag.cs
- XNodeNavigator.cs
- Hash.cs
- DeleteIndexBinder.cs
- DataGridViewBindingCompleteEventArgs.cs
- CodeTypeDeclarationCollection.cs
- XmlQualifiedName.cs
- GridView.cs
- WebPartConnectVerb.cs
- WinEventTracker.cs
- ResourceType.cs
- TableCellCollection.cs
- SharedStatics.cs
- MimeMapping.cs
- Literal.cs
- Single.cs
- WebServiceMethodData.cs