IDA REGISTERUDX コマンド
IDA REGISTERUDX CLPPlus コマンドは、UDX を登録します。
注: UDX 機能はすべて、fenced モードでのみ機能します。
呼び出し
このコマンドは CLPPlus インターフェースから実行する必要があります。
許可
なし
必要な接続
CLPPlus がデータベースに接続されている必要があります。
コマンド構文
パラメーター
以下のパラメーターは、記述される言語に関係なく、すべての UDX に適用されます。
- PARAMFILE
- このコマンドに明示的に指定されていないパラメーターのデフォルト値を決定する IDA パラメーター・ファイルの名前 (IDA パラメーター・ファイルを参照してください)。
コマンド・ストリングで明示的に指定されていない主要な必須パラメーターは、すべてパラメーター・ファイルで指定する必要があります。 このコマンドの主要な必須パラメーターは、以下のとおりです。
- PROJECT | PROJ
- SIGNATURE | SIG
- CLASS
- RETURN
- LANG
- UDX の作成に使用された言語 (C++ の場合は CPP、Lua の場合は LUA)。UDX ライブラリー・ファイルの拡張子 (UDXLIBRARY パラメーターで指定) が .so または .nzl の場合、コマンドは自動的に言語を判別するので、このパラメーターは不要です。 このパラメーターは、UDX のライブラリー・ファイルの拡張子が .so または .nzl 以外の場合にのみ指定します。
- PROJECT | PROJ
- 登録する UDX で必要なファイルが含まれるプロジェクト・ディレクトリーの名前。
- SIGNATURE | SIG
- UDX のシグニチャー。以下に例を示します。
UDX タイプ シグニチャー 説明 UDSF udx42(VARCHAR,CHAR)2 つの入力引数 (1 つの VARCHAR と 1 つの CHAR) を受け入れる udx42という名前の UDSF。UDTF "sig=UDTFONEINT(integer)"1 つの入力引数 (整数) を受け入れる UDTFONEINTという名前の UDTF。UDAF "sandd(int,int) aggregate with (int,int)"2 つの入力引数 (両方とも整数) を受け入れる sanddという名前の UDAF。 - RETURN
- UDX から返されるデータのデータ・タイプ。
- UDSF または UDAF の場合、これは
intまたはcharなどの単純なデータ・タイプです。 - UDTF の場合、これは
"TABLE(<name> <data_type>)"という形式のストリングです。例えば、"TABLE(t1 integer)"は、返されたデータが、1 列の整数データを含むt1という名前の表にあることを示します。
- UDSF または UDAF の場合、これは
- UDXLIBRARY | UDXLIB
- 登録する UDX のライブラリー・ファイルの完全な名前 (プロジェクト・ディレクトリーからのパスと拡張子を含みます)。
拡張子は、以下のものでなければなりません。
- .so
- C++ で作成された UDX の場合。
- .nzl
- Lua で作成された UDX の場合。
release/libudxdbl.soです。 - DETERMINISTIC | DET
- UDX が決定論的かどうか。
- CALLEDONNULLINPUT | NULLCALL
- 1 つ以上の入力値が NULL のときに、UDX を呼び出すかどうか。
- ALLOWPARALLEL | PARALLEL
- UDX が並列処理を許可するかどうか。値 YES は、UDSF または UDAF の場合にのみ指定できます。UDTF の場合は指定できません。
- CLASS
- UDX のクラス (つまり、共有ライブラリー内のエントリー・ポイントのラベル)。
例
次のコマンドは、
pf1r.txt という名前のパラメーター・ファイルを使用して、すべてのパラメーターを指定します。
SQL> IDA REGISTERUDX PARAMFILE pf1r.txt次のコマンドは、
pf1r.txt で指定された一部のパラメーターを上書きします。
SQL> IDA REGISTERUDX PARAMFILE pf1r.txt SRC udxin4.tar CLASS ZZBin UDXLIB release/libudxdbl.so次のコマンドは、パラメーター・ファイルを指定しません。パラメーターはすべてコマンド・ストリングで指定されます。
指定されていないすべてのパラメーターにデフォルトが使用されます。
SQL> IDA REGISTERUDX SRC C:\udxdev\udx1.tar SIG udx1(int,int) CLASS ABin RETURN char