How to do cleanup in an ATL/COM service
===

I want to expose several interfaces to multiple processes. All things being equal， I just created a windows service through VS2010's ATL template. Then add an COM interface by adding a "simple atl object". But the problem is: Seems the requests from applications are in "RPC thread", when I try to stop the service what should I do to the executing RPC threads? Should I just cleanup my resource and ATL will take care of the RPC threads?

One more question: Where should I do the stop action? Just do it in OnStop or do it in PostMessageLoop?