Trouble with DLL address
dnewbie
run3 at myopera.com
Mon Jan 14 15:59:35 PST 2013
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;
}
More information about the Digitalmars-d-learn
mailing list