カスタム オブジェクトを RDC ウィンドウからホスト (ローカル) マシンにコピーしようとしています。失敗します。1) コピーと 2) 貼り付けに使用しているコードは次のとおりです。
1) リモート (RDC 経由でアクセスされる Windows XP 上で動作するクライアント):
//copy entry
IDataObject ido = new DataObject();
XmlSerializer x = new XmlSerializer(typeof(EntryForClipboard));
StringWriter sw = new StringWriter();
x.Serialize(sw, new EntryForClipboard(entry));
ido.SetData(typeof(EntryForClipboard).FullName, sw.ToString());
Clipboard.SetDataObject(ido, true);
2) ローカル (ローカルの Windows XP x64 ワークステーションで実行されているクライアント):
//paste entry
IDataObject ido = Clipboard.GetDataObject();
DataFormats.Format cdf = DataFormats.GetFormat(typeof(EntryForClipboard).FullName);
if (ido.GetDataPresent(cdf.Name)) //<- this always returns false
{
//can never get here!
XmlSerializer x = new XmlSerializer(typeof(EntryForClipboard));
string xml = (string)ido.GetData(cdf.Name);
StringReader sr = new StringReader(xml);
EntryForClipboard data = (EntryForClipboard)x.Deserialize(sr);
}
ただし、同じマシンで完全に動作します。
ヒントはありますか?