bea ホーム | 製品 | dev2dev | support | askBEA |
|
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス |
名前
AEMsetblockinghook()−アプリケーション固有のブロッキング・フック関数を確立します。
形式
#include <atmi.h>
int AEMsetblockinghook(_TM_FARPROC)
機能説明
AEMsetblockinghook() は、Mac のタスクで ATMI ネットワーキング・ソフトウェアがブロッキング ATMI 呼び出しを実装するための新しい関数をインストールできる「Mac 対応 ATMI エクステンション」です。この関数には、インストールするブロッキング関数の関数アドレスへのポインタが必要です。
ATMI ブロッキング呼び出しを処理する、デフォルトの関数はすでに用意されています。AEMsetblockinghook() 関数によって、アプリケーションは、「ブロッキング」時にデフォルト関数の代わりに独自の関数を実行することができます。NULL ポインタを指定してこの関数を呼び出すと、ブロッキング・フック関数はデフォルトの関数にリセットされます。
アプリケーションが ATMI ブロッキング操作を呼び出すと、ブロッキング操作が起動し、次の疑似コードで示すようなループが開始します。
for(;;) {
execute operation in non-blocking mode
if error
break;
if operation complete
break;
while(BlockingHook())
;
}
戻り値
AEMsetblockinghook() は、以前にインストールされたブロッキング関数のプロシージャ・インスタンスへのポインタを返します。AEMsetblockinghook() 関数を呼び出すアプリケーションまたはライブラリは、必要に応じて復元できるように、この戻り値を保存する必要があります。「入れ子」が重要でない場合は、アプリケーションは AEMsetblockinghook() によって返された値を廃棄し、最終的に AEMsetblockinghook (NULL) を使ってデフォルト・メカニズムを復元することができます。AEMsetblockinghook() はエラー時には NULL を返し、tperrno を設定してエラー条件を示します。
エラー
異常終了時には、AEMsetblockinghook() は tperrno を次の値に設定します。
移植性
このインターフェイスは、Mac クライアントでのみサポートされています。
注意事項
アプリケーションが tpterm(3c) を呼び出すと、ブロッキング関数はリセットされます。