获取环境变量 - RegistryGetEnvironmentVariable
函数简介
获取环境变量的值,支持读取用户级和系统级环境变量。
接口名称
RegistryGetEnvironmentVariable
DLL调用
int64_t RegistryGetEnvironmentVariable(int64_t instance, const char* name, int32_t systemWide);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| name | 字符串 | 环境变量名称 |
| systemWide | 整数型 | 是否从系统级环境变量读取。1 系统级,0 当前用户级 |
示例
int64_t instance = CreateCOLAPlugInterFace();
int64_t valuePtr = RegistryGetEnvironmentVariable(instance, "OLA_HOME", 0);
if (valuePtr != 0) {
printf("OLA_HOME: %s\n", (const char*)valuePtr);
FreeStringPtr(instance, valuePtr);
}
valuePtr = RegistryGetEnvironmentVariable(instance, "PATH", 1);
if (valuePtr != 0) {
printf("系统PATH: %s\n", (const char*)valuePtr);
FreeStringPtr(instance, valuePtr);
}
DestroyCOLAPlugInterFace(instance);
返回值
长整数型。成功返回环境变量值的字符串指针,失败或不存在返回 0。返回的字符串指针需调用 FreeStringPtr 释放内存。
注意事项
- 环境变量名称不区分大小写。
- 系统级环境变量存储在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment。
- 用户级环境变量存储在 HKEY_CURRENT_USER\Environment。
