1.Windows Dokanç®ä»
Windows Dokanç®ä»
nettick源码Dokanå建ä¹åçç®çåFUSEï¼Filesystem in Userspaceï¼ä¸æ ·ï¼å³ä¸ºäºå®ç°ç¨æ·èªå·±çæ件系ç»ãå¼åè éè¿dokanå¼åæ件系ç»ï¼å®ç°çæ¯ä¸ä¸ªåºç¨ç¨åºèä¸æ¯å¤æçå æ ¸é©±å¨ãï¼Windowså æ ¸é©±å¨å¼åä¹ä¸è§å¾æ¯Linuxç®åãï¼Dokanå°±æ¯Windowsä¸çFUSEãèç®åDokanå·²ç»æ¯æFuseï¼æå³çLinux Fuseç¨åºä¹å¯ä»¥å®ç°åWindowså¹³å°çè¿ç§»ã
nettick源码ç®åDokanå·²ç»è¢«æ¿æ¢æDokanyï¼èª0.6.0çæ¬ï¼ï¼å¹¿æ³æ¯æä½æä½XåARMæ¶æãæ¯æçWindowsçæ¬æ
nettick源码- Windows Server // R2// R2 SP1
nettick源码- Windows /8.1/8/7 SP1
nettick源码ç®èè¨ä¹ï¼åFUSEå¦åºä¸è¾ã
nettick源码Dokanåºå å«ç¨æ·æçå¨æé¾æ¥åºï¼dokan.dllï¼åå æ ¸æç驱å¨ç¨åºï¼dokan1.sysï¼ãï¼ å¯ä»¥ç±»æ¯FUSEæä¾ç¨æ·æçå¨æé¾æ¥åºlibfuse.soåå æ ¸æ驱å¨fuse.koãï¼ ä½¿ç¨dokanåºå建çæ件系ç»è§ä¸º æ件系ç»ç¨åº ã
nettick源码æ件æä½æ¯å¦å建æ件CreateFileã读æ件ReadFileååæ件WriteFileç请æ±å°ä¼åéç»å æ ¸æåç³»ç»ï¼ç¶å转éç»é©±å¨ç¨åºã æ件系ç»ç¨åº éè¿ç¨æ·ææä¾çå½æ°æ¥å£ï¼å¨é©±å¨ç¨åºä¸æ³¨ååè°æ¥å£ã驱å¨ç¨åºå°ä¿¡æ¯åä¼è°ç¨è¿äºåè°å½æ°ï¼æåè¿äºè¯·æ±å¨ç¨æ·æçæ件系ç»ç¨åºä¸è¢«å¤çãDokanæ®æ¼çæ¯åºç¨ç¨åºå æ件系ç»ç¨åº ç´æ¥ç代çè§è²ã
nettick源码第ä¸æ¥å®ç°DOKAN_OPERATIONSç»æä½éçå½æ°ãè¿äºå½æ°ä¼è¢«æ³¨åæåè°å½æ°ãDOKAN_OPERATIONSä¼å¨ä¸»å½æ°DokanMainä¸ä½ä¸ºåæ°ä¼ é使ç¨ã
nettick源码ä¸è¬æä½æ件ç顺åºæ¯
nettick源码- DOKAN_OPERATIONS::ZwCreateFile
nettick源码- å ¶ä»æä½ï¼æ¯å¦åã读ç
nettick源码- DOKAN_OPERATIONS::CleanUp
nettick源码- DOKAN_OPERATIONS::CloseFile
nettick源码å³å建ãå®é æä½ãæ¸ çåå ³éãæ¸ ç主è¦æ¯æ¸ ç请æ±åå ³éæ件å¥æï¼èå ³éæ¯æ¸ çå°åçä¸ä¸æç»æã
nettick源码æ¯ä¸ªæä½æåè¿åSTATUS_SUCCESSï¼å¦æ失败åè¿åä¸åçé误ç¶æNTSTATUSãå¦å¤ï¼æ¯ä¸ä¸ªDokanæä½é½è¦å¸¦ä¸ä¸ªç»æä½DOKAN_FILE_INFOãæ¯ä¸ªæ件å¥æä¼å ³è该ç»æã该ç»æç主è¦ç®çæ¯ä¿åå½åæä½çæ件信æ¯ï¼æ¯å¦ä¸ä¸ææä½ä¿¡æ¯ãæ¯å¦ä¸ºç®å½ç±»åãæ¯å¦è¯»ç¼åãåæ¥æä½çå®ä¹æä½è¡ä¸ºçä¿¡æ¯ãå ·ä½è¯¦è§éå½ä¸å°åã
nettick源码å®ç°äº 线ç¨å®å ¨ çæ件系ç»æä½ï¼è°ç¨DokanMainå½æ°å³å¯æè½½æ件系ç»å°Windowsä¸ï¼è¯¥å½æ°ä¼å¨å¸è½½ä¹åä¿æé»å¡ç¶æã
nettick源码æºç å éé¢æä¾äºMirrorï¼å¯ä»¥ä½ä¸ºæ¡ä¾å ¥é¨Dokançå¼åã
nettick源码Dokan Fuseå¨ä½¿ç¨æ¶éè¦é¾æ¥ dokanfuse.dll çå¨æåºã å¦å¤ç±äºLinuxåWindowså¨å¤çå é¤åéå½åä¸çä¸åä¼å¯¼è´ä¸äºç§»æ¤åºç°é®é¢ ï¼Linuxå 许æå¼çæ件被å é¤ï¼èWindowsåä¸å 许ï¼ã
nettick源码项ç®å°åï¼/dokan-dev/dokany
nettick源码ç»æä½DOKAN_FILE_INFOæè¿°ï¼https://dokan-dev.github.io/dokany-doc/html/struct_d_o_k_a_n___f_i_l_e___i_n_f_o.html
nettick源码