GetRequestedRuntimeInfo 函数
获取有关应用程序所请求的公共语言运行时 (CLR) 的版本和目录信息。
.NET Framework 4 版 中已弃用此函数。
HRESULT GetRequestedRuntimeInfo (
[in] LPCWSTR pExe,
[in] LPCWSTR pwszVersion,
[in] LPCWSTR pConfigurationFile,
[in] DWORD startupFlags,
[in] DWORD runtimeInfoFlags,
[out] LPWSTR pDirectory,
[in] DWORD dwDirectory,
[out] DWORD *dwDirectoryLength,
[out] LPWSTR pVersion,
[in] DWORD cchBuffer,
[out] DWORD *dwlength
);
参数
pExe
[in] 应用程序的名称。pwszVersion
[in] 用于指定运行时版本号的字符串。pConfigurationFile
[in] 与 pExe 关联的配置文件的名称。startupFlags
[in] 一个或多个 STARTUP_FLAGS 枚举值。runtimeInfoFlags
[in] 一个或多个 RUNTIME_INFO_FLAGS 枚举值。pDirectory
[out] 成功完成后包含运行时目录路径的缓冲区。dwDirectory
[in] 目录缓冲区的长度。dwDirectoryLength
[out] 指向目录路径字符串的长度的指针。pVersion
[out] 成功完成后包含运行时版本号的缓冲区。cchBuffer
[in] 版本字符串缓冲区的长度。dwlength
[out] 指向版本字符串的长度的指针。
返回值
除了下面的值以外,此方法还返回 WinError.h 中定义的标准组件对象模型 (COM) 错误代码。
返回代码 |
说明 |
---|---|
S_OK |
该方法成功完成。 |
ERROR_INSUFFICIENT_BUFFER |
目录缓冲区的大小不足以存储目录路径。 - 或 - 版本缓冲区的大小不足以存储版本字符串。 |
备注
GetRequestedRuntimeInfo 方法返回有关加载到进程中的版本的运行时信息,该版本不一定是计算机上安装的最新版本。
在 .NET Framework 2.0 版中,按如下方式使用 GetRequestedRuntimeInfo 方法可以获取有关安装的最新版本的信息:
将 pExe、pwszVersion 和 pConfigurationFile 参数指定为 Null。
在 RUNTIME_INFO_FLAGS 枚举中为 runtimeInfoFlags 参数指定 RUNTIME_INFO_UPGRADE_VERSION 标志。
在下列情况下,GetRequestedRuntimeInfo 方法不会返回最新的 CLR 版本:
指定加载特定 CLR 版本的应用程序配置文件存在。 请注意,即使为 pConfigurationFile 参数指定 Null,.NET Framework 也会使用该配置文件。
调用 CorBindToRuntimeEx 方法时指定早期 CLR 版本。
为早期 CLR 版本编译的应用程序当前正在运行。
对于 runtimeInfoFlags 参数而言,一次只能指定 RUNTIME_INFO_FLAGS 枚举的一个体系结构常量:
RUNTIME_INFO_REQUEST_IA64
RUNTIME_INFO_REQUEST_AMD64
RUNTIME_INFO_REQUEST_X86
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**MSCorEE.h
**库:**MSCorEE.dll
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1