Arraste e solte arquivos virtuais usando o IStream

Eu quero ativar arrastar e soltar de nosso aplicativo baseado em formulários do Windows para o Windows Explorer. O grande problema: os arquivos são armazenados em um banco de dados, portanto, preciso usar a renderização de dados atrasados. Há umartigo no codeproject.com, mas o autor está usando um objeto H_GLOBAL que leva a problemas de memória com arquivos maiores que aprox. 20 MB. Eu não encontrei uma solução de trabalho para usar um objeto IStream em vez disso. Eu acho que isso deve ser possível implementar, porque este não é um caso incomum. (Um programa de FTP também precisa desse recurso, por exemplo)

Editar: É possível obter um evento quando o usuário solta o arquivo? Então, eu poderia, por exemplo, copiá-lo para temp e o explorador obtém a partir daí? Talvez haja uma abordagem alternativa para o meu problema ...

questionAnswers(2)

yourAnswerToTheQuestion