ネイティブ参照
概要
ネイティブ関数を呼び出すときのポインタを表す種類です。
ネイティブ参照を作成すると、ポインタを格納するメモリ領域が確保されます。
また、ポインタが示す先のデータ型に応じて、文字列またはバイナリ配列の領域を確保して、設定したり取得したりできます。
注意! この機能を利用するには、C/C++言語など他のプログラミング言語の知識が必要になります。この機能を利用した外部DLLの呼び出し方法については、利用するライブラリの情報をご参照ください。
手順
【自分】を【バイト数】だけバイナリとして取得する
ポインタが示す先のバイナリ配列の領域の内容を1番目から指定したバイト数だけ取得します。
設定項目
設定項目 | 型 | 説明 | |
---|---|---|---|
型 | 文字列 | ◎ | ポインタが参照する先の値のデータ型 |
文字数 | 文字列 | ◎ | 型が文字列の場合に格納できる文字数 |
文字セット | 列挙 | ◎ | 参照先が文字列定数の場合の文字列の文字セット {Ansi, Unicode, Auto} |
バイト数 | 型情報 | ◎ | 型がバイナリ配列の場合に格納できるバイト数 |
値 | オブジェクト | ◎ |
ポインタが示す値 ネイティブ関数の呼び出し時に「型」設定項目で指定したデータ型に変換されます |
ポインタ値 | 整数 | □ | ポインタそのものの値を表します |
サンプルコード
GetUserName関数を呼び出す
Win32APIのGetUserName関数を呼び出します。
ユーザ名を格納するネイティブ参照と、ユーザ名の文字数を格納するネイティブ参照を作り、関数の引数に指定します。
ユーザ名取得は、ネイティブ関数(ファイル名「advapi32.dll」,関数名「GetUserNameA」)を作る ユーザ名取得の戻り値型は、整数 ユーザ名取得の引数型一覧は{文字列,整数} Name=ネイティブ参照(型文字列,文字数256)を作る Size=ネイティブ参照(型整数)を作る ユーザ名取得を{Name, Size}で呼び出す Nameの値を報告する Sizeの値を報告する