从目标进程中的公共语言运行时 (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 起可用