Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / RetriableClipboard.cs / 1305376 / RetriableClipboard.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Activities.Presentation
{
using System.Threading;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Runtime.InteropServices;
using System.Runtime;
using System.Diagnostics;
// The clipboard may be accessed by other processes.
// RetriableClipboard retries several times before giving up.
static class RetriableClipboard
{
const int retryCount = 10;
const int sleepTime = 50;
internal static IDataObject GetDataObject()
{
for (int i = 0; i < retryCount; i++)
{
try
{
return Clipboard.GetDataObject();
}
catch (Exception err)
{
Trace.WriteLine(err.ToString());
if (Fx.IsFatal(err))
{
throw;
}
Thread.Sleep(sleepTime);
}
}
return null;
}
internal static void SetDataObject(object data, bool copy)
{
for (int i = 0; i < retryCount; i++)
{
try
{
Clipboard.SetDataObject(data, copy);
return;
}
catch (Exception err)
{
Trace.WriteLine(err.ToString());
if (Fx.IsFatal(err))
{
throw;
}
Thread.Sleep(sleepTime);
}
}
}
internal static void SetImage(BitmapSource image)
{
for (int i = 0; i < retryCount; i++)
{
try
{
Clipboard.SetImage(image);
return;
}
catch (Exception err)
{
Trace.WriteLine(err.ToString());
if (Fx.IsFatal(err))
{
throw;
}
Thread.Sleep(sleepTime);
}
}
}
}
}
// 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
- MemoryStream.cs
- CapabilitiesRule.cs
- InvalidPropValue.cs
- cookie.cs
- SystemMulticastIPAddressInformation.cs
- EventPrivateKey.cs
- HtmlElementCollection.cs
- HandleTable.cs
- HttpContext.cs
- BasicKeyConstraint.cs
- SafeCryptoHandles.cs
- CompositionCommandSet.cs
- EmissiveMaterial.cs
- KeyGestureConverter.cs
- XmlSchemaChoice.cs
- BamlResourceContent.cs
- DataSourceControlBuilder.cs
- DataGridViewCellEventArgs.cs
- WindowsRegion.cs
- TaskFormBase.cs
- xml.cs
- RepeatInfo.cs
- AttributeData.cs
- SerTrace.cs
- ParagraphVisual.cs
- HitTestWithPointDrawingContextWalker.cs
- CompatibleIComparer.cs
- DataGridItemCollection.cs
- UpdatePanelTriggerCollection.cs
- KnownTypeAttribute.cs
- TextBox.cs
- ChannelRequirements.cs
- CodeAttributeDeclarationCollection.cs
- Transactions.cs
- MessageQueuePermissionEntryCollection.cs
- LiteralSubsegment.cs
- SqlRecordBuffer.cs
- PackWebRequestFactory.cs
- DataGridViewSelectedCellCollection.cs
- HtmlInputRadioButton.cs
- IERequestCache.cs
- DocumentCollection.cs
- ContextDataSourceView.cs
- IgnoreSectionHandler.cs
- DecoderFallbackWithFailureFlag.cs
- IsolatedStorage.cs
- XmlObjectSerializerWriteContext.cs
- ProgressChangedEventArgs.cs
- ErrorHandlerFaultInfo.cs
- ProfileInfo.cs
- PortCache.cs
- HttpStreamMessageEncoderFactory.cs
- SpAudioStreamWrapper.cs
- ResourceWriter.cs
- Pair.cs
- ScanQueryOperator.cs
- CredentialCache.cs
- ListViewItemEventArgs.cs
- PagedDataSource.cs
- RouteItem.cs
- DateTimeParse.cs
- FloatSumAggregationOperator.cs
- XPathParser.cs
- DLinqDataModelProvider.cs
- IndependentlyAnimatedPropertyMetadata.cs
- PartialList.cs
- SqlClientWrapperSmiStream.cs
- XmlValueConverter.cs
- GeometryModel3D.cs
- SqlDataSourceStatusEventArgs.cs
- FaultBookmark.cs
- AutomationElementIdentifiers.cs
- SecUtil.cs
- NamespaceDecl.cs
- SortedDictionary.cs
- ExtractCollection.cs
- ErrorFormatterPage.cs
- XpsDocument.cs
- TypeUsageBuilder.cs
- XmlSchemaAttributeGroup.cs
- ShaperBuffers.cs
- Decorator.cs
- XmlChildEnumerator.cs
- Contracts.cs
- SerializationAttributes.cs
- X500Name.cs
- SetIndexBinder.cs
- HMACSHA512.cs
- NetworkInformationPermission.cs
- AttributeCallbackBuilder.cs
- XNameTypeConverter.cs
- PasswordDeriveBytes.cs
- ConfigXmlWhitespace.cs
- DataGridViewCheckBoxColumn.cs
- ValueTypeFixupInfo.cs
- DataGrid.cs
- XmlNodeComparer.cs
- SecurityTokenRequirement.cs
- XpsFilter.cs
- Msec.cs