SymSearch 函式 (dbghelp.h)

搜尋符合指定準則的 PDB 符號。

語法

BOOL IMAGEAPI SymSearch(
  [in]           HANDLE                         hProcess,
  [in]           ULONG64                        BaseOfDll,
  [in, optional] DWORD                          Index,
  [in, optional] DWORD                          SymTag,
  [in, optional] PCSTR                          Mask,
  [in, optional] DWORD64                        Address,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                          UserContext,
  [in]           DWORD                          Options
);

參數

[in] hProcess

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

[in] BaseOfDll

模組的基底位址。 如果此值為零, 且 Mask 包含驚嘆號 (!) ,則函式會跨模組查看。 如果此值為零, 且 Mask 不包含驚嘆號,則函式會使用 SymSetCoNtext 函式所建立的範圍。

[in, optional] Index

符號的唯一值。

[in, optional] SymTag

PDB 分類。 這些值定義于 SymTagEnum 列舉類型的 Dbghelp.h 中。 如需描述,請參閱 PDB 檔。

[in, optional] Mask

萬用字元運算式,表示要列舉的符號名稱。 若要指定模組名稱,請使用 !mod 語法。

[in, optional] Address

符號的位址。

[in] EnumSymbolsCallback

SymEnumSymbolsProc回呼函式,可接收符號資訊。

[in, optional] UserContext

傳遞至回呼函式或 Null的使用者定義值。 這個參數通常由應用程式用來傳遞資料結構的指標,以提供回呼函式的內容。

[in] Options

控制此函式行為的選項。

意義
SYMSEARCH_ALLITEMS
0x08
在 .pdb 檔案中包含所有符號和其他資料。

DbgHelp 6.6 和更早版本: 不支援這個值。

SYMSEARCH_GLOBALSONLY
0x04
僅搜尋全域符號。
SYMSEARCH_MASKOBJS
0x01
僅供內部使用。
SYMSEARCH_RECURSE
0x02
從頂端遞迴以尋找所有符號。

傳回值

如果函式成功,則傳回值為 TRUE

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

備註

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

若要呼叫此函式的 Unicode 版本,請定義DBGHELP_TRANSLATE_TCHAR。

需求

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

另請參閱

DbgHelp 函式

SymEnumSymbolsProc