Funkcja CAtlServiceModuleT::Run
Run contains calls to PreMessageLoop, RunMessageLoop, and PostMessageLoop.Po wywołaniu, PreMessageLoop najpierw zapisuje identyfikator wątku usługi.Usługa będzie wykorzystywać ten identyfikator sam zamknąć wysyłając WM_QUIT wiadomości przy użyciu funkcji Win32 API PostThreadMessage.
PreMessageLoopnastępnie wywołuje InitializeSecurity.Domyślnie InitializeSecurity wywołania metodę CoInitializeSecurity z deskryptora zabezpieczeń ustaw wartość NULL, co oznacza, że każdy użytkownik ma dostęp do obiektu.
Jeśli nie chcesz usługi do określenia własnego bezpieczeństwa należy zastąpić PreMessageLoop i nie InitializeSecurity, i COM określa ustawienia zabezpieczeń z rejestru.Jest to wygodny sposób konfigurowania ustawień rejestru z DCOMCNFG narzędzie później omówione w tej sekcji.
Po określeniu zabezpieczeń obiektu jest zarejestrowany COM, aby nowe klienci mogą połączyć się z programu.Wreszcie program informuje Menedżera sterowania usługami (SCM), że jest uruchomiony i program wprowadzi pętli komunikatów.Program pozostanie uruchomiony, dopóki księgowania Zakończ komunikat podczas zamykania systemu usługi.