从目标进程中的公共语言运行时 (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,或 pBuffer 为 cchBuffer null。
pBuffer 且 cchBuffer 必须为 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 不引用有效的进程或其他失败。
注解
此函数接受由 标识pBuffer 缓冲区中返回。 此字符串对函数用户不透明;也就是说,版本字符串本身没有固有的含义。 它仅在此函数和 CreateDebuggingInterfaceFromVersion 函数的上下文中使用。
应调用此函数两次。 第一次调用它时,同时为两者pBuffer传递 null。cchBuffer 执行此作时,将返回pBuffer所需的缓冲区pdwLength大小。 然后,可以再次调用函数,并在其中传入缓冲区 pBuffer 及其大小 cchBuffer。
要求
平台: 请参阅 .NET 支持的作系统。
标头: dbgshim.h
库: dbgshim.dll、libdbgshim.so、libdbgshim.dylib
.NET 版本: 自 .NET Core 2.1 起可用