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
- BigInt.cs
- MatrixAnimationUsingKeyFrames.cs
- GroupBoxAutomationPeer.cs
- NameTable.cs
- XamlFrame.cs
- OleDbRowUpdatedEvent.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- HttpRawResponse.cs
- Delegate.cs
- UrlAuthFailureHandler.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- CompiledQueryCacheKey.cs
- Grid.cs
- WinInet.cs
- TransformerInfoCollection.cs
- DataObjectSettingDataEventArgs.cs
- XmlSchemaSequence.cs
- FocusChangedEventArgs.cs
- FlowDocumentScrollViewer.cs
- XpsViewerException.cs
- ACL.cs
- XmlAnyElementAttributes.cs
- PhonemeConverter.cs
- LingerOption.cs
- SubMenuStyleCollection.cs
- MethodSet.cs
- SmtpClient.cs
- StringDictionary.cs
- HttpHandlerActionCollection.cs
- OdbcConnectionOpen.cs
- Scene3D.cs
- X509UI.cs
- Signature.cs
- SymmetricKeyWrap.cs
- CodeDefaultValueExpression.cs
- ErrorHandler.cs
- xdrvalidator.cs
- TickBar.cs
- SignedXmlDebugLog.cs
- ExpandableObjectConverter.cs
- NotFiniteNumberException.cs
- PlaceHolder.cs
- StylusPlugInCollection.cs
- MenuItemBindingCollection.cs
- WindowsToolbarAsMenu.cs
- DataSetMappper.cs
- Misc.cs
- DivideByZeroException.cs
- HostExecutionContextManager.cs
- StringUtil.cs
- DispatcherHookEventArgs.cs
- Maps.cs
- ChangeNode.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ProfileBuildProvider.cs
- ClosableStream.cs
- MetadataException.cs
- NonClientArea.cs
- WsdlInspector.cs
- ImageAnimator.cs
- Menu.cs
- ObjectAnimationUsingKeyFrames.cs
- ExceptionWrapper.cs
- JsonStringDataContract.cs
- MimeBasePart.cs
- DesignerAttribute.cs
- __Filters.cs
- FigureHelper.cs
- ObjectDataSourceDisposingEventArgs.cs
- BitStream.cs
- SerializationUtility.cs
- TextWriter.cs
- EpmSyndicationContentDeSerializer.cs
- TextRunCache.cs
- RuntimeConfigLKG.cs
- Attributes.cs
- AxisAngleRotation3D.cs
- AccessibilityHelperForXpWin2k3.cs
- Wizard.cs
- CodeIndexerExpression.cs
- Attachment.cs
- Splitter.cs
- UnsupportedPolicyOptionsException.cs
- SystemPens.cs
- SafeSecurityHandles.cs
- WebPartConnectionsCancelEventArgs.cs
- SevenBitStream.cs
- XMLSchema.cs
- storepermission.cs
- ImageUrlEditor.cs
- WhitespaceRuleReader.cs
- SystemIPGlobalProperties.cs
- ObjectSelectorEditor.cs
- RowToFieldTransformer.cs
- RuntimeConfigLKG.cs
- DataGridItemCollection.cs
- NetSectionGroup.cs
- ISO2022Encoding.cs
- WebConfigurationHostFileChange.cs
- CallTemplateAction.cs