Я хотел бы симулировать файл, не записывая его на диск. У меня есть файл в конце моего исполняемого файла, и я хотел бы указать его путь к dll. Конечно, поскольку у него нет реального пути, я должен подделать его.
Сначала я попытался использовать именованные каналы под Windows, чтобы сделать это. Это позволит использовать путь как \\.\Pipe\mymemoryfile, но я не могу заставить его работать, и я не уверен, что dll будет поддерживать такой путь.
Во-вторых, я нашел CreateFileMapping и GetMappedFileName. Могут ли они использоваться для имитации файла в фрагменте другого? Я не уверен, что это то, что делает этот API.
То, что я пытаюсь сделать, похоже на boxedapp. Любые идеи о том, как они это делают? Я предполагаю, что это что-то вроде перехвата API (Like Detour), но это будет очень много работы. Есть ли другой способ сделать это?
Почему? Я заинтересован в этом конкретном решении, потому что я хотел бы скрыть данные и в интересах распространения только одного файла, но также и для вызывающих причин для его работы таким образом;) Я согласен, что копирование данных во временный файл будет работать и будет намного проще.