проблема с GetProcAddress

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by fire64, 26 Oct 2008.

  1. fire64

    fire64 Elder - Старейшина

    Joined:
    1 Apr 2008
    Messages:
    251
    Likes Received:
    22
    Reputations:
    5
    почему не компилится код ?
    я хочу вызвать функцию в dll файле

    PHP:
    #include <stdio.h>
    #include <windows.h>
    int mainint argccharargv[] )
    {
        
    HMODULE steamDLL;
        
    steamDLL LoadLibrary("steam.dll");
        if ( !
    steamDLL)
        {
            
    MessageBox0"Steam.DLL Not Found""Launcher Error"MB_OK );
        }
        
    FARPROC SteamLogin GetProcAddress(steamDLL"SteamLogin");
        const 
    charUser "user";
        const 
    charPassword "12345";    
        
    int isSecureComputer 0;
        
    SteamLoginUserPasswordisSecureComputerNULL);
          return 
    0;
    }
    в результате я получаю ошибку
    error C2197: 'int (__stdcall *)(void)' : too many actual parameters
     
  2. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    ты неправильно описал функцию SteamLogin
    если она у тебя вызывается как C-функция(cdecl) то ее надо описать примерно так
    Code:
    typedef void (*DLLPROC)(char* user, char* pass, int isSecure, void* hz);
    ...
    DLLPROC SteamLogin = GetProcAddress(steamDLL, "SteamLogin");