Quando você deseja criar um novo sistema de arquivos no Windows, diferente de FAT ou NTFS, você precisa desenvolver um driver de sistema de arquivos. Desenvolver um driver de dispositivo que funcione em modo kernel no Windows é extremamente técnico. Ao usar o Dokan, você pode criar seus próprios sistemas de arquivos facilmente, sem escrever drivers de dispositivo. Dokan é semelhante ao FUSE (sistema de arquivos Linux no espaço do usuário), mas funciona no Windows. Além disso, dokany inclui um wrapper FUSE que ajuda você a portar seus sistemas de arquivos FUSE sem alterações.
Dokany é um fork do Dokan 0.6.0 com correções de bugs, histórico de alterações limpo e atualizado para construir com as ferramentas mais recentes.
Porque o projeto Dokan Legacy (<0.6.0) original não é mais mantido.
Desde a versão 0.8.0, o dokany quebrou a compatibilidade com a API dokan. Consulte Escolha uma versão para obter mais informações.
A API mudou novamente ao longo do tempo em 1.1.0 e 2.0.0.
Um benchmark que está testando vários cenários repetida e sequencialmente foi executado 5 vezes na amostra memfs
de v1.5.1.1000 e v2.0.3.1000 em um ambiente ocioso para obter resultados precisos. Os resultados detalhados podem ser vistos nesta planilha aqui. À medida que melhores threading e pesquisa de memória foram adicionados na v2, espera-se que os cenários simultâneos (como esses testes) sejam ainda mais aprimorados.
Uma amostra dos 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 contém programas licenciados LGPL e MIT.
Para obter detalhes, verifique os arquivos de licença.
Você pode obter arquivos de origem em https://dokan-dev.github.io
Dokan trabalha em
Plataforma
Drivers de versão e depuração assinados são fornecidos em cada versão para todas as plataformas.
A biblioteca Dokan contém uma DLL de modo de usuário (dokan2.dll) e um driver de sistema de arquivos de modo kernel (dokan2.sys). Depois que o driver do sistema de arquivos Dokan estiver instalado, você poderá criar sistemas de arquivos que podem ser vistos como sistemas de arquivos normais no Windows. O aplicativo que cria sistemas de arquivos usando a biblioteca Dokan é chamado de aplicativo de sistema de arquivos.
As solicitações de operação de arquivos dos programas do usuário (por exemplo, CreateFile, ReadFile, WriteFile, ...) serão enviadas para o subsistema de E/S do Windows (executa no modo kernel) que posteriormente encaminhará as solicitações para o driver do sistema de arquivos Dokan (dokan2. sistema). Usando funções fornecidas pela biblioteca de modo de usuário Dokan (dokan2.dll), os aplicativos do sistema de arquivos são capazes de registrar funções de retorno de chamada no driver do sistema de arquivos. O driver do sistema de arquivos invocará essas rotinas de retorno de chamada para responder às solicitações recebidas. Os resultados das rotinas de retorno de chamada serão enviados de volta ao programa do usuário.
Por exemplo, quando o Windows Explorer solicitar a abertura de um diretório, a solicitação da opção CreateFile with Direction será enviada ao driver do sistema de arquivos Dokan e o driver invocará o retorno de chamada CreateFile fornecido pelo aplicativo do sistema de arquivos. Os resultados dessa rotina são enviados de volta ao Windows Explorer como resposta à solicitação CreateFile. Portanto, o driver do sistema de arquivos Dokan atua como um proxy entre os programas do usuário e os aplicativos do sistema de arquivos. A vantagem desta abordagem é que ela permite aos programadores desenvolver sistemas de arquivos em modo de usuário que são seguros e fáceis de depurar.
Para saber mais sobre o desenvolvimento do sistema de arquivos Dokan, consulte os exemplos, especialmente dokan_memfs.
Resumindo, baixe e instale o Visual Studio 2019, selecione o componente SDK do Windows 10 durante a instalação ou no menu Ferramentas e instale o WDK 10
Para obter detalhes, consulte a página de construção.
A versão oficial e assinada mais recente pode ser baixada em:
choco install dokany2
Para instalação manual, consulte a página de instalação.
Você quer que Dokan melhore? Contribuir!
Aprenda o código e sugira suas alterações no repositório GitHub.
Detecte defeitos e relate-os no rastreador de problemas do GitHub.
Faça e responda perguntas nas discussões do Github ou no grupo de discussão do Google.