SymGetModuleBase-Funktion (dbghelp.h)
Ruft die Basisadresse des Moduls ab, das die angegebene Adresse enthält.
Syntax
DWORD IMAGEAPI SymGetModuleBase(
[in] HANDLE hProcess,
[in] DWORD dwAddr
);
Parameter
[in] hProcess
Ein Handle für den Prozess, der ursprünglich an die SymInitialize-Funktion übergeben wurde.
[in] dwAddr
Die virtuelle Adresse, die in einem der Module enthalten ist, die von der SymLoadModule64-Funktion geladen werden.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert eine virtuelle Adresse ohne Zero. Der Wert ist die Basisadresse des Moduls, die die durch den dwAddr-Parameter angegebene Adresse enthält.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.
Hinweise
Die Modultabelle wird nach einem Modul gesucht, das dwAddr enthält. Das Modul wird basierend auf der Ladeadresse und der Größe der einzelnen Module lokalisiert.
Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.
Diese Funktion ersetzt die SymGetModuleBase-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymGetModuleBase wird in DbgHelp.h wie folgt definiert.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetModuleBase SymGetModuleBase64
#else
DWORD
IMAGEAPI
SymGetModuleBase(
__in HANDLE hProcess,
__in DWORD dwAddr
);
#endif
Anforderungen
Zielplattform | Windows |
Kopfzeile | dbghelp.h |
Bibliothek | Dbghelp.lib |
DLL | Dbghelp.dll |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |