HINSTANCE  handle    = 0;
FARPROC    address   = 0;
handle = LoadLibrary(lpLibFileName);
address = GetProcAddress(handle,"PacketOpenAdapter");我现在要给  PacketOpenAdapter  这个DLL 里面的函数 传3个参数我要怎么做呢??  还要获取到 PacketOpenAdapter 函数的返回的值...

解决方案 »

  1.   

    type re = address(1, 2, 3);
      

  2.   

    必须将address定义成和PacketOpenAdapter有一样参数和调用方式的函数指针。 或者先声明一个有一样参数与调用方式的函数指针, 使用时将address强制类型转换成该类型。比如可以这样定义address:
    int (__stdcall *address)(LPSTR) = (int (__stdcall *)(LPSTR))GetProcAddress(handle, "PacketOpenAdapter");使用时就可以直接用address(name)了
      

  3.   

    PacketOpenAdapter 要有3个参数才可以传给它3个参数
    Typedef BOOL  (_stdcall *lpfun)(LPCTSTR, LPCTSTR, LPCTSTR);
    lpfun =   GetProcAddress(handle,"PacketOpenAdapter"); 这样传递三个参数