NumGet

Gibt die Binärzahl an einer bestimmten Adresse+Offset zurück.

Zahl := NumGet(Quelle, Offset, Typ)
Zahl := NumGet(Quelle, Typ)

Parameter

Quelle

Typ: Objekt oder Integer

Ein Buffer-ähnliches Objekt oder eine Speicheradresse.

Es kann ein beliebiges Objekt mit einer Ptr- und Size-Eigenschaft verwendet werden, aber diese Funktion ist für das native Buffer-Objekt optimiert. Die Übergabe eines Objekts mit diesen Eigenschaften stellt sicher, dass die Funktion keinen Speicher aus einem ungültigen Bereich liest, was zu Abstürzen oder anderem unvorhersehbaren Verhalten führen kann.

Offset

Typ: Integer

Wenn leer oder weggelassen (oder wenn der 2-Parameter-Modus verwendet wird), wird standardmäßig 0 verwendet. Andernfalls geben Sie eine Zahl (in Bytes) an, die zur Quelle addiert wird, um die Quelladresse zu bestimmen.

Typ

Typ: Zeichenkette

Eine der folgenden Zeichenketten: UInt, Int, Int64, Short, UShort, Char, UChar, Double, Float, Ptr oder UPtr.

Vorzeichenlose 64-Bit-Integer werden nicht unterstützt, da der native Integertyp von AutoHotkey "Int64" ist. Um also mit Zahlen größer gleich 0x8000000000000000 zu arbeiten, lassen Sie das U-Präfix weg und interpretieren Sie alle negativen Werte als große Integer (Int64). Zum Beispiel ist ein Int64-Wert von -1 eigentlich 0xFFFFFFFFFFFFFFFF, wenn er als UInt64 gedacht ist. In 64-Bit-Builds ist UPtr äquivalent zu Int64.

Weitere Informationen finden Sie unter DllCall-Typen.

Rückgabewert

Typ: Integer oder Float

Diese Funktion gibt die Binärzahl an der angegebenen Adresse+Offset zurück.

Allgemeine Bemerkungen

Wenn nur zwei Parameter vorhanden sind, muss der zweite Parameter Typ sein. Zum Beispiel wäre NumGet(var, "int") zulässig.

Es kann eine Ausnahme ausgelöst werden, wenn die Quelladresse ungültig ist. Es ist jedoch möglich, dass einige ungültige Adressen nicht als solche erkannt werden, was zu unvorhersehbarem Verhalten führen kann. Die Übergabe eines Buffer-Objekts anstelle einer Adresse stellt sicher, dass die Quelladresse immer validiert werden kann.

NumPut, DllCall, Buffer-Objekt, VarSetStrCapacity