PFNMINIPDBERRORCALLBACK2

为快速链接 PDB 提供上次加载错误的文件名和错误代码。

语法

typedef HRESULT __cdecl (*PFNMINIPDBERRORCALLBACK2)(
  void* pvContext, 
  DWORD dwErrorCode, 
  const LPCOLESTR szObjOrPdb, 
  const LPCOLESTR szLib
);

参数

pvContext

[in]传递到调用 IDiaDataSourceEx::setPfnMiniPDBErrorCallback2 方法的上下文。

dwErrorCode

[in]描述特定错误的错误代码。 虽然类型化为此 DWORD 确实是一种 HRESULT。 最常见的值是 E_PDB_CORRUPTE_DIA_COFF_ACCESSE_DIA_COMP_PDB_ACCESS

szObjOrPdb

[in]与错误相关的 OBJ 或 PDB 文件的名称。

szLib

[in]如果 szObjOrPdb 引用 LIB 文件中的 OBJ 文件,则这是 LIB 的名称。 否则为 nullptr

返回值

返回值会被忽略。

示例

HRESULT __cdecl ReportMiniPDBError(void *pvContext, DWORD hr, const wchar_t *szObjOrPdb, const wchar_t *szLib)
{
  wprintf(L"Callback on fastlink PDB: hr = 0x%08x, szObjOrPdb=\"%ls\", szLib=\"%ls\"\n", hr, szObjOrPdb, szLib);
  *reinterpret_cast<bool*>(pvContext) = true;
  return S_OK;
}
...
  bool callbackCalled = false;
  HRESULT hr = pSourceEx->setPfnMiniPDBErrorCallback2(&callbackCalled, ReportMiniPDBError);
...

另请参阅