共用方式為


SymLoadModule64 函式 (dbghelp.h)

載入符號表。

SymLoadModuleEx函式已取代此函式。

語法

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

參數

[in] hProcess

進程的控制碼。 此控制碼先前必須傳遞至 SymInitialize 函式

[in, optional] hFile

可執行檔映射檔案的控制碼。 這個引數主要是由偵錯工具使用,其中偵錯工具會傳遞從偵錯事件取得的檔案控制碼。 Null值表示未使用hFile

[in, optional] ImageName

可執行檔映射的名稱。 此名稱可以包含部分路徑、完整路徑或完全沒有路徑。 如果檔案無法依提供的名稱找到,則會使用符號搜尋路徑。

[in, optional] ModuleName

模組的快捷方式名稱。 如果指標值為 Null,程式庫會使用符號檔的基底名稱來建立名稱。

[in] BaseOfDll

模組的載入位址。 如果值為零,程式庫會從符號檔取得載入位址。 符號檔中包含的載入位址不一定是實際的載入位址。 具有實際載入位址的偵錯工具和其他應用程式在呼叫此函式時,應該使用實際的載入位址。

如果映射是 .pdb 檔案,這個參數不能是零。

[in] SizeOfDll

模組的大小,以位元組為單位。 如果值為零,程式庫會從符號檔取得大小。 符號檔中包含的大小不一定是實際大小。 偵錯工具和其他具有實際大小的應用程式應該在呼叫此函式時使用實際大小。

如果映射是 .pdb 檔案,這個參數不能是零。

傳回值

如果函式成功,傳回值就是載入模組的基底位址。

如果此函式失敗,則傳回值為零。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError

如果模組已經載入,則傳回值為零, 而 GetLastError 會傳回 ERROR_SUCCESS

備註

符號處理常式會建立模組的專案,如果關閉延後符號載入選項,則會嘗試載入符號。 如果啟用延後符號載入,模組會標示為延後,而且在對模組中的符號進行參考之前,不會載入符號。

若要卸載符號表,請使用 SymUnloadModule64 函式。

所有 DbgHelp 函式,例如此函式都是單一執行緒。 因此,從多個執行緒呼叫此函式可能會導致非預期的行為或記憶體損毀。 若要避免這種情況,您必須將所有並行呼叫從多個執行緒同步處理到此函式。

此函式會取代 SymLoadModule 函式。 如需詳細資訊,請參閱 更新的平臺支援SymLoadModule 在 DbgHelp.h 中定義如下。

#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

需求

   
目標平台 Windows
標頭 dbghelp.h
程式庫 Dbghelp.lib
Dll Dbghelp.dll
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

DbgHelp 函式

SymInitialize

SymUnloadModule64