Вызвать функцию из DLL с любым количеством аргуметнов
От: vasilyev  
Дата: 14.04.06 06:38
Оценка:
#include <windows.h>
#include <stdio.h>
 
int WINAPI main() 
{
  
  HINSTANCE hinstLib = LoadLibrary("my.dll");
  if (hinstLib == NULL) {
    printf("ERROR: unable to load DLL\n");
        return 1;
  } else {
    printf("Ok, loaded hinstLib = %d\n", hinstLib);
    int __stdcall *DllGetVersion = (int __stdcall *) GetProcAddress(hinstLib, "myFunc");
    if (DllGetVersion == NULL) {
      printf("ERROR: unable to find DLL function\n");
      return 1;
    }
  
    // Каким образом здесь вызвать myFunc из DLL-ки,
    // от которой нет исходников, но знаю что вызовы там должны быть stdcall,
    // с переменным количеством передаваемых аргументов?
    // 
    // Наример:
    // int n = 3;
    // int a[];
    // нужно вызвать myFunc(a[0],a[1],a[2]);
    // а n - имеет обыкновение меняться
    // и возможно a[i] - будут иметь разные типы
    
            
    FreeLibrary(hinstLib);
  }
  return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.