A Windows XP driver that creates two devices, an "BoosterIn" and "Booster0" one. All read requests for records on the "Booster0" are satisfied from the records written into "BoosterIn" with a small internal memory buffer in between. The following are some corner cases, please let me know if more details are useful:
1) If no records are available, read operation on Booster0 shall be blocked.
2) If the internal buffer is full, write operation on BoosterIn shall be blocked.
3) If the Booster0 is not opened by any process, all writes into BoosterIn shall be ignored (i.e., completed, but no data stored)
The BoosterIn device is expected to be opened by an application and used via WriteFile or equivalents. The Booster0 device is expected to be opened by another kernel driver and used via ZwReadFile or equivalents. The Booster0 device can also sometimes be opend by another application. The driver does not need to pass any certification or be of very high performance (buffered IO is OK). The target data rate is about 1,000 records of 1,000 bytes each per second.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done and the installation files (.inf).
2) A test application, that passes random binary records throught the driver. An application should be capable of passing about 1,000 records per second, and be able to test the corner cases in the description. 3) The deliverables be buildable with standard DDK and SDK tools.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows XP SP2