Freigeben über


SymLoadModule64-Funktion (dbghelp.h)

Lädt die Symboltabelle.

Diese Funktion wurde von der SymLoadModuleEx-Funktion abgelöst.

Syntax

DWORD64 IMAGEAPI SymLoadModule64(
  [in]           HANDLE  hProcess,
  [in, optional] HANDLE  hFile,
  [in, optional] PCSTR   ImageName,
  [in, optional] PCSTR   ModuleName,
  [in]           DWORD64 BaseOfDll,
  [in]           DWORD   SizeOfDll
);

Parameter

[in] hProcess

Ein Handle für den Prozess. Dieses Handle muss zuvor an die SymInitialize-Funktion übergeben worden sein.

[in, optional] hFile

Ein Handle für die Datei für das ausführbare Image. Dieses Argument wird hauptsächlich von Debuggern verwendet, bei denen der Debugger das Dateihandle übergibt, das von einem Debugereignis abgerufen wurde. Der Wert NULL gibt an, dass hFile nicht verwendet wird.

[in, optional] ImageName

Der Name des ausführbaren Images. Dieser Name kann einen Teilpfad, einen vollständigen Pfad oder gar keinen Pfad enthalten. Wenn die Datei nicht mit dem angegebenen Namen gefunden werden kann, wird der Symbolsuchpfad verwendet.

[in, optional] ModuleName

Ein Verknüpfungsname für das Modul. Wenn der Zeigerwert NULL ist, erstellt die Bibliothek einen Namen unter Verwendung des Basisnamens der Symboldatei.

[in] BaseOfDll

Die Ladeadresse des Moduls. Wenn der Wert 0 ist, ruft die Bibliothek die Ladeadresse aus der Symboldatei ab. Die in der Symboldatei enthaltene Ladeadresse ist nicht notwendigerweise die tatsächliche Ladeadresse. Debugger und andere Anwendungen mit einer tatsächlichen Ladeadresse sollten beim Aufrufen dieser Funktion die tatsächliche Ladeadresse verwenden.

Wenn es sich bei dem Bild um eine PDB-Datei handelt, darf dieser Parameter nicht 0 (null) sein.

[in] SizeOfDll

Die Größe des Moduls in Bytes. Wenn der Wert null ist, erhält die Bibliothek die Größe aus der Symboldatei. Die in der Symboldatei enthaltene Größe entspricht nicht unbedingt der tatsächlichen Größe. Debugger und andere Anwendungen mit einer tatsächlichen Größe sollten beim Aufrufen dieser Funktion die reale Größe verwenden.

Wenn es sich bei dem Bild um eine PDB-Datei handelt, darf dieser Parameter nicht 0 (null) sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Basisadresse des geladenen Moduls.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Wenn das Modul bereits geladen ist, ist der Rückgabewert null, und GetLastError gibt ERROR_SUCCESS zurück.

Hinweise

Der Symbolhandler erstellt einen Eintrag für das Modul, und wenn die Option verzögertes Laden von Symbolen deaktiviert ist, wird versucht, die Symbole zu laden. Wenn das verzögerte Laden von Symbolen aktiviert ist, wird das Modul als verzögert markiert, und die Symbole werden erst geladen, wenn auf ein Symbol im Modul verwiesen wird.

Verwenden Sie zum Entladen der Symboltabelle die Funktion SymUnloadModule64 .

Alle DbgHelp-Funktionen, z. B. diese, sind singlethreaded. 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 SymLoadModule-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymLoadModule wird in DbgHelp.h wie folgt definiert.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymLoadModule SymLoadModule64
#else
DWORD
IMAGEAPI
SymLoadModule(
    __in HANDLE hProcess,
    __in_opt HANDLE hFile,
    __in_opt PCSTR ImageName,
    __in_opt PCSTR ModuleName,
    __in DWORD BaseOfDll,
    __in DWORD SizeOfDll
    );
#endif

Anforderungen

   
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll 5.1 oder höher

Weitere Informationen

DbgHelp-Funktionen

SymInitialize

SymUnloadModule64