Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / SMDiagnostics / System / ServiceModel / Diagnostics / Utility.cs / 1305376 / Utility.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Diagnostics
{
using System.Runtime;
using System.Runtime.CompilerServices;
using System.Runtime.ConstrainedExecution;
using System.Diagnostics;
using System.Threading;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Diagnostics.CodeAnalysis;
class Utility
{
ExceptionUtility exceptionUtility;
[Obsolete("For SMDiagnostics.dll use only. Call DiagnosticUtility.Utility instead")]
internal Utility(ExceptionUtility exceptionUtility)
{
this.exceptionUtility = exceptionUtility;
}
// Call this when a p/invoke with an 'out SafeHandle' parameter returns an error. This will safely clean up the handle.
internal static void CloseInvalidOutSafeHandle(SafeHandle handle)
{
// Workaround for 64-bit CLR bug VSWhidbey 546830 - sometimes invalid SafeHandles come back null.
if (handle != null)
{
#pragma warning disable 618
AssertUtility.DebugAssert(handle.IsInvalid, "CloseInvalidOutSafeHandle called with a valid handle!");
#pragma warning restore 618
// Calls SuppressFinalize.
handle.SetHandleAsInvalid();
}
}
// Copy of the above for CriticalHandles.
internal static void CloseInvalidOutCriticalHandle(CriticalHandle handle)
{
if (handle != null)
{
#pragma warning disable 618
AssertUtility.DebugAssert(handle.IsInvalid, "CloseInvalidOutCriticalHandle called with a valid handle!");
#pragma warning restore 618
handle.SetHandleAsInvalid();
}
}
internal Guid CreateGuid(string guidString)
{
return Fx.CreateGuid(guidString);
}
internal bool TryCreateGuid(string guidString, out Guid result)
{
return Fx.TryCreateGuid(guidString, out result);
}
internal byte[] AllocateByteArray(int size)
{
return Fx.AllocateByteArray(size);
}
internal char[] AllocateCharArray(int size)
{
return Fx.AllocateCharArray(size);
}
}
}
// 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
- InternalBufferManager.cs
- GB18030Encoding.cs
- ApplicationCommands.cs
- LogicalExpr.cs
- IsolatedStorage.cs
- DmlSqlGenerator.cs
- ImageMapEventArgs.cs
- BulletedListEventArgs.cs
- DefinitionProperties.cs
- RoutedEvent.cs
- ResolveDuplexAsyncResult.cs
- CodeCompileUnit.cs
- RuleAttributes.cs
- ViewStateException.cs
- NegotiateStream.cs
- HttpResponse.cs
- NetCodeGroup.cs
- XamlClipboardData.cs
- DBDataPermission.cs
- BaseDataList.cs
- UrlAuthorizationModule.cs
- SkipStoryboardToFill.cs
- Error.cs
- DebuggerAttributes.cs
- sortedlist.cs
- ConsumerConnectionPoint.cs
- ReadOnlyDictionary.cs
- TextEditorParagraphs.cs
- EncoderExceptionFallback.cs
- SqlBuilder.cs
- EntitySet.cs
- GridViewRowEventArgs.cs
- ToolBarTray.cs
- ZipIOBlockManager.cs
- FileSecurity.cs
- HwndHost.cs
- TreeViewHitTestInfo.cs
- AssemblyAttributesGoHere.cs
- PriorityBindingExpression.cs
- Size.cs
- Authorization.cs
- FileDetails.cs
- LookupBindingPropertiesAttribute.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- Rules.cs
- DynamicValidatorEventArgs.cs
- SmtpFailedRecipientsException.cs
- DataSourceDescriptorCollection.cs
- InputReferenceExpression.cs
- StdValidatorsAndConverters.cs
- XPathBinder.cs
- AssemblyCollection.cs
- Win32.cs
- CollectionType.cs
- EnumBuilder.cs
- TextFormatterHost.cs
- TextSerializer.cs
- SemaphoreFullException.cs
- XPathExpr.cs
- ComponentEditorForm.cs
- RewritingPass.cs
- ProxyGenerator.cs
- PrintPreviewControl.cs
- UdpTransportSettings.cs
- SeverityFilter.cs
- EventLog.cs
- assertwrapper.cs
- UpdateTracker.cs
- Thickness.cs
- InheritanceRules.cs
- XmlEventCache.cs
- FacetEnabledSchemaElement.cs
- InputLanguage.cs
- ExpressionBuilder.cs
- Command.cs
- ConfigXmlSignificantWhitespace.cs
- StrongNamePublicKeyBlob.cs
- PersonalizationStateInfo.cs
- MatrixAnimationBase.cs
- EventLogHandle.cs
- ConditionChanges.cs
- baseaxisquery.cs
- StorageAssociationTypeMapping.cs
- DataColumnChangeEvent.cs
- CommandBinding.cs
- Freezable.cs
- NavigationProgressEventArgs.cs
- DbParameterHelper.cs
- RootDesignerSerializerAttribute.cs
- Unit.cs
- SecurityDescriptor.cs
- SoapEnumAttribute.cs
- PoisonMessageException.cs
- PaginationProgressEventArgs.cs
- TypeCacheManager.cs
- Renderer.cs
- LifetimeManager.cs
- ListCollectionView.cs
- ParamArrayAttribute.cs
- ManipulationDeltaEventArgs.cs