Пишу расширение оболчки, столкнулся со следующий проблемой, при перетаскивании объекта из моего приложения в эксплорер нужно создать файл с альтернативным потоком NTFS. В альтернативном потоке храняться метаданные, необходимые для дальнейшей работы приложения.
Drag&Drop реализовал через пару CF_FILEDESCRIPTOR&CF_FILECONTENTS, таким образом я отдаю эксплореру экземпляр IStream из которого тот берёт содержимое файла. Файл создаёться полностью валидный, за исключением отсутсвия в нём альтернативного потока. Точный путь до созданного файла остаётся неизвестным, и поэтому, дописать данные после завершения операции нельзя.
Создать временный файл с потоком и отдавать его эксплореру через CF_HDROP тоже нельзя, файл скачиваеться с удалённого и весьма медленного сервера. Для CF_HDROP операция скачивания должна быть выполнена до начала сброса, чтоб отдать системе имя временноно файла(опятьже не ясно когда его можно будет удалять). С другой стороны пара CF_FILEDESCRIPTOR&CF_FILECONTENTS в этом отношении очень удобна, операция скачивания откладываеться на самый последний момент.
Посоветуйте, как мне сделать создание альтернативного потока NTFS в файле созданном через Drag&Drop?