- 论坛徽章:
- 0
|
#define MO_MSG 1
typedef int (_cdecl *GetMo)(int con_id,void **pp_mo);
struct MO_msg{
char sourceUser[21];
char SPNumber[21];
unsigned char tp_pid;
unsigned char tp_udhi;
unsigned char msgFormat;
unsigned long msgLen;
char msg[160];
};
extern "C" _declspec(dllexport) int Sgip_Get_MO(int con_id,void **pp_mo,char *userdata)
{
int iRe = -1;
HINSTANCE hins = NULL;
hins = LoadLibrary("sgipapi.dll");
if(hins)
{
struct MO_msg *p_msg=NULL;
GetMo gm;
gm = (GetMo)GetProcAddress(hins,"SGIP_Get_MO");
iRe = gm(con_id,pp_mo);
if(iRe==MO_MSG)
{
p_msg=(struct MO_msg *)(pp_mo);
strcpy(userdata,p_msg->msg);
}
FreeLibrary(hins);
}
return iRe;
}
目的是把 SGIP_Get_MO 函数返回的 MO_msg->msg 的内容放入userdata参数。
这样做每次得到的都是空。请大家帮忙看看。 |
|