Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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
- TextServicesDisplayAttribute.cs
- ActivityPreviewDesigner.cs
- RegistryPermission.cs
- FunctionDescription.cs
- UpdatePanel.cs
- SchemaImporterExtensionElement.cs
- TokenizerHelper.cs
- PenLineJoinValidation.cs
- EdmProperty.cs
- IListConverters.cs
- Comparer.cs
- DrawingContextDrawingContextWalker.cs
- SQLChars.cs
- CollectionMarkupSerializer.cs
- X509Certificate.cs
- IdentityReference.cs
- CheckBox.cs
- KeyEvent.cs
- DynamicQueryableWrapper.cs
- ConfigurationHelpers.cs
- PropertySourceInfo.cs
- ObjectQuery.cs
- ExtensionSimplifierMarkupObject.cs
- XsdBuildProvider.cs
- ToolBarButtonDesigner.cs
- WebRequest.cs
- AggregateException.cs
- RightNameExpirationInfoPair.cs
- TableCell.cs
- BitmapImage.cs
- TableStyle.cs
- XPathException.cs
- DataControlReference.cs
- EllipticalNodeOperations.cs
- ForeignKeyConstraint.cs
- DbgCompiler.cs
- SQLChars.cs
- Mappings.cs
- TcpPortSharing.cs
- RegexInterpreter.cs
- RecommendedAsConfigurableAttribute.cs
- NotImplementedException.cs
- WindowsAuthenticationModule.cs
- SoapMessage.cs
- XmlNullResolver.cs
- ProviderConnectionPoint.cs
- DurationConverter.cs
- ListViewPagedDataSource.cs
- CompatibleComparer.cs
- MenuItemBinding.cs
- QuarticEase.cs
- Trace.cs
- Int32KeyFrameCollection.cs
- KeyValuePairs.cs
- XmlQuerySequence.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- HwndHost.cs
- ConstraintEnumerator.cs
- WorkflowViewService.cs
- BitArray.cs
- InkPresenter.cs
- LabelLiteral.cs
- CompilerErrorCollection.cs
- LicenseException.cs
- WebPartsPersonalizationAuthorization.cs
- VoiceInfo.cs
- PrintPreviewGraphics.cs
- ArraySubsetEnumerator.cs
- HierarchicalDataSourceIDConverter.cs
- CookielessData.cs
- BinHexEncoder.cs
- ISAPIWorkerRequest.cs
- CodeDOMProvider.cs
- DataGridColumn.cs
- ADConnectionHelper.cs
- WpfWebRequestHelper.cs
- CommonDialog.cs
- SystemGatewayIPAddressInformation.cs
- SequenceDesigner.cs
- PriorityBindingExpression.cs
- HttpWebResponse.cs
- Formatter.cs
- SQLByte.cs
- ArithmeticException.cs
- SecurityTokenException.cs
- Bookmark.cs
- SizeLimitedCache.cs
- FormViewCommandEventArgs.cs
- LassoHelper.cs
- MouseEventArgs.cs
- TdsParserStaticMethods.cs
- PrintDocument.cs
- InitializerFacet.cs
- XmlSchemaInferenceException.cs
- ExtensionSimplifierMarkupObject.cs
- EncryptedType.cs
- TileBrush.cs
- AnnotationComponentManager.cs
- WorkItem.cs
- ListViewItem.cs