Ich arbeite bei meinem Ferienjob gerade an den Drag & Drop Funktionen unserer Software, um den Austausch von Daten mit dem Windows Explorer und anderen Programmen zu ermöglichen. In unserem speziellen Fall liegen die Daten aber in einer Datenbank, beim Drag and Drop von der Anwendung zum Windows Explorer können die Daten also erst beim Drop an den Explorer übergeben. Das nennt sich "Delayed Rendering" und ist mit C++ ohne viel Aufwand möglich. Mit C# scheint das ganze leider unmöglich zu sein, es gibt zwar mehrere Artikel auf Codeproject.com, nur wird leider bei keinem ein IStream verwendet, weswegen der Explorer ab ca. 20 MB Dateigröße Speicherprobleme bekommt.