Question

Bac à sable est un programme qui vous permettra de lire à partir du disque dur, mais lorsque vous essayez d'écrire, il redirigera le fichier vers un conteneur séparé. Je voudrais apprendre à faire quelque chose de similaire. Je ne sais pas quels termes ou bibliothèques rechercher. Existe-t-il une API de redirection de fichiers dans Windows? Y a-t-il une bibliothèque open source qui peut m'aider avec les pièces Down et Dirty?

Je sais qu'il n'y a probablement pas d'API dans Windows pour le faire hors de la boîte et j'aurai probablement besoin d'écrire mon propre pilote. Cela ne me dérange pas d'écrire un pilote, ce projet est d'être une expérience d'apprentissage pour moi et je veux en quelque sorte apprendre à le faire.

Toute aide serait grandement appréciée.


Clarification:

J'essaie de reproduire le comportement de Sandboxie, c'est-à-dire: le lancement d'un EXE non modifié d'un autre programme et la redirection de la façon dont il gère le fichier IO.

Ce que je veux faire, c'est avoir un lanceur qui transformera mon disque SSD en un cache pour mon lecteur de spinning. Je lance mon application et il lance à son tour une autre application. Toutes les ressources que les autres demandes de l'application seront transmises sur le disque de rotation, mais également copiées sur le SSD. Toutes les autres lectures et toutes les écritures seront effectuées à la copie SSD du fichier. Une fois que l'autre programme se terminera, mon application rincera les écritures du SSD au disque de rotation.

Je pourrais techniquement le faire via Sandboxie et quelques astuces de script, mais je veux apprendre les internes du fichier IO et comment faire la redirection.


Clarification 2:

Je n'ai pas de problème à utiliser une bibliothèque prédéfinie, tant qu'elle est gratuite (comme dans la bière). Il n'a pas besoin d'être open source ou libre (comme dans la parole).

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top