CreateVersionStringFromModule 函数

从目标进程中的公共语言运行时 (CLR) 路径创建版本字符串。

语法

HRESULT CreateVersionStringFromModule (
    [in]  DWORD      pidDebuggee,
    [in]  LPCWSTR    szModuleName,
    [out, size_is(cchBuffer),
    length_is(*pdwLength)] LPWSTR Buffer,
    [in]  DWORD      cchBuffer,
    [out] DWORD*     pdwLength
);

参数

pidDebuggee
[in]加载目标 CLR 的进程标识符。

szModuleName
[in]进程中加载的目标 CLR 的完整路径或相对路径。

pBuffer
[out]返回用于存储目标 CLR 的版本字符串的缓冲区。

cchBuffer
[in]大小为 pBuffer.

pdwLength
[out]返回 pBuffer的版本字符串的长度。

返回值

S_OK
目标 CLR 的版本字符串已成功返回。pBuffer

E_INVALIDARG
szModuleName 为 null,或 pBuffercchBuffer null。 pBuffercchBuffer 必须为 null 或非 null。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength 大于 cchBuffer。 如果同时为这两 pBuffer 者传递了 null, cchBuffer并且使用 pdwLength查询所需的缓冲区大小,则这可能是预期结果。

HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName 目标进程中不包含有效 CLR 的路径。

E_FAIL (或其他 E_ 返回代码)
pidDebuggee 不引用有效的进程或其他失败。

注解

此函数接受由 标识的 CLR 进程,以及由 <a1/> 指定的字符串路径。 版本字符串在指向的 pBuffer 缓冲区中返回。 此字符串对函数用户不透明;也就是说,版本字符串本身没有固有的含义。 它仅在此函数和 CreateDebuggingInterfaceFromVersion 函数的上下文中使用。

应调用此函数两次。 第一次调用它时,同时为两者pBuffer传递 null。cchBuffer 执行此作时,将返回pBuffer所需的缓冲区pdwLength大小。 然后,可以再次调用函数,并在其中传入缓冲区 pBuffer 及其大小 cchBuffer

要求

平台: 请参阅 .NET 支持的作系统

标头: dbgshim.h

库: dbgshim.dll、libdbgshim.so、libdbgshim.dylib

.NET 版本: 自 .NET Core 2.1 起可用