
WinFSP permet aux développeurs d'écrire leurs propres systèmes de fichiers (c'est-à-dire "Drives Windows") comme programmes de mode utilisateur et sans aucune connaissance de la programmation du noyau Windows. Il est similaire à Fuse (Système de fichiers dans Userspace) pour Linux et d'autres ordinateurs de type UNIX.
winfsp.dev 
WinFSP est une plate-forme qui fournit un support de développement et d'exécution pour les systèmes de fichiers personnalisés sur les ordinateurs Windows. En règle générale, toutes les informations ou stockages peuvent être organisés et présentés comme un système de fichiers via WINFSP, avec l'avantage étant que les informations sont accessibles via les API de fichier Windows Standand par n'importe quelle application Windows.
Le Core WinFSP se compose d'un pilote de système de fichiers en mode de noyau (FSD) et d'une DLL en mode utilisateur. Le FSD s'interface avec le noyau Windows et gère toutes les interactions nécessaires pour se présenter comme un pilote de système de fichiers. La DLL s'interface avec le FSD et présente une API qui peut être utilisée pour gérer les fonctions du système de fichiers. Par exemple, lorsqu'une application tente d'ouvrir un fichier, le système de fichiers reçoit un appel Open avec les informations nécessaires.
L'utilisation de WinFSP pour créer un système de fichiers présente de nombreux avantages:
Développement facile : le développement de systèmes de fichiers de mode de noyau pour Windows est une tâche notoirement difficile. WinFSP rend le développement du système de fichiers relativement indolore. Ce tutoriel explique comment créer un système de fichiers.
Stabilité : logiciel stable sans aucun mode de noyau connu, des collisions, des fuites de ressources ou des problèmes similaires. WinFSP doit cette stabilité à sa conception et à son régime de test rigoureux.
Exactitude : s'efforce de l'exactitude et de la compatibilité du système de fichiers avec les NTF. Pour plus de détails, voir le document de compatibilité.
Performances : a d'excellentes performances qui rivalisent ou dépasse celle des NTF dans de nombreux scénarios de système de fichiers. En savoir plus sur ses performances.


Support large : prend en charge Windows 7 à Windows 11 et les architectures X86, X64 et ARM64.
API flexible : comprend les API natives, fusibles2, fusibles3 et .NET.
Intégration de shell : fournit des installations pour intégrer les systèmes de fichiers de mode utilisateur avec le shell Windows. Voir le document d'architecture de service.
Autonome : logiciel autonome sans dépendances externes.
Largement utilisé : utilisé dans de nombreuses applications open-source et commerciales avec des millions d'installations (estimé: le projet WinFSP ne suit pas ses utilisateurs).
Licence flexible : Disponible sous la licence GPLV3 avec une exception spéciale gratuitement / libre et un logiciel open source. Une licence commerciale est également disponible. Veuillez contacter Bill Zissimopoulos <Billziss sur Navimatics.com> pour plus de détails.
Téléchargez et exécutez l'installateur WinFSP. Dans l'installateur, sélectionnez l'option pour installer les fichiers "développeur". Ceux-ci incluent le système d'exemple de fichiers MEMFS, mais également des fichiers d'en-tête et de bibliothèque qui vous permettent de développer votre propre système de fichiers en mode utilisateur.

Vous pouvez tester WinFSP en lançant des MEMF à partir de la ligne de commande:
billziss@xps ⟩ ~ ⟩ net use X: \memfs64test
The command completed successfully.
billziss@xps ⟩ ~ ⟩ X:
billziss@xps ⟩ X: ⟩ echo "hello world" > hello.txt
billziss@xps ⟩ X: ⟩ dir
Directory: X:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 6/12/2022 5:15 PM 28 hello.txt
billziss@xps ⟩ X: ⟩ type hello.txt
hello world
billziss@xps ⟩ X: ⟩ cd ~
billziss@xps ⟩ ~ ⟩ net use X: /delete
X: was deleted successfully.
Les MEMFS (et tous les systèmes de fichiers qui utilisent le lanceur WinFSP comme documenté dans le document d'architecture de service) peuvent également être lancés à partir de l'Explorer à l'aide de la fonctionnalité "Map Network Drive".
Documentation :
Tutoriel
Référence de l'API
Bâtiment
Wiki du projet
Discussion :
Groupe google winfsp
Twitter de l'auteur