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,或 pBuffer
或 cchBuffer
为 null。 pBuffer
和 cchBuffer
必须都为 null 或非 null。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength
大于 cchBuffer
。 如果已为 pBuffer
和 cchBuffer
都传递了 null,并且已通过使用 pdwLength
查询了必要的缓冲区大小,这可能为预期的结果。
HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName
不包含指向目标进程中有效 CLR 的路径。
E_FAIL
(或其他 E_
返回代码)
pidDebuggee
不引用有效进程,或其他故障。
备注
此函数接受由 pidDebuggee
标识的 CLR 进程和由 szModuleName
指定的字符串路径。 版本字符串返回 pBuffer
指向的缓冲区。 此字符串对函数用户是不透明的;这就是说,该版本字符串本身不具有任何实质意义。 它只用于此函数和 CreateDebuggingInterfaceFromVersion 函数的上下文中。
应两次调用此函数。 第一次调用此函数时,为 pBuffer
和 cchBuffer
传递 null。 执行此操作时,pBuffer
所需的缓冲区大小将在 pdwLength
中返回。 然后可以第二次调用该函数,并将缓冲区传入 pBuffer
以及将缓冲区大小传入 cchBuffer
。
要求
平台:请参阅 .NET 支持的操作系统。
标头:dbgshim.h
库:dbgshim.dll、libdbgshim.so、libdbgshim.dylib
.NET 版本:自 .NET Core 2.1 起可用