BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


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() を次のいずれかの値に設定します。

[TPEINVAL]

AEOaddtypesw() が呼び出され、type パラメータは NULL でした。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容はログ・ファイルに書き込まれます。

移植性

このインターフェイスは、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)

 

先頭へ戻る 前のトピックへ 次のトピックへ