Windows PSAPI
torhu
no at spam.invalid
Sun Sep 7 13:41:32 PDT 2008
Sergey Gromov wrote:
> The call to GetModuleFileNameExA() messes up stack. As far as I can
> tell this happens because PSAPI functions are declared extern(C) in
> psapi.d bindings, but in fact are __stdcall. The problem is, it's not
> possible to replace extern(C) with extern(Windows) because the psapi.dll
> functions have unmangled names, while extern(Windows) mangles them with
> argument stack size. I don't have a slightest idea of how to specify
> mangling convention and calling convention separately in D. In C
> declaration looks like:
Using coffimplib with a psapi.lib taken from the M$ platform SDK will
probably work. The stdcall mangling is present in the .lib file, but
not the .dll. I didn't test the resulting OMF lib file, but the names
are correctly mangled, "_GetModuleFileNameExA at 16" and so on.
http://ftp.digitalmars.com/coffimplib.zip
More information about the Digitalmars-d-learn
mailing list