????2.????loadrunner??winsocket??????????
???????????????????????
????def.h //????????????????????????????庯??
char* guid_gen(){                         //????GUID????
typedef struct _GUID    {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
GUID m_guid;
char buf[50];
char pNameStr[50];
CoCreateGuid(&m_guid);
// ??????????
//sprintf (buf?? "{%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"?? // ??д
//sprintf (buf?? "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}"??// Сд
sprintf (buf?? "%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x"??// Сд%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?? paramName);
//sprintf(pNameStr??"{%s}"??paramName);
return lr_eval_string(buf);
}
char* join(char *s1?? char *s2)
{
char *result = (char*)malloc(strlen(s1)+strlen(s2)+1);//+1 for the zero-terminator
//in real code you would check for errors in malloc here
if (result == NULL) exit (1);
strcpy(result?? s1);
strcat(result?? s2);
return result;
}
// ??????滻????.
// ???滻???е???滻????????????滻??????????滻?????????????????.
// pInput - ?????????.
// pOutput - ?????????? ?????????????洢?滻????????.
// pSrc - ????滻??????????? ????%user%
// pDst - ??滻?????????? ????user1
// ???:???????????????'