求助:DLL引用导入结构体错误
DLL中的函数表示如下:
long WINAPI WOMRpc1(
HWND *win_no,
struct WOMRpc1_req_st *req_stp,
char *in_data_p)
DLL中结构体结构
typedef struct WOMRpc1_req_st {
char CltAPLName[8];
char ReqProgName[16];
char ConnectSw;
char ChangeSenter;
char ForceSw;
char ReceiveSw;
char SvGroup[31];
char SvName[31];
char ChangeSvGroup[31];
char ChangeSvName[31];
char Reserve1[8];
char MoniterSw;
char Reserve2[3];
char InputStCode[4];
char APCompleteST;
char Reserve3[7];
} WOMRpc1_req_st;
调用DLL的函数中
定义个一个跟DLL中结构体形式一样的结构体WOMRpc1_req_st
struct WOMRpc1_req_st *req_st;
req_st = (WOMRpc1_req_st *)malloc(sizeof(WOMRpc1_req_st));
//对req_st进行负值(省略)
对DLL的调用:
typedef void(*lpWomClCmGetIniF)(HWND *, struct *, char *, long *, char *, long *, long *, long *, char *);
lpWomClCmGetIniF IniFFun;
WOM_Rpc32_DLL = LoadLibraryEx("C:\\nsc\\LIB\\WOMCLM32.dll",NULL,NULL);
if (WOM_Rpc32_DLL <= (HINSTANCE)32)
{
memcpy(msgbox,"WOM902E womclm32.dll初期化設定で重大エラーが発生しました",sizeof(msgbox));
MessageBox(msgbox,"重大エラー",MB_ICONSTOP | MB_TASKMODAL);
exit(-1);
}
IniFFun = (lpWomClCmGetIniF)GetProcAddress(WOM_Rpc32_DLL,"WOMRpc1");
if(IniFFun != NULL)
{
IniFFun(&hwnd,req_st,in_data_p,&in_len,out_data_p,&out_len,&timer,sub_rtcd,err_inf);
//出现了错误,错误原因是,结构体转换不成功
}
各位大虾,如何解决这问题,在线等呀m(_ _)m