BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   C 言語を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


アプリケーションへの参加

クライアントがサービスを要求する場合、BEA Tuxedo アプリケーションに明示的または暗黙的に参加している必要があります。アプリケーションに参加すると、クライアントは要求を送り、その応答を受け取ることができるようになります。

クライアントが明示的にアプリケーションに参加するには、次の文法を指定して tpinit(3c) 関数を呼び出します。

int
tpinit (TPINIT *tpinfo)

クライアントが tpinit() 関数を呼び出す前にサービス要求 (または ATMI 関数) を呼び出すと、暗黙的にアプリケーションに参加したことになります。その場合、tpinfo 引数が NULL に設定されて、tpinit() 関数がクライアントではなく BEA Tuxedo システムによって呼び出されます。tpinfo 引数は、タイプが TPINIT、サブタイプが NULL の型付きバッファを指します。TPINIT 型バッファは atmi.h ヘッダ・ファイルに定義されており、次の情報が格納されています。

char usrname[MAXTIDENT+2];
char
cltname[MAXTIDENT+2];
char
passwd[MAXTIDENT+2];
char
grpname[MAXTIDENT+2];
long
flags;
long
datalen;
long
data;

次の表は、TPINIT データ構造体のフィールドを示しています。

TPINIT データ構造体のフィールド

フィールド

説明

Usrname

クライアントを表す名前。ブロードキャスト通知と管理統計情報の検索に使用されます。クライアントは、tpinit() 関数を呼び出すときに usrnameに値を設定します。この値には、最大文字数が MAXTIDENT で、最後が NULL で終わる文字列を指定します。最大文字数のデフォルト値は 30 ですが、管理者が変更できます。

cltname

アプリケーション定義のセマンティクスに従ったクライアント名。30 文字以内で最後が NULL で終わる文字列を指定します。ブロードキャスト通知と管理統計情報の検索に使用されます。クライアントは、tpinit() 関数を呼び出すときに cltname に値を設定します。この値には、最大文字数が MAXTIDENT で、最後が NULL で終わる文字列を指定します。最大文字数のデフォルト値は 30 ですが、管理者が変更できます。

注記 sysclient の値は、cltname フィールド用に予約されています。

passwd

非暗号化形式のアプリケーション・パスワード。ユーザ認証に使用されます。30 文字以内の文字列を指定します。

grpname

クライアントをリソース・マネージャ・グループに対応付ける値。grpname が長さ 0 の文字列として設定されている場合、クライアントはリソース・マネージャに対応付けられず、デフォルトのクライアント・グループに属します。ワークステーション・クライアントの場合、grpname の値には NULL 文字列 (長さが 0 の文字列) を指定します。ワークステーション・クライアントの詳細については、BEA Tuxedo Workstation コンポーネントを参照してください。

flags

クライアント固有の通知メカニズム、およびシステム・アクセスのモード。この値により、マルチコンテキスト・モードとシングルコンテキスト・モードが制御されます。フラグの詳細については、「任意通知型通知の処理」、または『BEA Tuxedo C リファレンス』の tpinit() を参照してください。

datalen

アプリケーション固有データの長さ。TPINIT 型バッファのバッファ・タイプ・スイッチ・エントリは、そのバッファに渡される合計サイズに基づいてこのフィールドを設定します。アプリケーション・データのサイズは、合計サイズから TPINIT 構造体自体のサイズを差し引き、その値に構造体に定義されているデータ・プレースホルダのサイズを加算したものです。

data

アプリケーション定義の認証サービスに転送される可変長データ用のプレース・ホルダ。

クライアント・プログラムは、アプリケーションに参加する前に tpalloc() を呼び出して TPINIT バッファを割り当てる必要があります。次のコード例は、TPINIT バッファを割り当て、そのバッファを使用してアプリケーション固有の 8 バイトのデータを tpinit() 関数に渡す方法を示しています。

TPINIT 型バッファの割り当て

.
.
.
TPINIT *tpinfo;
.
.
.
if ((tpinfo = (TPINIT *)tpalloc("TPINIT",(char *)NULL,
TPINITNEED(8))) == (TPINIT *)NULL){
Error Routine
}

TPINIT 型バッファの詳細については、『BEA Tuxedo C リファレンス』の tpinit() を参照してください。

関連項目

 

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