C アプリケーションは、オブジェクト・ハンドルを使用してオブジェクトにアクセスします。オブジェクト・ハンドルは、2 種類あります。 一方の種類のオブジェクト・ハンドルには、オブジェクトの型に関連したデータ型があり、もう一方の種類のオブジェクト・ハンドルは、データ型がオブジェクトの型に関連しない汎用のオブジェクト・ハンドルです。
C アプリケーションが関数を呼び出してオブジェクトを作成すると、XMS はオブジェクトを内部的に格納して、オブジェクトのハンドルをアプリケーションに戻します。 これによりアプリケーションは、その後このハンドルを使用することで、このオブジェクトにアクセスできます。
各オブジェクト・ハンドルにはデータ型があり、このデータ型はオブジェクトの型に関連しています。表 1 には、オブジェクト・ハンドルのデータ型をオブジェクトの型ごとに示します。BytesMessage、MapMessage、ObjectMessage、 StreamMessage、TextMessage、Message のすべてのオブジェクトには、同じデータ型 (xmsHMsg) を持つハンドルがあります。 メッセージ用ハンドルの使用方法について詳しくは、XMS メッセージの本文を参照してください。
オブジェクトの型 | オブジェクト・ハンドルのデータ型 |
---|---|
Connection | xmsHConn |
ConnectionFactory | xmsHConnFact |
ConnectionMetaData | xmsHConnMetaData |
Destination | xmsHDest |
ErrorBlock | xmsHErrorBlock |
InitialContext | xmsHInitialContext |
Iterator | xmsHIterator |
Message、BytesMessage、MapMessage、ObjectMessage、 StreamMessage、および TextMessage | xmsHMsg |
MessageConsumer | xmsHMsgConsumer |
MessageProducer | xmsHMsgProducer |
Property | xmsHProperty |
QueueBrowser | xmsHQueueBrowser |
Requestor | xmsHRequestor |
Session | xmsHSess |
特定の関数は汎用オブジェクト・ハンドルを返します。このハンドルは、関数によって作成されたオブジェクトの型には関連していません。 汎用オブジェクト・ハンドルのデータ型は xmsHObj です。
アプリケーションは、これらの関数のいずれかから汎用オブジェクト・ハンドルを受け取ると、PropertyContext クラスの xmsGetHandleTypeId() 関数を呼び出して、オブジェクトの型に関連するオブジェクト・ハンドルのデータ型を判別できます。その後、アプリケーションは任意の関数を呼び出し、必要に応じて、関数によって要求されるデータ型に汎用オブジェクト・ハンドルをキャストすることにより、オブジェクトに対して演算を実行できます。