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 方法获取有关最新安装的版本的信息,如下所示:

  • pExepwszVersionpConfigurationFile 参数指定为 null。

  • 指定 runtimeInfoFlags 参数的 RUNTIME_INFO_FLAGS 枚举中的 RUNTIME_INFO_UPGRADE_VERSION 标记。

GetRequestedRuntimeInfo 方法在以下情况下不会返回最新的 CLR 版本:

  • 存在指定加载特定 CLR 版本的应用程序配置文件。 请注意,.NET Framework 将使用配置文件,即使将 pConfigurationFile 参数指定为 null 也是如此。

  • 指定较早的 CLR 版本,调用 CorBindToRuntimeEx 方法。

  • 针对早期 CLR 版本编译的应用程序当前正在运行。

对于 runtimeInfoFlags 参数,一次仅可指定 RUNTIME_INFO_FLAGS 枚举的一个体系结构常量:

  • RUNTIME_INFO_REQUEST_IA64

  • RUNTIME_INFO_REQUEST_AMD64

  • RUNTIME_INFO_REQUEST_X86

要求

平台:请参阅系统要求

标头:MSCorEE.h

库:MSCorEE.dll

.NET Framework 版本:支持 1.1 及更高版本

请参阅