The purpose of this project is to create a small sample NT service and a small sample GUI (can be command-line) that interact with each other via a COM interface. I know next to nothing about COM, so I can’t exactly specify the architecture. However, I imagine it could be implemented with a COM object that lives in a DLL (in-process to the service and out-of-process to the GUI). I’m also told that it is possible to skip the intermediate DLL and have the object live in the service’s EXE. Whichever works best ??" it’s up to the coder. The NT service, once installed, should do nothing but create one instance of the COM object. The GUI, when started, should try to connect to this object (creation should fail if the service is not running.) The Service must be able to handle more than one instance of the GUI application. For the sake of this sample, the following communication events must be supported between the applications: 1. GUI calls a method in the service. Service returns a value. (Increment input by one, for example.) 2. GUI registers for callbacks in the service. Service notifies the GUI when an event occurs (such as another instance of the GUI application connects to the service). 3. GUI calls a method in the service to store a string. Service keeps this string indefinitely. 4. GUI calls a method in the service to query the number of strings stored and another method to request an arbitrary string (with its index as an identifier). Connected GUIs must gracefully clean up and exit when the service is stopped “underneath?? them.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Code must be well-commented (at least 1/5th of the code must be comments). 2) Deliverables must be in ready-to-run condition with installation scripts. 3) Programming Language: Microsoft Visual C++ .Net (2002 or 2003). Pure C++ and Win32 code please ??" no MFC or ATL allowed. 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).
Windows NT 4.0 (SP6) and later: Windows 2000, Windows XP, Windows 2003. Windows 98 and Windows ME must also be supported via a “pseudo-service?? ??" the service application should be launchable from the command line as a regular application.