共用方式為


SymSearchW 函式 (dbghelp.h)

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

語法

BOOL IMAGEAPI SymSearchW(
  [in]           HANDLE                          hProcess,
  [in]           ULONG64                         BaseOfDll,
  [in, optional] DWORD                           Index,
  [in, optional] DWORD                           SymTag,
  [in, optional] PCWSTR                          Mask,
  [in, optional] DWORD64                         Address,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACKW 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。

注意

dbghelp.h 標頭會將 SymSearch 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
目標平臺 窗戶
標頭 dbghelp.h
連結庫 Dbghelp.lib
DLL Dbghelp.dll
可轉散發 DbgHelp.dll 6.2 或更新版本

另請參閱

DbgHelp 函式

SymEnumSymbolsProc