Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Run
zawiera wywołania metody PreMessageLoop
, RunMessageLoop
i PostMessageLoop
. Po wywołaniu PreMessageLoop
najpierw przechowuje identyfikator wątku usługi. Usługa użyje tego identyfikatora, aby zamknąć się, wysyłając komunikat WM_QUIT przy użyciu funkcji interfejsu API Win32 PostThreadMessage.
PreMessageLoop
następnie wywołuje metodę InitializeSecurity
. Domyślnie InitializeSecurity
wywołuje metodę CoInitializeSecurity z deskryptorem zabezpieczeń ustawionym na wartość NULL, co oznacza, że każdy użytkownik ma dostęp do obiektu.
Jeśli nie chcesz, aby usługa określała własne zabezpieczenia, przesłonięć PreMessageLoop
i nie wywoływać InitializeSecurity
parametrów , a com określi ustawienia zabezpieczeń z rejestru. Wygodnym sposobem konfigurowania ustawień rejestru jest użycie narzędzia DCOMCNFG omówionego w dalszej części tej sekcji.
Po określeniu zabezpieczeń obiekt jest zarejestrowany w modelu COM, aby nowi klienci mogli łączyć się z programem. Na koniec program informuje menedżera kontroli usług (SCM), że jest uruchomiony, a program wprowadza pętlę komunikatu. Program pozostaje uruchomiony, dopóki nie opublikuje komunikatu zakończenia po zamknięciu usługi.
Zobacz też
Usługi
Klasa CSecurityDesc
Klasa CSid
Klasa CDacl
CAtlServiceModuleT::Run