Цитата Сообщение от nzeemin Посмотреть сообщение
висит hook на изменения в директории, подхватывает изменения, отражает это в своих структурах
Большого смысла в таком нет, поскольку содержимое каталога Windows представляет интерес только в момент чтения какой-либо программой RT-11 каталога RT-11.

В тот момент, когда программа RT-11 читает первый блок каталога - эмулятор виртуального диска задерживает этот запрос и сначала осуществляет процедуру двусторонней синхронизации каталогов. Алгоритм синхронизации нереально крут и подробности его уже мною забыты, но в общих чертах происходит примерно следующее:

1. Анализируется каталог RT-11 и создаётся список всех файлов, который затем сравнивается с предыдущим вариантом этого же списка.

2. Пропавшие файлы удаляются из каталога Windows.

3. Список всех изменённых блоков диска сравнивается со списком всех блоков в файлах RT-11. Совпадения записываются в одноимённые файлы в каталоге Windows и удаляются из списка изменённых блоков.

4. Создаётся список всех файлов в каталоге Windows и сравнивается со списком файлов в каталоге RT-11.

5. Новые и изменившиеся файлы загружаются на виртуальный диск.

....

Исходник объекта Virtual_DSK_Class не содержит ни одного вызова модульного API, поэтому двусторонне синхронизированный с каталогом Windows виртуальный диск RT-11 можно создавать в любом проекте C++.