
winfsp v2.2B3
Proxy de système de fichiers Windows - FUSE pour Windows
WinFsp · Proxy de Système de Fichiers Windows
WinFsp permet aux développeurs d'écrire leurs propres systèmes de fichiers (c'est-à-dire des « lecteurs Windows ») en tant que programmes en mode utilisateur et sans aucune connaissance de la programmation du noyau Windows. Il est similaire à FUSE (Filesystem in Userspace) pour Linux et autres ordinateurs de type UNIX.
winfsp.dev
Aperçu
WinFsp est une plateforme qui fournit un support de développement et d'exécution pour des systèmes de fichiers personnalisés sur les ordinateurs Windows. Typiquement, toute information ou stockage peut être organisé et présenté comme un système de fichiers via WinFsp, avec l'avantage que l'information peut être accessible via les API standard des fichiers Windows par toute application Windows.
Le cœur de WinFsp se compose d'un pilote de système de fichiers en mode noyau (FSD) et d'une DLL en mode utilisateur. Le FSD interagit 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 fait l'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.
Utiliser WinFsp pour construire un système de fichiers présente de nombreux avantages :
Développement facile : Développer des systèmes de fichiers en mode noyau pour Windows est une tâche notoirement difficile. WinFsp rend le développement de systèmes de fichiers relativement indolore. Ce Tutoriel explique comment construire un système de fichiers.
Stabilité : Logiciel stable sans aucun plantage connu en mode noyau, fuite de ressources ou problèmes similaires. WinFsp doit cette stabilité à sa Conception et à son Régime de test rigoureux.
Exactitude : Vise l'exactitude du système de fichiers et la compatibilité avec NTFS. Pour plus de détails, voir le document Compatibilité.
Performance : Possède d'excellentes performances qui rivalisent ou dépassent celles de NTFS dans de nombreux scénarios de système de fichiers. En savoir plus sur ses Performances.
Large prise en charge : Prend en charge Windows 7 à Windows 11 et les architectures x86, x64 et ARM64.
API flexible : Inclut les API Native, FUSE2, FUSE3 et .NET.
Intégration au shell : Fournit des moyens pour intégrer les systèmes de fichiers en mode utilisateur avec le shell Windows. Voir le document Architecture du service.
Autonome : Logiciel autonome sans dépendances externes.
Largement utilisé : Utilisé dans de nombreuses applications open-source et commerciales avec des millions d'installations (estimation : le projet WinFsp ne suit pas ses utilisateurs).
Licence flexible : Disponible sous licence GPLv3 avec une exception spéciale pour les logiciels libres et open source. Une licence commerciale est également disponible. Veuillez contacter Bill Zissimopoulos <billziss at navimatics.com> pour plus de détails.
Installation
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 de fichiers exemple MEMFS, mais aussi les fichiers d'en-tête et de bibliothèque qui vous permettent de développer votre propre système de fichiers en mode utilisateur.
Lancer un système de fichiers pour les tests
Vous pouvez tester WinFsp en lançant MEMFS à partir de la ligne de commande :
billziss@xps ⟩ ~ ⟩ net use X: \\memfs64\test
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.
MEMFS (et tous les systèmes de fichiers qui utilisent le Lanceur WinFsp comme documenté dans le document Architecture du service) peut également être lancé depuis l'Explorateur en utilisant la fonctionnalité « Mapper un lecteur réseau ».
Ressources
Documentation :
Discussion :