From: Zbynek on 28 Feb 2010 09:14 Description of driver: Our software encrypts our virtual discs and hard disk partitions too. Both run over our driver - which is something like filter driver, because it uses ntfs and fat drivers to makes real operations on this discs. In this driver we take a block from the disk (ask to ntfs/fat driver), decrypt, make changes etc... And of course attach and detach disk to system (find letter etc...). Creating of virtual discs (real file in filesystem) is made by our client application - not by the driver. The driver must be sign to run on 64bit OS, we sign it by older certificate, but it run in test mode of OS. Other our drivers run in this mode properly (the same situation of compilling, signing etc). Situation is: - We have this proplem with our virtual disc as well with full partition. And it's the same on Win 7 64bit and on Win Wista 64bit too (and work on 32bit: 2000, XP, Vista, Seven) - We can build the driver (and the client application). We have several drivers (but less complicated then this) which run properly. build command (not debug): setenv.bat <path_ddk> fre x64 WNET nmake or nmake -f Makefile64 Release=1 some settings of our makefile: OS = wnet ARCH = AMD64 INCARCH = AMD64 CC = cl ASM = ml64 LINK = link - We think our client application run properly (it does many other things well). Virtual disc created by it run then on 32bit. And it can load settings (header) from discs from 32bit OS on 64bit OS. - We can start/stop this driver, communicate with it, create letter to new disc in system (but not open this disc), test other partition (if exist) in this driver (by calling open on them) - this works properly - it looks like we can connect our disc to system properly (without error code), system calls our driver if it wants some metadata or read/write... Our metadata (stored in driver, not on disc) we return properly (disk length, geometry etc.). - but we can't format our disc, can't explore volume (open from explorer etc.) The critical data types (like in device extension - "integer" etc.) have specified size (like ULONG32, __int64). Do you seen anywhere any mistakes? Or have you any ideas or questions? We think may be there are some bad settings in compilling or pointer/size of type error or differences in the ntfs/fat disc drivers (attaching to them). But they are only the ideas - they can be dead wrong :( Thank you very much for your ideas Zbynek (developer of Cosect s.r.o.)
From: Aram Hăvărneanu on 28 Feb 2010 12:23 Use build.exe with sources file, not custom Makefiles. Documentation in the WDK docs. -- Aram Hăvărneanu
|
Pages: 1 Prev: How to hook the On Screen Keyboard Next: Launch printer status monitor remotely |