Funkce CAtlServiceModuleT::Run
Run contains calls to PreMessageLoop, RunMessageLoop, and PostMessageLoop.Po volání, PreMessageLoop nejprve uloží ID podprocesu službySlužba bude používat toto ID zavřete sám odesláním WM_QUIT zprávy pomocí funkce rozhraní Win32 API PostThreadMessage.
PreMessageLooppak zavolá InitializeSecurity .Ve výchozím nastavení InitializeSecurity volání u funkce CoInitializeSecurity s popisovač zabezpečení nastavena na hodnotu NULL, což znamená, že každý uživatel má přístup do objektu.
Pokud chcete zadat vlastní zabezpečení služby, PreMessageLoop a nemůžete volat InitializeSecurity , a COM bude poté určit nastavení zabezpečení z registru.Je pohodlný způsob, jak konfigurovat nastavení registru DCOMCNFG nástroje, které jsou uvedeny dále v této části.
Jakmile je určen k zabezpečení, objekt je registrována s COM tak, aby noví klienti mohou připojit k programu.Nakonec program informuje správce řízení služeb (SCM), že je spuštěn a program smyčce zpráv.Program zůstane spuštěn, dokud jej ukončit zprávu po vypnutí služby účtuje.