ImqObject C++ クラス
このクラスは抽象クラスです。 このクラスのオブジェクトは破棄されると自動的にクローズされ、その ImqQueueManager 接続は切断されます。

このクラスは、 ImqObject 相互参照にリストされている MQI 呼び出しに関連しています。
クラス属性
- 動作 (behavior)
- 暗黙オープンの振る舞いを制御します。
- IMQ_IMPL_OPEN (8L)
- 暗黙オープンが許可されます。 これはデフォルトです。
オブジェクトの属性
- alteration date
- 変更日。 この属性は読み取り専用です。
- alteration time
- 変更時刻。 この属性は読み取り専用です。
- alternate user id
- 代替ユーザーの ID。最大 MQ_USER_ID_LENGTH 文字です。 初期値はヌル・ストリングです。
- alternate security id
- 代替セキュリティーの ID。 長さ MQ_SECURITY_ID_LENGTH の 2 進値 (MQBYTE40)。 初期値は MQSID_NONE です。
- close options
- オブジェクトのクローズ時に適用されるオプション。 初期値は MQCO_NONE です。 この属性は、暗黙の再オープン操作時には無視されます。再オープン時は、必ず値 MQCO_NONE が使用されるためです。
- connection reference
- 必要に応じて (ローカル) キュー・マネージャーに接続できるようにする ImqQueueManager オブジェクトに対する参照。 ImqQueueManager オブジェクトの場合、これはオブジェクト自身です。 初期値はゼロです。注: これを、指定されたキューのキュー・マネージャー (おそらくリモート) を識別する キュー・マネージャー名 と混同しないでください。
- 説明
- キュー・マネージャー、キュー、名前リスト、またはプロセスの記述名 (最大 64 文字)。 この属性は読み取り専用です。
- name
- キュー・マネージャー、キュー、名前リスト、またはプロセスの名前 (最大 48 文字)。 初期値はヌル・ストリングです。 結果として生じた動的キューの名前に対する open のあとのモデル・キュー変更の名前です。注: ImqQueueManager は、デフォルトのキューマネージャを表す空の名前を持つことができます。 open が正常に実行されると、ここに実際のキュー・マネージャーの名前が表示されます。 ImqDistributionList は動的なので、必ずヌル名にしなければなりません。
- next managed object
- これは、特定の順序でなく、このクラスの次のオブジェクトで、このオブジェクトと同じ connection reference を持つものです。 初期値はゼロです。
- open options
- オブジェクトのオープン時に適用されるオプション。 初期値は MQOO_INQUIRE です。 適切な値を設定する方法は、次の 2 通りあります。
- open options を設定せず、open メソッドも使用しないでください。 IBM® MQ は、 オープン・オプション を自動的に調整し、必要に応じてオブジェクトを自動的にオープン、再オープン、およびクローズします。 これにより、 IBM MQ が openFor メソッドを使用し、 open options が増分的にのみ追加されるため、不要な再オープン操作が発生する可能性があります。
- MQI 呼び出しになるメソッドを使用する前に、 オープン・オプション を設定してください ( C++ と MQI の相互参照 を参照)。 こうすると、不要な再オープン操作が行われなくなります。 再オープンの問題が発生する可能性がある場合は、オープン・オプションを明示的に設定します ( 再オープン を参照)。
open メソッドを使用する場合は、最初に open options が適切であることを確認する 必要があります 。 ただし、 open メソッドを使用することは必須ではありません。 IBM MQ は、引き続き 1 の場合と同じ動作を示しますが、この状況では動作が効率的です。
ゼロは有効な値ではないため、オブジェクトのオープンを行う前に適切な値を設定してください。 それには、 setOpenOptions( lOpenOptions ) を 指定してから open( ) を使用するか、または openFor( lRequiredOpenOption ) を使用します。注:- 配布リストに対して open メソッドを使用している間は、MQOO_INQUIRE の代わりに MQOO_OUTPUT が使用されます。これは、MQOO_OUTPUT がこの期間中に有効なただ 1 つの open option であるからです。 しかし、open メソッドを使用しているアプリケーション・プログラムでは、必ず MQOO_OUTPUT を明示的に設定することをお勧めします。
- クラスの resolved queue manager name 属性と resolved queue name 属性を使用する場合は、MQOO_RESOLVE_NAMES を指定します。
- open status
- オブジェクトがオープンである (TRUE) か、クローズされている (FALSE) かを示します。 初期値は FALSE です。 この属性は読み取り専用です。
- previous managed object
- これは、特定の順序ではなく、このクラスの直前のオブジェクトで、このオブジェクトと同じ connection reference を持つものです。 初期値はゼロです。
- queue manager identifier
- キュー・マネージャーの ID。 この属性は読み取り専用です。
コンストラクター
- ImqObject( );
- デフォルトのコンストラクター。
- ImqObject( const & ImqObject object );
- コピー・コンストラクター。 open status は FALSE となります。
クラス・メソッド (共有)
- static MQLONG behavior( );
- behaviorを返します。
- setBehavior( const MQLONG behavior = 0 );
- behaviorを設定します。
オブジェクト・メソッド (共有)
- void operator = ( const ImqObject & object );
- 必要に応じてクローズを実行し、object からインスタンス・データをコピーします。 open status は FALSE となります。
- ImqBoolean alterationDate( ImqString &日付 );
- alteration date のコピーを提供します。 正常に終了した場合は TRUE を返します。
- ImqString alterationDate( );
- 起こり得るエラーを示さずに、alteration date を返します。
- ImqBoolean alterationTime( ImqString &時間 );
- alteration time のコピーを提供します。 正常に終了した場合は TRUE を返します。
- ImqString alterationTime( );
- 起こり得るエラーを示さずに、alteration time を返します。
- ImqString alternateUserId( ) const ;
- alternate user id のコピーを返します。
- ImqBoolean setAlternateUserId( const char * id );
- alternate user id を設定します。 alternate user id を設定できるのは、open status が FALSE の間だけです。 このメソッドは、正常に終了した場合には TRUE を返します。
- ImqBinary alternateSecurityId( ) const ;
- alternate security id のコピーを返します。
- ImqBoolean setAlternateSecurityId( const ImqBinary & token );
- alternate security id を設定します。 alternate security id を設定できるのは、open status が FALSE の間だけです。 token の data length は、ゼロまたは MQ_SECURITY_ID_LENGTH のいずれかでなければなりません。 正常に終了した場合は TRUE を返します。
- ImqBoolean setAlternateSecurityId( const MQBYTE* token = 0);
- alternate security id を設定します。 token はゼロであっても構いません。これは MQSID_NONE を指定するのと同じです。 token が非ゼロの場合には、MQ_SECURITY_ID_LENGTH バイトの 2 進データをアドレッシングするものでなければなりません。 MQSID_NONE などの事前定義値を使用する場合は、確実にシグニチャーが一致するようにキャスト (例えば、(MQBYTE *)MQSID_NONE) を作成する必要があります。
alternate security id を設定できるのは、open status が TRUE の間だけです。 正常に終了した場合は TRUE を返します。
- ImqBoolean setAlternateSecurityId( const unsigned char *id = 0);
- alternate security id を設定します。
- ImqBoolean close( );
- open status を FALSE に設定します。 正常に終了した場合は TRUE を返します。
- MQLONG closeOptions( ) const ;
- close options を返します。
- void setCloseOptions( const MQLONG options );
- close options を設定します。
- ImqQueueManager * connectionReference( ) const ;
- connection reference を返します。
- void setConnectionReference( ImqQueueManager & manager );
- connection reference を設定します。
- void setConnectionReference( ImqQueueManager * manager = 0 );
- connection reference を設定します。
- virtual ImqBoolean description ( ImqString & description ) = 0;
- description のコピーを提供します。 正常に終了した場合は TRUE を返します。
- ImqString description( );
- 起こり得るエラーを示さずに、description のコピーを返します。
- virtual ImqBoolean name ( ImqString & name );
- name のコピーを提供します。 正常に終了した場合は TRUE を返します。
- ImqString name ();
- 起こり得るエラーを示さずに、name のコピーを返します。
- ImqBoolean setName( const char * name = 0 );
- nameを設定します。 name を設定できるのは、open status が FALSE であるとき、 および connection status が FALSE であるとき (ImqQueueManager の場合) のみです。 正常に終了した場合は TRUE を返します。
- ImqObject * nextManagedObject( ) const ;
- next managed object を返します。
- ImqBoolean open( );
- さまざまな属性のうち特に open options と name を使用して必要に応じてオブジェクトをオープンすることにより、open status を TRUE に変更します。 ImqQueueManager の connection status を 確実に TRUE にする必要がある場合、 このメソッドは connection reference 情報と、ImqQueueManager の connect メソッドを使用します。 open status を返します。
- ImqBoolean openFor( const MQLONG required-options = 0 );
- オブジェクトが オープン・オプション、または required-options パラメーター値によって暗黙指定された動作を保証する オープン・オプション を使用してオープンされていることを確認しようとします。required-options がゼロである場合は、入力は必須であり、いずれの入力オプションでも有効です。 したがって、open options に既に、次のいずれかが含まれている場合は、
- MQOO_INPUT_AS_Q_DEF
- MQOO_INPUT_SHARED
- MQOO_INPUT_EXCLUSIVE
open options は既に有効であり、変更されません。open options に上記のいずれのオプションも含まれていない場合は、open options に MQOO_INPUT_AS_Q_DEF が設定されます。
required-options が非ゼロである場合は、必須指定のオプションが open options に追加されます。required-options が上記のいずれかのオプションである場合、それ以外のものはリセットされます。
open options のいずれかが変更され、オブジェクトが既にオープンになっている場合は、open options を調整するためにオブジェクトは一時的にクローズされ、再オープンされます。
正常に終了した場合は TRUE を返します。 正常に行われたということは、オブジェクトが適切なオプションでオープンになっていることを示します。
- MQLONG openOptions( ) const ;
- open options を返します。
- ImqBoolean setOpenOptions( const MQLONG options );
- open options を設定します。 open options を設定できるのは、open status が FALSE の間だけです。 正常に終了した場合は TRUE を返します。
- ImqBoolean openStatus( ) const ;
- open status を返します。
- ImqObject * previousManagedObject( ) const ;
- previous managed object を返します。
- ImqBoolean queueManagerIdentifier( ImqString & id );
- queue manager identifier のコピーを提供します。 正常に終了した場合は TRUE を返します。
- ImqString queueManagerIdentifier( );
- 起こり得るエラーを示さずに、queue manager identifier を返します。
オブジェクト・メソッド (保護)
- virtual ImqBoolean closeTemporarily( );
- 再オープンの前にオブジェクトを安全にクローズします。 正常に終了した場合は TRUE を返します。 このメソッドでは、open status が TRUE であると想定しています。
- MQHCONN connectionHandle( ) const ;
- connection reference と関連付けられた MQHCONN を返します。 この値は、connection reference がない場合、 または Manager が接続されていない場合はゼロです。
- ImqBoolean inquire ( const MQLONG int-attr, MQLONG & value );
- 整数値を返します。この索引は MQIA_* 値です。 エラーがあった場合、値は MQIAV_UNDEFINED に設定されます。
- ImqBoolean inquire ( const MQLONG char-attr, char * & buffer, const size_t length );
- 文字ストリングを返します。この索引は MQCA_* 値です。注: これらのメソッドは両方とも、単一の属性値のみを返します。 複数の値の スナップショット が必要な場合 (値が 1 つのインスタントについて互いに整合している場合)、 IBM MQ C++ はこの機能を提供しないため、適切なパラメーターを指定して MQINQ 呼び出しを使用する必要があります。
- virtual void openInformationDisperse( );
- MQOPEN 呼び出しの直後に MQOD データ構造体の可変部分から情報を分散させます。
- virtual ImqBoolean openInformationPrepare( );
- MQOPEN 呼び出しの直前に MQOD データ構造体の可変部分の情報を準備し、正常に終了した場合は TRUE を返します。
- ImqBoolean set( const MQLONG int-attr, const MQLONG value );
- IBM MQ 整数属性を設定します。
- ImqBoolean set( const MQLONG char-attr, const char * buffer, const size_t required-length );
- IBM MQ 文字属性を設定します。
- void setNextManagedObject( const ImqObject * object = 0 );
- next managed object を設定します。
重要 : この関数は、管理対象オブジェクト・リストを損傷しないことが確かな場合に限って使用してください。
- void setPreviousManagedObject( const ImqObject * object = 0 );
- previous managed object を設定します。
重要 : この関数は、管理対象オブジェクト・リストを損傷しないことが確かな場合に限って使用してください。
オブジェクト・データ (保護)
- MQHOBJ オブジェクト
- IBM MQ オブジェクト・ハンドル ( open status が TRUE の場合にのみ有効)。
- MQOD omqod
- 組み込み MQOD データ構造体。 このデータ構造体に割り振られているストレージ容量が、MQOD バージョン 2 に必要なストレージ容量となります。 バージョン番号 (omqod.Version) を調べてから、以下の指示に従ってほかのフィールドにアクセスします。
- MQOD_VERSION_1
- omqod に含まれているほかの全フィールドにアクセスできます。
- MQOD_VERSION_2
- omqod に含まれているほかの全フィールドにアクセスできます。
- MQOD_VERSION_3
- omqod.pmqod は、動的に割り振られた、ほかよりも容量の大きい MQOD を指すポインターです。 omqod に
含まれているほかのフィールドにはアクセスできません。 omqod.pmqod でアドレッシングされた全フィールドにアクセスできます。注: omqod.pmqod.Version は omqod.Versionより小さくすることができます。これは、 IBM MQ MQI client に IBM MQ サーバーよりも多くの機能があることを示します。
理由コード
- MQRC_ATTRIBUTE_LOCKED
- MQRC_INCONSISTENT_OBJECT_STATE
- MQRC_NO_CONNECTION_REFERENCE
- MQRC_STORAGE_NOT_AVAILABLE
- MQRC_REOPEN_SAVED_CONTEXT_ERR
- (MQCLOSE からの理由コード)
- (MQCONN からの理由コード)
- (MQINQ からの理由コード)
- (MQOPEN からの理由コード)
- (MQSET からの理由コード)