|
|
AEOaddtypesw(3c)
名前
AEOaddtypesw()-実行時にユーザ定義のバッファ・タイプをインストールまたはリプレースします。
形式
#include <atmi.h>
#include <tmtypes.h>
int FAR PASCAL AEOaddtypesw(TMTYPESW *newtype)
機能説明
AEOaddtypesw() は、OS/2 クライアントが実行時に、新しいユーザ定義のバッファ・タイプをインストールするか、既存のユーザ定義のバッファ・タイプをリプレースするための、「OS/2 の ATMI 拡張機能」です。この関数の引数は、インストールするバッファ・タイプに関する情報を含む、TMTYPESW 構造体を指すポインタです。
type() と subtype() がすでにインストールされているバッファ・タイプと一致する場合は、すべての情報が新しいバッファ・タイプにリプレースされます。情報が type() フィールドおよび subtype() フィールドと一致しない場合は、BEA Tuxedo ATMI システムによって登録された既存のバッファ・タイプに、新しいバッファ・タイプが追加されます。新しいバッファ・タイプの場合は、呼び出し処理に含まれる WSH および他の BEA Tuxedo ATMI システムのプロセスが新しいバッファ・タイプで作成されているようにします。
TMTYPESW 配列内の関数ポインタは、EXPORTS セクションにあるアプリケーションのモジュール定義ファイルに表示されていなければなりません。
アプリケーションでは、BEA Tuxedo ATMI システム定義のバッファ・タイプのルーチンも使用できます。また、アプリケーションおよび BEA Tuxedo ATMI システム・バッファ・ルーチンを、あるユーザ定義のバッファ・タイプ内で混在させることができます。
戻り値
AEOaddtypesw() は、正常終了時には、システム内のユーザ・バッファ・タイプの数を返します。異常終了時には -1 を返し、tperrno() を設定してエラー条件を示します。
エラー
異常終了時には、AEOaddtypesw() は tperrno() を次のいずれかの値に設定します。
移植性
このインターフェイスは、Windows クライアントでのみサポートされます。タイプ・スイッチをインストールする場合は、BEA Tuxedo ATMI システム・タイプスイッチ DLL に追加することをお勧めします。詳細については、『BEA Tuxedo アプリケーションの設定』 を参照してください。
注意事項
FAR PASCAL は、16 ビット OS/2 環境でのみ使用します。
使用例
#include <os2.h>
#include <atmi.h>
#include <tmtypes.h>
int FAR PASCAL Nfinit(char FAR *, long);
int (FAR PASCAL * lpFinit)(char FAR *, long);
int FAR PASCAL Nfreinit(char FAR *, long);
int (FAR PASCAL * lpFreinit)(char FAR *, long);
int FAR PASCAL Nfuninit(char FAR *, long);
int (FAR PASCAL * lpFuninit)(char FAR *, long);
TMTYPESW newtype =
{
"MYFML", ", 1024, NULL, NULL,
NULL, _fpresend, _fpostsend, _fpostrecv, _fencdec,
_froute
};
newtype.initbuf = Nfinit;
newtype.reinitbuf = Nfreinit;
newtype.uninitbuf = Nfuninit;
if(AEOaddtypesw(newtype) == -1) {
userlog("AEOaddtypesw failed %s", tpstrerror(tperrno));
}
int
FAR PASCAL
Nfinit(char FAR *ptr, long len)
{
......
return(1);
}
int
FAR PASCAL
Nfreinit(char FAR *ptr, long len)
{
......
return(1);
}
int
FAR PASCAL
Nfuninit(char FAR *ptr, long mdlen)
{
......
return(1);
}
アプリケーション・モジュール定義ファイル:
; EXAMPLE.DEF file
NAME EXAMPLE
DESCRIPTION 'EXAMPLE for OS/2'
EXETYPE OS/2
EXPORTS
Nfinit
Nfreinit
Nfuninit
....
関連項目
buildwsh(1)、 buffer(3c)、 typesw(5)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|