::Project::
A Windows service offering a proxy for "CreateFile" and "DeviceIOControl" commands.
::Current state::
We have a Windows Application (MFC) which uses the "CreateFile" and "DeviceIOControl" commands to access and perform communication with a certain driver. Apart from any specifics about the application's and driver's, which should be irrelevant for this project, this architecture implies that the application needs to be run in elevated mode, requiring the user to have an administrative account. This should be no longer neccessary, therefore....
::Description::
... the objective of this project is basically to have all the commands implying elevated mode to be executed by a Windows service to be created in this project. The Windows server should merely act as a proxy or broker, just "translponing" the user mode requests of the application into elevated mode commands and returning the results of these calls. The Windows service needs to offer the standard set of service functions (start, stop, etc) as well as basically two "proxy" requests, one for "CreateFile" and one for "DeviceIOControl", which return the results of these calls to the calling application:
- ProxyCreateFile (params) -> does a CreateFile(params), returns handle "abc"
- ProxyDeviceIOControl (abc, data) -> does a DeviceIOControl(abc, data)
So the task is basically to provide a proper template of a Windows service PLUS two, very generic service functions. Security issues do not have to be taken into account, since we will later ensure that the service will only communicate with one certain application and one certain driver.
Dear Sir, your project description is quite clear. Good writing! I think I have fully understood the requirements and can start work very quickly.
Just need to confirm: you do have the source code of the program, right?
Have a nice day!
Regards,
White Jade