> I have actually been through the process in practice as both
a manager / owner and developer.
Thank you for this post. I can refer to in in the future
when someone will have another “I need crypto filter,
tell me what to do” question ![]()
> I have actually been through the process in practice as both
a manager / owner and developer.
Thank you for this post. I can refer to in in the future
when someone will have another “I need crypto filter,
tell me what to do” question ![]()
Anton Bassov,
How much time/ skill it should take to port a 32 bit FS to 64 bit with some undocumented functions that does not work on 64 bit. Actually I want to know the complexity roughly. What you think about the skill required for the maintainance of a existing driver code - that works?
It depends on your approach and your objectives…
The only thing I can tell you is how I do things. Although I can model my code upon some existing driver, I will never modify this driver, unless I am 100% sure that I understand what it does and *WHY* it does things this way. Otherwise, I will write my own code from the scrach, and use the existing one simply as a reference, because I want to fully understand what my driver does. I believe this is the only way to go - otherwise, you are just bound to turn a top-class driver into a piece of crap. Even thorough comments are not going to help you if you have a limited understanding of the concepts behind the code…
Therefore, if you take my approach, an answer to your question depends on the level of your skills at the time you start your project. However, if you want something quick… well, you can try it, but you will discover that, in actuality, my approach is faster…
Anton Bassov
Thanks Anton. I was really a newb when I first get the project. Never saw a driver code. I took following approach-
While looking at the codes, I collect nagars FS book, Windows Internals, microsoft wdm book and the wdk documentation. All “driver write must write” word documents from microsoft and started another driver project- just from DriverEntry. Add Craete, Read, Write, Close, CommonReturnInvalidFunction major functions that does very little but provides data to the user app. Those by no means could serve as FS MajorFunction entry. I learned how to handle IRPs of three methods. How to get data from COM using a user application - using the pending IOCTL approach. Then I added some other major function for query drive and diretcory and file information. Provided hardcoded data from a linked tree in memory. The add some hardcoded data for read. Then maintain anothe data structure in memory to maintain file structure and context for each opened handle (at first it could support only one) etc. etc. All these I did from the scratch and posted 64 idiots question to mricrosoft driver newsgroup.
In the meantime I was looking at the code of the actual driver. I found the part that provide data is fine. So, my job was to supply them to IO manager.
Any comments or beginner sugestions?
Thanks everybody.