Cuando desee crear un nuevo sistema de archivos en Windows, que no sea FAT o NTFS, necesitará desarrollar un controlador de sistema de archivos. Desarrollar un controlador de dispositivo que funcione en modo kernel en Windows es extremadamente técnico. Al utilizar Dokan, puede crear sus propios sistemas de archivos muy fácilmente sin necesidad de escribir controladores de dispositivos. Dokan es similar a FUSE (sistema de archivos Linux en el espacio de usuario) pero funciona en Windows. Además, dokany incluye un contenedor FUSE que le ayuda a portar sus sistemas de archivos FUSE sin cambios.
Dokany es una bifurcación de Dokan 0.6.0 con correcciones de errores, historial de cambios limpio y actualizado para compilar con las últimas herramientas.
Porque el proyecto original Dokan Legacy (< 0.6.0) ya no se mantiene.
Desde la versión 0.8.0, dokany rompió la compatibilidad con la API de dokan. Consulte Elegir una versión para obtener más información.
Luego, la API volvió a cambiar con el tiempo en 1.1.0 y 2.0.0.
Se ejecutó 5 veces un punto de referencia que prueba múltiples escenarios de forma repetida y secuencial con la muestra memfs
de v1.5.1.1000 y v2.0.3.1000 en un entorno inactivo para obtener resultados precisos. Los resultados detallados se pueden ver en esta hoja de cálculo aquí. A medida que se agregaron mejores subprocesos y sondeo de memoria en la versión 2, se espera que los escenarios concurrentes (como esas pruebas) mejoren aún más.
Una muestra de los resultados:
Create New | +13.55% | List | +60.69% | GetAttributes | +48.78% | Read | +18-42% |
Open/Overwrite | +153.41% | ListExactFile | +131.91% | SetAttributes | +120.91% | Write | +10-32% |
RandomOpenClose | +173.05% | | | Delete | +90.83% | | |
Dokan contiene programas con licencia LGPL y MIT.
Para obtener más información, consulte los archivos de licencia.
Puede obtener archivos fuente en https://dokan-dev.github.io
Dokan trabaja en
Plataforma
En cada versión se proporcionan controladores de versión y depuración firmados para todas las plataformas.
La biblioteca Dokan contiene una DLL en modo usuario (dokan2.dll) y un controlador de sistema de archivos en modo kernel (dokan2.sys). Una vez instalado el controlador del sistema de archivos Dokan, puede crear sistemas de archivos que pueden verse como sistemas de archivos normales en Windows. La aplicación que crea sistemas de archivos utilizando la biblioteca Dokan se llama aplicación de sistema de archivos.
Las solicitudes de operación de archivos de los programas de usuario (por ejemplo, CreateFile, ReadFile, WriteFile, ...) se enviarán al subsistema de E/S de Windows (se ejecuta en modo kernel), que posteriormente reenviará las solicitudes al controlador del sistema de archivos Dokan (dokan2. sistema). Al utilizar las funciones proporcionadas por la biblioteca de modo de usuario de Dokan (dokan2.dll), las aplicaciones del sistema de archivos pueden registrar funciones de devolución de llamada en el controlador del sistema de archivos. El controlador del sistema de archivos invocará estas rutinas de devolución de llamada para responder a las solicitudes que recibió. Los resultados de las rutinas de devolución de llamada se enviarán al programa de usuario.
Por ejemplo, cuando Windows Explorer solicita abrir un directorio, la solicitud de la opción CreateFile con dirección se enviará al controlador del sistema de archivos Dokan y el controlador invocará la devolución de llamada CreateFile proporcionada por la aplicación del sistema de archivos. Los resultados de esta rutina se envían de vuelta al Explorador de Windows como respuesta a la solicitud CreateFile. Por lo tanto, el controlador del sistema de archivos Dokan actúa como proxy entre los programas del usuario y las aplicaciones del sistema de archivos. La ventaja de este enfoque es que permite a los programadores desarrollar sistemas de archivos en modo de usuario, lo cual es seguro y fácil de depurar.
Para obtener más información sobre el desarrollo del sistema de archivos Dokan, consulte los ejemplos, especialmente dokan_memfs.
En resumen, descargue e instale Visual Studio 2019, seleccione el componente SDK de Windows 10 durante la instalación o desde el menú Herramientas e instale WDK 10.
Para obtener más información, consulte la página de compilación.
La última versión oficial y firmada se puede descargar desde:
choco install dokany2
Para la instalación manual, consulte la página de instalación.
¿Quieres que Dokan mejore? ¡Contribuir!
Conozca el código y sugiera sus cambios en el repositorio de GitHub.
Detecte defectos e infórmelo en el rastreador de problemas de GitHub.
Haga y responda preguntas en Github Discussions o en el grupo de discusión de Google.