c - 如何从独立于操作系统的 LoadRunner 生成通用唯一标识符、UUID
问题描述
在编写脚本时,我曾多次遇到需要在 LoadRunner 中生成 UUID,但没有内置函数可以这样做。我正在使用 linux 和 windows 负载生成器。
感谢 Scott Moore 编写了以下代码,该代码使用 Windows 内置 CoCreateGuid 函数(依赖于 ole32.dll)来生成所需的 UUID。然而,该代码完全依赖于 Windows 平台,在 Linux 平台上不起作用。
我们如何从独立于操作系统的 Loadrunner 生成 UUID?
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int lr_guid_gen()
{
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
GUID m_guid;
char buf[50];
lr_load_dll ("ole32.dll");
CoCreateGuid(&m_guid);
sprintf (buf, "%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
m_guid.Data1, m_guid.Data2, m_guid.Data3,
m_guid.Data4[0], m_guid.Data4[1], m_guid.Data4[2], m_guid.Data4[3],
m_guid.Data4[4], m_guid.Data4[5], m_guid.Data4[6], m_guid.Data4[7]);
lr_save_string(buf, "PAR_GUID");
return 0;
}
解决方案
推荐阅读
- php - PhpSpreadsheet:使用嵌套循环填充电子表格的算法永远不会到达最外层循环的最后一次迭代
- mysql - Django比较模型和mysql查询之间的数据
- swift - 在tableview中放置collectionview时如何设置约束
- python - 尝试将字符串和整数相乘时出现问题
- ios - 表格视图单元格Swift iOS中的嵌套集合视图
- c# - 如何使用 c# 以编程方式在 domino 服务器中获取 CA 配置的验证者名称列表?
- c - C 头文件中定义的自引用结构产生错误
- css - 如果列数少于指定的列数,则使网格填充剩余空间
- google-cloud-platform - 使用 Terraform 从现有实例创建实例模板
- php - 为 Apache 2.4 中的每个 Set-Cookie 添加 Secure 和 SameSite 标志