Ich arbeite mit dem Kram jetzt schon 3 Monate es ist definitiv LONG_PTR;
Ja, Korrektur:
LONG_PTR = NativeInt
.
War irgendwie beim
MSDN Eintrag für .NET gelandet, wo alle Parameter als
long*
definiert werden.
Nein, ein @ gehört nicht davor, das sind VAR/OUT-Parameter die Pointer zurückgeben (daher hatte ich es mit "Pointer" probiert). Im
MSDN gibt es kein var/out, daher sind es dort Pointer bzw. Pointer auf Pointer, aber VAR ist intern auch ein Pointer, nur Delphi ist so nett es sprachlich zu unterstützen.
Wenn sie als
var/out
deklariert sind, kommt natürlich kein
@
davor. Bin davon ausgegangen, dass die Header 1 zu 1 übersetzt worden sind. Einen Pointer geben die Parameter dennoch nicht zurück.
LONG_PTR
ist irreführend. Es handelt sich dabei nicht um einen Zeiger auf
LONG
, sondern den
LONG
Typ, der immer die Größe von
SizeOf(Pointer)
hat.