dupptr64

ポインタ(64bit)からクローン変数を作成

dupptr64 変数名,p1,p2,p3

変数名 : クローンを作成する変数名
p1=0~ : クローン元のメモリアドレス(64bit値)
p2=0~ : クローン元のメモリサイズ(符号あり32bit値)
p3=1~(4) : クローン変数の型指定

(プラグイン / モジュール : hspint64.dll)

解説

dupptr関数の64bit対応版です。
なお、hspint64.as をインクルードした場合は、既存のdupptr関数は、dupptr64関数に置き換えられています。

指定したアドレスポインタ(64bit)を指している変数を作成します。
クローン変数は、メモリ上の情報を参照するための数値型配列変数として機能するようになります。

p3で作成されるクローン変数の型を指定することができます。
p3の値は、vartype関数で取得される型を示す値と同じです。 p3を省略した場合は、4(整数型)となります。

クローン変数は、指し示しているメモリの位置が変更されてもそれを検知することはできません。
たとえば、変数に格納されているデータのメモリアドレスを指し示していたとしても、変数の型や内容が更新されてメモリ位置が変更された場合に正しく参照することはできません。
あくまでも、一時的なメモリ参照にのみ使用し、取り扱いには十分に注意してください。dupptr64命令は、 DLL等の外部関数で取り交わすメモリ参照や低レベルでの変数バッファ操作を行なうための機能として用意されています。
初心者向けに、dupptr64命令を推奨することはありません。

関連項目

varptr64変数データのポインタ(64bit)を返す(hspint64.dll)
int64int64型整数値に変換(hspint64.dll)
dupptrポインタからクローン変数を作成

サンプル逆引き (2)

05_dupptr64.hsp
20_strw.hsp

情報

プラグイン / モジュールhspint64.dll
バージョン1.03
作成日2021/06/13
著作者inovia
URLhttps://hsp.moe/
備考#include "hsp3_64.as"
#include "hspint64.as"
以上2つのファイルをインクルードすること。
(ソースコード上の記述個所は一番上を推奨)
タイプint64型拡張プラグイン
グループint64
対応環境
  • Windows 版 HSP
移植のヒント64bit版 Windows のみ
hs ファイルhsphelp\hspint64.hs