The problem is FARPROC. Thank you everybody.

Solution:
import core.runtime;
import std.c.windows.windows;
import std.stdio;

alias extern(Windows) int function(int) FuncPtr;
alias extern(Windows) FuncPtr function() GetFuncPtr;

int main(string[] args)
{
        HMODULE dll            = LoadLibraryA("mydll64.DLL");
GetFuncPtr getFunction = cast(GetFuncPtr) GetProcAddress(dll, "GetFunction");
        FuncPtr realFunction   = cast(FuncPtr) getFunction();
        
        writefln("dll address:          %08x", dll);
        writefln("GetFunction address:  %08x", getFunction);
        writefln("RealFunction address: %08x", realFunction);
        writefln("RealFunction result:  %d",   realFunction(7));

    return 0;   
}

Reply via email to