Поделиться через


CAtlServiceModuleT::Run Function

Запуск содержит вызовы PreMessageLoop, RunMessageLoop и PostMessageLoop. После вызова, PreMessageLoop сначала сохраняет идентификатор потока, службы Служба может использовать этот идентификатор для того, чтобы закрыть, отправляя сообщение WM_QUIT с помощью функции api-интерфейса Win32, PostThreadMessage.

PreMessageLoop затем вызывает InitializeSecurity. По умолчанию InitializeSecurity вызывает CoInitializeSecurity со значением дескриптора безопасности null, означающее, что любой пользователь имеет доступ к объекту.

Если не нужно, чтобы определить собственную службу безопасность, то переопределение PreMessageLoop и не вызывает InitializeSecurity и модели COM затем определяет параметры безопасности из реестра. Удобный способ настройки параметров реестра, программа DCOMCNFG обсуженная далее в этом разделе.

Как только безопасность указана, объект регистрации в модели COM, чтобы новые клиенты могут подключаться к программе. Наконец, программа сообщает диспетчеру служб что она работает и программа входит в цикл обработки сообщений. Программа остается выполнение до тех пор, пока она не будет создать прекращенное сообщение при завершении работы службы.

См. также

Ссылки

Службы ATL

CSecurityDesc Class

CSid Class

CDacl Class

CAtlServiceModuleT::Run