Naja, die C++-Deklaration sieht so aus:
Code:
IDirect3D9 * Direct3DCreate9(
UINT SDKVersion
);
Und wenn ich in Delphi schreibe
function Direct3DCreate9(SDKVersion: Cardinal): IDirect3D9; stdcall;
dürfte das in C++ so heraus kommen:
Code:
void Direct3DCreate9(UINT SDKVersion, IDirect3D9** result);
Sofern ich mich nicht irre, werden Typen mit RefCount (d.h. finalisierungsbedürftige Typen) immer als out-Parameter zurückgegeben.
Nebenbei bemerkt scheint beim Threadersteller ein stdcall verloren gegangen zu sein.