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 起可用