HEADLINES

■ATOK技術情報
<ATOK12/ATOK11/ATOK10 for Windows
 AMETアプリケーション開発マニュアル>


3.AMETサーバ

AMETの機能を備えたOLEオートメーションサーバプログラムを『AMETサーバ』と呼ぶ。AMETサーバは要求されるプロパティとメソッドを実装していれば、どのような処理系で作成してもよい。本ドキュメントでは、Visual Basic 4.0とVisual C++ 4.0によるAMETサーバの作成方法について説明してある。

3−1.プロパティとメソッド

AMETサーバには次に示すプロパティとメソッドを実装することができる。プロパティとメソッドには必ず実装しなければならない必須プロパティ、必須メソッドと、必要ないときは実装しなくてもよい任意プロパティ、任意メソッドがある。
必須プロパティ
AmetYomi
AmetHyoki
BSTR
BSTR
読み文字列
表記文字列
必須メソッド
AmetStart(LONG)   データ送信通知
任意プロパティ
AmetResult
AmetQuit
AmetBYomi
AmetBYomiLen
AmetBHyoki
AmetBHyokiLen
BSTR
LONG
LONG[]
LONG
LONG[]
LONG
ATOKに返す確定文字列
AMETサーバ終了フラグ
読み文節情報
読み文節情報のサイズ
表記文節情報
表記文節情報のサイズ
任意メソッド
AmetSetBYomi(LONG, LONG)
AmetSetBHyoki(LONG, LONG)
  読み文節情報の設定
表記文節情報の設定

3−2.必須プロパティ

必須プロパティは、ATOKがAMETサーバを呼び出すときに必ず設定するプロパティである。AMETサーバにこれらのプロパティのうちどれか一つでも実装されていないときはAMETの呼び出しは行われない。

3−2−1.AmetYomi

AmetYomiは、未確定文字列の読みを設定する。

3−2−2.AmetHyoki

AmetHyokiは、未確定文字列の表記を設定する。

3−3.必須メソッド

必須プロパティと同様、必須メソッドもATOKがAMETサーバを呼び出すときに必ず実行するメソッドである。AMETサーバにこれらのメソッドのうちどれか一つでも実装されていないときはAMETの呼び出しは行われない。

3−3−1.AmetStart

void AmetStart(LONG hWnd);

AMETサーバにプロパティの設定が完了したことを通知するメソッド。

引数のhWndは、AMETサーバがATOKにデータを送信するときの通知先のウィンドウ(ATOKウィンドウ)のハンドルを与える。

3−4.任意プロパティ

任意プロパティは、AMETサーバが必要であれば実装するプロパティである。これらのプロパティが実装されていないときはATOKはデフォルトの動作をする。

3−4−1.AmetResult

AMETサーバがATOKに確定文字列を返すときは、このプロパティを実装し、文字列を設定する。ATOKはここに設定された文字列を確定文字列としてアプリケーションに送信する。

このプロパティが実装されていないときはATOKは確定文字列の設定をしない。

3−4−2.AmetQuit

AMETサーバからATOKに通知があった後、AMETサーバを終了するかどうかを表すプロパティ。TRUE(≠ 0)のときはAMETサーバは終了し、FALSE(=0)のときは終了しない。

このプロパティが実装されていないときはTRUEが設定されているものとみなし、AMETサーバは終了する。

3−5.文節情報

AMETサーバが読みと表記の文節情報を必要とするとき、文節情報プロパティを実装することができる。これらのプロパティとメソッドは任意である。

3−5−1.AmetBYomi, AmetBHyoki

文節情報を格納するためのデータ領域でプロパティではない。LONGの配列(LONG[100])として実装する。このデータ領域に値を設定する場合は、後述するAmetSetBYomi()、AmetSetBHyoki()メソッドを用いる。

3−5−2.AmetBYomiLen, AmetBHyokiLen

それぞれAmetBYomi, AmetBHyokiのうち、有効なデータの数を与えるプロパティ。

このプロパティが実装されていないときは文節情報の設定は行わない。

3−5−3.AmetSetBYomi, AmetSetBHyoki

void AmetSetBYomi(LONG idx, LONG data);
void AmetSetBHyoki(LONG idx, LONG data);

文節情報を設定するためのメソッド。AmetBYomi、AmetBHyokiの代わりとして使う。ATOKはこのメソッドを繰り返し呼び出し、配列のidxで与えられるインデックスの要素にdataで指定された値を設定する。

このメソッドが実装されていないときは文節情報の設定は行わない。

3−6.WM_AMET_NOTIFYメッセージ

AMETサーバがATOKに確定文字列を返すときは、AmetStartの引数として渡されたATOKウィンドウのハンドルにWM_AMET_NOTIFYメッセージを送信する。ATOKウィンドウはこのメッセージを受信すると、AMETサーバのAmetResult、AmetQuitの各プロパティを調べる。

AmetResultが存在するときは、プロパティから確定文字列を取得し、アプリケーションに送信する。またAmetQuitが存在するときは、その値によってAMETサーバを終了する。

WM_AMET_NOTIFYはWM_USER + 100として定義される。


前ページ目 次次ページ



return



to topmenu

update 1998.12.2