获取所有进程PID列表 - DmaGetPidList
函数简介
获取设备上所有进程的 PID 列表。(高级版功能,普通版无法使用)
接口名称
DmaGetPidList
DLL调用
OLA_STRING_RETURN OLA_CALL_TYPE DmaGetPidList(int64_t instance, int64_t deviceId);
参数定义:
instance(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。deviceId(长整型数): 设备ID
示例:
// 获取所有进程 PID 列表
const char* pidList = DmaGetPidList(instance, deviceId);
if (pidList != NULL && strlen(pidList) > 0) {
printf("进程列表: %s\n", pidList);
// 解析 PID 列表(以 | 分隔)
char* copy = strdup(pidList);
char* token = strtok(copy, "|");
while (token != NULL) {
int32_t pid = atoi(token);
printf("PID: %d\n", pid);
token = strtok(NULL, "|");
}
free(copy);
// 释放内存
FreeStringPtr(instance, pidList);
} else {
printf("获取进程列表失败\n");
}
返回值
字符串:
返回二进制字符串的指针,数据格式为 pid1|pid2|pid3...
示例:1234|5678|9012|3456
注意: 返回的字符串指针需要调用 FreeStringPtr 接口释放内存
参数说明
返回数据格式:
- 多个 PID 以
|符号分隔 - 每个 PID 是十进制整数
- 失败时返回空字符串
应用场景
- 枚举所有运行的进程
- 进程监控和管理
- 批量进程操作
相关接口
- DmaGetPidFromName - 根据进程名获取 PID
- DmaGetProcessInfo - 获取进程基本信息
