SymFindFileInPathW 函式 (dbghelp.h)
找出符號檔或可執行檔映像。
語法
BOOL IMAGEAPI SymFindFileInPathW(
[in] HANDLE hprocess,
[in, optional] PCWSTR SearchPath,
[in] PCWSTR FileName,
[in, optional] PVOID id,
[in] DWORD two,
[in] DWORD three,
[in] DWORD flags,
[out] PWSTR FoundFile,
[in, optional] PFINDFILEINPATHCALLBACKW callback,
[in, optional] PVOID context
);
參數
[in] hprocess
原本傳遞至 SymInitialize 函式之進程的句柄。
[in, optional] SearchPath
搜尋路徑。 這可以是以分號分隔的多個路徑。 它可以同時包含目錄和符號伺服器。 如果此參數 NULL,則函式會使用使用 SymSetSearchPath 或 SymInitialize 函式所設定的搜尋路徑。
[in] FileName
檔名。 您可以指定路徑;不過,只會使用檔名。
[in, optional] id
三個識別參數中的第一個(請參閱。
[in] two
三個識別參數中的第二個(請參閱)。
[in] three
三個識別參數中的第三個(請參閱)。
[in] flags
識別碼 參數的格式。 此參數可以是下列其中一個值。
價值 | 意義 |
---|---|
|
識別碼 參數是 DWORD。 |
|
識別碼 參數是 DWORD的指標。 |
|
識別碼 參數是 GUID的指標。 |
[out] FoundFile
接收符號檔完整路徑之緩衝區的指標。 此緩衝區至少必須MAX_PATH個字元。
[in, optional] callback
SymFindFileInPathProc 回呼函式。
[in, optional] context
使用者定義的值或 NULL。 此值只會傳遞至回調函式。 這個參數通常由應用程式用來傳遞數據結構的指標,以提供回呼函式的一些內容。
傳回值
如果伺服器找到有效的符號檔,則會傳回 TRUE ;否則,它會傳回 FALSE,GetLastError 傳回值,指出為何未傳回符號檔。
言論
識別參數會填入,如下所示:
- 如果 DbgHelp 正在尋找 .pdb 檔案,標識子 參數會指定原始映射 codeview 偵錯目錄中找到的 PDB 簽章。 參數 兩個 指定 PDB 存留期。 參數 三個 未使用,並將 設定為零。
- 如果 DbgHelp 正在尋找任何其他類型的映像,例如可執行檔或 .dbg 檔案,標識子 參數會指定原始映像的 TimeDateStamp,如其 PE 標頭中所找到。 參數 兩個 指定 SizeOfImage 欄位,也會從 PE 標頭擷取。 參數 三個 未使用,並將 設定為零。
搜尋目錄時,此函式預設不會驗證符號識別碼是否相符。 若要確保找到相符的符號檔,請使用 SYMOPT_EXACT_SYMBOLS 呼叫 SymSetOptions 函式。
所有 DbgHelp 函式,例如此函式,都是單個線程。 因此,從一個以上的線程呼叫此函式可能會導致非預期的行為或記憶體損毀。 若要避免這種情況,您必須將多個線程的所有並行呼叫同步至此函式。
若要呼叫此函式的 Unicode 版本,請定義DBGHELP_TRANSLATE_TCHAR。
注意
dbghelp.h 標頭會根據 UNICODE 預處理器常數的定義,將 SymFindFileInPath 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | dbghelp.h |
連結庫 | DbgHelp.lib |
DLL | DbgHelp.dll |
可轉散發 | DbgHelp.dll 5.1 或更新版本 |