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] 写入到 wszPathBuffer 中的 WCHAR 的计数。

    如果此方法返回 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 包含某个转储中的模块的完整路径,则它会指定收集该转储的计算机中的路径。 此位置上可能不存在该文件,或路径上可能存储了具有相同名称的错误文件。

要求

**平台:**请参见 .NET Framework 系统要求

头文件: CorDebug.idl、CorDebug.h

**库:**CorGuids.lib

**.NET Framework 版本:**4

请参见

参考

ICorDebugThread4 接口

其他资源

调试接口

调试(非托管 API 参考)