Udostępnij przez


Informacje o module

modułu jest plikiem wykonywalnym lub biblioteką DLL. Każdy proces składa się z co najmniej jednego modułu. Listę dojść modułów dla procesu można pobrać, wywołując funkcję EnumProcessModules. Ta funkcja wypełnia tablicę wartości HMODULE z uchwytami modułu dla określonego procesu. Pierwszy moduł to plik wykonywalny. Należy pamiętać, że te uchwyty modułu najprawdopodobniej pochodzą z innego procesu, więc nie można ich używać z funkcjami takimi jak GetModuleFileName. Można jednak użyć funkcji PSAPI, aby uzyskać informacje o module z innego procesu.

Poniższa procedura opisuje sposób uzyskiwania informacji o module z innego procesu.

Aby uzyskać informacje o module z innego procesu

  1. Wywołaj funkcjęgetModuleBaseName. Ta funkcja przyjmuje uchwyt procesu i uchwyt modułu jako dane wejściowe i wypełnia bufor nazwą podstawową modułu (na przykład Kernel32.dll). Powiązana funkcja, GetModuleFileNameEx, przyjmuje te same parametry co dane wejściowe, ale zwraca pełną ścieżkę do modułu (na przykład C:\Windows\System32\Kernel32.dll).
  2. Wywołaj funkcję GetModuleInformation. Ta funkcja przyjmuje uchwyt procesu i uchwyt modułu i wypełnia MODULEINFO strukturę z adresem obciążenia modułu, rozmiarem liniowej przestrzeni adresowej zajmowanej i wskaźnikiem do punktu wejścia.

Jeśli aplikacja wymaga informacji o module dla bieżącego procesu, należy użyć funkcji GetModuleFileName zamiast funkcji modułu PSAPI. Ułatwia to działanie aplikacji na dwa sposoby: funkcja GetModuleFileName jest wydajniejsza niż funkcje modułu PSAPI, a aplikacja może uniknąć ładowania psapi.dll, jeśli nie używa żadnych funkcji PSAPI.

Funkcje GetModuleBaseName i GetModuleFileNameEx są przeznaczone głównie do użytku przez debugery i podobne aplikacje, które muszą wyodrębniać informacje o module z innego procesu. Jeśli lista modułów w procesie docelowym jest uszkodzona lub nie została jeszcze zainicjowana lub lista modułów zmieni się podczas wywołania funkcji w wyniku załadowania lub zwolnienia bibliotek DLL, te funkcje mogą zakończyć się niepowodzeniem lub zwrócić nieprawidłowe informacje.