Wykonanie akcji przy zawieszeniu wątku/biblioteki dll.

0

Witam wszystkich,
Chciałem się dowiedzieć czy można się zabezpieczyć przed
zawieszeniem/zatrzymaniem wątku czy biblioteki dll.
Wiem o procedurze inicjująco-kończącej, lecz ona nie wystarcza,
wszak przy zatrzymaniu biblioteki np. programem Process Explorer
nie wykonuje się żadna akcja(ani DLL_PROCESS_DETACH ani DLL_THREAD_DETACH).
Jak ktoś ma pomysł jak można wykryć taką akcję to proszę o porady.
Pozdrawiam.

0

zawieszeniem/zatrzymaniem wątku czy biblioteki dll.

jak można zatrzymać/zawiesić dllkę? Można ją wyładować, ale zawiesić?!

wszak przy zatrzymaniu biblioteki np. programem Process Explorer
nie wykonuje się żadna akcja(ani DLL_PROCESS_DETACH ani DLL_THREAD_DETACH).

To znaczy że nie zwalnia ona zasobów które przydzieliłeś, o ile nie wybierałeś opcji siłowego zamknięcia to jest to błąd.

Jak ktoś ma pomysł jak można wykryć taką akcję to proszę o porady.

Zrób watcher (jakiś wątek poza przestrzenią adresową twojej dllki i nie korzystającą z jej API) i niech ten watcher sprawdza np. czy jest zaalokowana strona pamięci gdzie jest twoja biblioteka ew. komunikująca się z nią. Jeżeli coś zatrzyma twoją bibliotekę albo wątek, ale nie watcher, to będziesz w stanie coś z tym zrobić...

0

Pierwsze słyszę o takiej rzeczy :<
Mógłbym poprosić o jakieś wskazówki jak się za to zabrać,
albo link do tutoriala czy kawałek kodu?
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1