У меня есть расширение пространства имен оболочки Windows, которое предоставляет виртуальные папки и файлы.
Когда я использую диалог открытия файла в программе, чтобы открыть файл с моим расширением, он будет сохранен в C:\Users\<USERNAME>\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\95R0XLO1\
и при выборе в последних файлах он откроет кэшированный файл вместо того, чтобы получать обновленный файл из расширения оболочки.
При открытии файла метод BindToObject
будет вызываться с параметром riid
знак равно IID_IStream
и возвращает (текущий) поток только для чтения.
Мне нужно всегда возвращать самую последнюю версию файла, когда пользователь открывает его. В том числе, когда он делает это, используя последние файлы.
Кроме того, я хотел бы, чтобы пользователь мог изменить файл, и когда он нажал сохранить, программа могла легко записать изменения обратно в расширение пространства имен. Делать поток также доступным для записи не помогло, потому что файл все еще кэшируется. Поэтому мне нужно решить это в первую очередь.
Задача ещё не решена.
Других решений пока нет …