<リファレンス>


(メソッド名無し)

obj([param1 [, param2 [,param3 ...]]])

 Declareメソッドで指定されたDLL上の関数(API)を呼び出します。引数『param1』 『param2』等には、それぞれのAPIで指定された物を使用します。APIで指定された引数を全て記述して下さい。

Declare

obj.Declare("dllFile","procName")

 『DeclareA』と同じ。

DeclareA

obj.DeclareA("dllFile","procName")

 オブジェクトで扱うAPIを指定します。『dllFile』には、使用する関数が含まれているDLLのファイル名(『.dll』は省略可能)を、『procName』には使用する関数へのエイリアスを指定します。文字列を扱うAPIの場合は、ANSI Stringを使用する物(XxxXxxA)を指定して下さい。
 戻り値はありません。

DeclareW

obj.DeclareW("dllFile","procName")

 オブジェクトで扱うAPIを指定します。『dllFile』には、使用する関数が含まれているDLLのファイル名(『.dll』は省略可能)を、『procName』には使用する関数へのエイリアスを指定します。文字列を扱うAPIの場合は、Unicodeを扱う物(XxxXxxW)を指定して下さい。
 戻り値はありません。

CallBack

obj.CallBack(className, numParam)

 classNameにはコールバック関数を含むクラスオブジェクトを、numParamにはコールバック関数の引数の数を指定します。
 戻り値として、コールバック関数のポインタを返します。

Address

obj.Address

 引数はありません。
 戻り値として、宣言された関数のメモリ上のアドレスを返します。

LoadLibraries

obj.LoadLibraries("dllName" [ ,"dllName" [ , ...]]])

 『LoadLibrariesA』と同じ。

LoadLibrariesA

obj.LoadLibrariesA("dllName" [ ,"dllName" [ , ...]]])

 『dllName』で指定したDLLファイルをメモリにロードします。文字列を扱うAPIとしては、ANSI Stringを扱う物が利用可能です。
 戻り値はありません。

LoadLibrariesW

obj.LoadLibrariesW("dllName" [ ,"dllName" [ , ...]]])

 『dllName』で指定したDLLファイルをメモリにロードします。文字列を扱うAPIとしては、Unicodeを扱う物が利用可能です。
 戻り値はありません。

Reset

obj.Reset()

 使用していたメモリーを解放し、オブジェクトを初期状態に戻します。
 戻り値はありません。

(API名)

obj.API名([param1 [, param2 [,param3 ...]]])

 LoadLibrariesメソッドで指定されたDLL上の関数(API)を呼び出します。引数『param1』 『param2』等には、それぞれのAPIで指定された物を使用します。APIで指定された引数を全て記述して下さい。

eax

obj.eax

 引数はありません。
 戻り値として、APIを呼び出した後のeaxレジスタの値を返します。多くのAPIでは、eaxレジスタの値が関数の戻り値です。

edx

obj.edx

 引数はありません。
 戻り値として、APIを呼び出した後のedxレジスタの値を返します。
(メソッド名無し)

obj

 引数無しの場合、APIの引数として、または構造体のコピーの際の代入文の右辺値として使用出来ます。

obj("component1","varType1" [, "component2","varType2" [, ...]]])

 引数を与えた場合、構造体の宣言を実行します。『component』には構造体の因子名(配列定義が可能)を、『varType』には変数型を指定して下さい。変数型としては以下の物が使えます。

Byte (バイト型)
Integer (16ビット整数型)
Long (32ビット整数型)
String (ANSI 文字列型)
Unicode (Unicode 文字列型)
String*長さ (固定長ANSI 文字列型)
Unicode*長さ (固定長Unicode 文字列型)
SfcMini.Structureオブジェクト (入れ子の構造体宣言に使用)

 配列が要素の場合に、『(』『)』の前後にスペースを入れないようにしてください。固定長文字列型を指定する場合には、『*』の前後にスペースを入れないようにしてください。また、配列数及び文字列の長さは10進法で指定してください。配列の引数は、0から始まります。『(2)』と指定すると、『(0)』『(1)』『(2)』の3つの要素が定義されます。


obj()

 空の引数を持つオブジェクトを代入文の左辺値に指定すると、右辺値のSfcMini.Structureオブジェクトの内容がコピーされます。



obj("Reset")

 引数を一つだけ"Reset"として指定すると、使用していたメモリーを解放し、オブジェクトを初期状態に戻します。
(メソッド名無し)

obj([param1 [,param2 [, ...]])

 『CallCode』と同じ。

AddCode

obj.AddCode("xx xx xx" [, "xx xx xx" [ , ...]])

 マシンコードをHex値で追加します。
 戻り値として、最初の1バイト目の格納アドレスを返します。

AddByte

obj.AddByte(bVal [,isRelative])

 マシンコードを1バイト追加します。isRelativeにtrueを指定するとジャンプ命令に用いる相対アドレスを代入できます。
 戻り値として、格納アドレスを返します。

AddInt16

obj.AddInt16(iVal [,isRelative])

 マシンコードを2バイト、16ビット整数値として追加します。isRelativeにtrueを指定するとジャンプ命令に用いる相対アドレスを代入できます。
 戻り値として、最初の1バイト目の格納アドレスを返します。

AddInt32

obj.AddInt32(lVal [,isRelative])

 マシンコードを4バイト、32ビット整数値として追加します。isRelativeにtrueを指定するとジャンプ命令に用いる相対アドレスを代入できます。
 戻り値として、最初の1バイト目の格納アドレスを返します。

CallCode

obj.CallCode([param1 [,param2 [, ...]])

 作成されたマシンコードを実行します。パラメータが必要な場合は『param』を引数に指定すれば、スタックに格納された形でコード中で利用可能です。
 戻り値として、eaxレジスタの値を返します。

Reset

obj.Reset([cSize])

 作成したマシンコードを全て破棄し、cSizeで指定されたバイト数の新たなコード領域を確保します。cSizeを省略すると、256が指定されます。
 戻り値はありません。

Address

obj.Address

 引数はありません。
 戻り値として、マシンコードの開始アドレスを返します。

BufferAddress

obj.Address

 引数はありません。
 戻り値として、メモリ空間を読み書きできる作業空間として死闘するときの開始アドレスを返します。

eax

obj.eax

 引数はありません。
 戻り値として、マシンコードを呼び出した後のeaxレジスタの値を返します。

edx

obj.edx

 引数はありません。
 戻り値として、マシンコードを呼び出した後のedxレジスタの値を返します。

» サンプルコード

Include

obj.Include(fileName)

 戻り値として、fileNameで示されるファイルの内容を文字列で返します。fileNameを『<xxx.vbs>』の様に『<』『>』で囲むと、インストールディレクトリにある『lib』ディレクトリに含まれるファイルが指定されます。

Initialize

obj.Initialize

 引数はありません。
 戻り値として、インストールディレクトリの『lib』ディレクトリにある『Initialize.vbs』の内容を文字列で返します。

Len

obj.Len(structName)

 戻り値として、『structName』で示されるSfcMini.Structureオブジェクトで宣言された構造体の大きさを、バイト数で返します。

GetSfcVersion

obj.GetSfcVersion

 引数はありません。
 戻り値として、バージョン番号を、HEX値で返します。

FloatToInt32
Int32ToFloat
DoubleToInt32H
DoubleToInt32L
Int32ToDouble


obj.FloatToInt32(floatVal)
obj.Int32ToFloat(intVal)
obj.DoubleToInt32H(doubleVal)
obj.DoubleToInt32L(doubleVal)
obj.Int32ToDouble(intValH,intValL)


 浮動小数点型と、そのメモリ構造との間の変換を行います。メモリ構造としては、32ビット整数型が使用されます。

PointerToObject

obj.PointerToObject(pointer)

 戻り値として、32ビット整数値『pointer』で示されるオブジェクトを返します。

ObjectToPointer

obj.ObjectToPointer(object)

 戻り値として、オブジェクト『object』へのポインターを32ビット整数値で返します。
(メソッド名無し)

obj(obj1,obj2)

 戻り値は在りません。引数として、二つのオブジェクトを指定します。結果として、obj を介して、obj1、obj2 の両方のプロパティや関数にアクセスすることが出来るようになります。

obj("Reset")

 戻り値は在りません。引数として、"Reset"を一つだけ与えると、使用していたメモリーを解放し、初期状態に戻します。

  • このオブジェクトの使用方法は、tipsのページを参照して下さい。