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
包含转储中模块的完整路径,则它从收集转储的计算机指定路径。 文件可能不位于此位置,或者具有相同名称的不正确文件可能存储在该路径上。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 4 起可用
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈