ICorDebugMetaDataLocator::GetMetaData 方法

要求调试器返回模块(完成该调试器请求的操作需要其元数据)的完整路径。

语法

HRESULT GetMetaData(
      [in] LPCWSTR wszImagePath,
      [in] DWORD   dwImageTimeStamp,
      [in] DWORD   dwImageSize,
      [in] ULONG32 cchPathBuffer,
      [out] ULONG32 * pcchPathBuffer,
      [out, size_is(cchPathBuffer), length_is(*pcchPathBuffer)]
               WCHAR wszPathBuffer[]
      );

参数

wszImagePath [in]一个以 null 结尾的字符串,表示文件的完整路径。 如果完整路径不可用,则为文件的名称和扩展名(文件名.扩展名)。

dwImageTimeStamp [in]映像 PE 文件标头中的时间戳。 此参数可以用于符号服务器 (SymSrv) 查找。

dwImageSize [in]PE 文件标头中的图像大小。 此参数可能可以用于 SymSrv 查找。

cchPathBuffer[in]字符计数。wszPathBuffer

pcchPathBuffer[out]写入到wszPathBufferWCHAR计数。

如果该方法返回 E_NOT_SUFFICIENT_BUFFER,则包含存储路径所需的 WCHAR 计数。

wszPathBuffer [out]指向缓冲区的指针,调试器将复制包含所请求元数据的文件的完整路径。

CorOpenFlags 枚举中的 ofReadOnly 标志用于请求对此文件中元数据的只读访问权限。

返回值

此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。 所有其他失败的 HRESULT 均指示文件不可检索。

HRESULT 说明
S_OK 该方法已成功完成。 wszPathBuffer 包含文件的完整路径,以 null 结尾。
E_NOT_SUFFICIENT_BUFFER wszPathBuffer 的当前大小不足以容纳完整路径。 在这种情况下,pcchPathBuffer 包含所需的 WCHAR 计数(包括终止 null 字符),并且使用请求的缓冲区大小第二次调用 GetMetaData

备注

如果 wszImagePath 包含转储中模块的完整路径,则它从收集转储的计算机指定路径。 文件可能不位于此位置,或者具有相同名称的不正确文件可能存储在该路径上。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 4 起可用

请参阅