Bagikan melalui


Fungsi SymEnumerateModules (dbghelp.h)

Menghitung semua modul yang telah dimuat untuk proses oleh fungsi SymLoadModule64 atau SymLoadModuleEx .

Sintaks

BOOL IMAGEAPI SymEnumerateModules(
  [in]           HANDLE                    hProcess,
  [in]           PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
  [in, optional] PVOID                     UserContext
);

Parameter

[in] hProcess

Handel ke proses yang awalnya diteruskan ke fungsi SymInitialize .

[in] EnumModulesCallback

Fungsi panggilan balik enumerasi. Fungsi ini dipanggil sekali per modul. Untuk informasi selengkapnya, lihat SymEnumerateModulesProc64.

[in, optional] UserContext

Nilai yang ditentukan pengguna atau NULL. Nilai ini hanya diteruskan ke fungsi panggilan balik. Biasanya, parameter ini digunakan oleh aplikasi untuk meneruskan penunjuk ke struktur data yang memungkinkan fungsi panggilan balik menetapkan beberapa jenis konteks.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.

Keterangan

Fungsi SymEnumerateModules64 menghitung semua modul yang telah dimuat untuk proses oleh SymLoadModule64, bahkan jika pemuatan simbol ditangguhkan. Fungsi panggilan balik enumerasi dipanggil sekali untuk setiap modul dan diteruskan informasi modul.

Semua fungsi DbgHelp, seperti ini, adalah utas tunggal. Oleh karena itu, panggilan dari lebih dari satu utas ke fungsi ini kemungkinan akan mengakibatkan perilaku tak terduga atau kerusakan memori. Untuk menghindari hal ini, Anda harus menyinkronkan semua panggilan bersamaan dari lebih dari satu utas ke fungsi ini.

Untuk memanggil versi Unicode dari fungsi ini, tentukan DBGHELP_TRANSLATE_TCHAR. SymEnumerateModulesW64 didefinisikan sebagai berikut dalam Dbghelp.h.


BOOL
IMAGEAPI
SymEnumerateModulesW64(
    __in HANDLE hProcess,
    __in PSYM_ENUMMODULES_CALLBACKW64 EnumModulesCallback,
    __in_opt PVOID UserContext
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymEnumerateModules64  SymEnumerateModulesW64
#endif

Fungsi ini menggantikan fungsi SymEnumerateModules . Untuk informasi selengkapnya, lihat Dukungan Platform yang Diperbarui. SymEnumerateModules didefinisikan sebagai berikut dalam Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateModules SymEnumerateModules64
#else
BOOL
IMAGEAPI
SymEnumerateModules(
    __in HANDLE hProcess,
    __in PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
    __in_opt PVOID UserContext
    );
#endif

Contoh

Misalnya, lihat Menghitung Modul Simbol.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header dbghelp.h
Pustaka Dbghelp.lib
DLL Dbghelp.dll
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

Fungsi DbgHelp

SymEnumerateModulesProc64

SymInitialize

SymLoadModule64