获取进程基本信息 - DmaGetProcessInfo
函数简介
获取指定进程的基本信息,包括进程名、镜像基址和镜像大小。(高级版功能,普通版无法使用)
接口名称
DmaGetProcessInfo
DLL调用
OLA_STRING_RETURN OLA_CALL_TYPE DmaGetProcessInfo(int64_t instance, int64_t deviceId, int32_t pid);
参数定义:
instance(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。deviceId(长整型数): 设备IDpid(整型数): 进程 PID
示例:
// 获取进程信息
const char* processInfo = DmaGetProcessInfo(instance, deviceId, 1234);
if (processInfo != NULL && strlen(processInfo) > 0) {
printf("进程信息: %s\n", processInfo);
// 解析进程信息(格式: 进程名,镜像基址,镜像大小)
char* copy = strdup(processInfo);
char* token = strtok(copy, ",");
char* processName = token;
token = strtok(NULL, ",");
int64_t imageBase = strtoll(token, NULL, 16);
token = strtok(NULL, ",");
int32_t imageSize = atoi(token);
printf("进程名: %s\n", processName);
printf("镜像基址: 0x%llx\n", imageBase);
printf("镜像大小: %d\n", imageSize);
free(copy);
FreeStringPtr(instance, processInfo);
} else {
printf("获取进程信息失败\n");
}
返回值
字符串:
返回二进制字符串的指针,数据格式为 进程名,镜像基址,镜像大小
示例:notepad.exe,0x400000,1048576
注意: 返回的字符串指针需要调用 FreeStringPtr 接口释放内存
参数说明
返回数据格式:
- 进程名:可执行文件名
- 镜像基址:十六进制格式
- 镜像大小:十进制字节数
- 三个字段以逗号分隔
应用场景
- 获取进程的基本属性
- 进程分析和调试
- 内存映射信息查询
相关接口
- DmaGetPidFromName - 根据进程名获取 PID
- DmaGetPidList - 获取所有进程 PID 列表
- DmaGetModuleBase - 获取模块基址
