Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/12/2010, 18:03
fightmx
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 9 meses
Puntos: 22
Respuesta: como se agrega dll

Al parecer estás asignando la dirección de una función directamente a una función y debería ser a un puntero a función.

MPUSBGetDLLVersion=(DWORD(*)(void))GetProcAddress( libHandle,"_MPUSBGetDLLVersion");

El siguiente código es de ejemplo, es simple si tienes claro el concepto de puntero a función, de lo contrario tendrás que estudiarlo.

Código C++:
Ver original
  1. #include <windows.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. typedef DWORD (*VERSIONPROC)();
  6.  
  7. int main(){
  8.  
  9.     HINSTANCE hinstLib;
  10.     VERSIONPROC procVersion;
  11.     DWORD version;
  12.  
  13.     hinstLib = LoadLibrary(TEXT("mpusbapi.dll"));
  14.  
  15.     if(hinstLib != NULL){
  16.  
  17.         procVersion = (VERSIONPROC) GetProcAddress(hinstLib, "_MPUSBGetDLLVersion");
  18.         if(procVersion != NULL){
  19.             version = procVersion();
  20.             cout << hex << version << endl;
  21.         }
  22.         FreeLibrary(hinstLib);
  23.     }
  24.  
  25.     return 0;
  26. }