WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 オペレーティング・システム: Linux, Windows

C++ アプリケーションでの C API の使用法

XMS のほとんどの C++ クラスには getHandle() メソッドがあります。C++ アプリケーションはオブジェクトの getHandle() メソッドを呼び出し、C アプリケーションがオブジェクトへアクセスするときに使用するハンドルを取得できます。C++ アプリケーションは C API で関数を呼び出し、このハンドルを使用してオブジェクトにアクセスできます。

次のコード・フラグメントにこの処理を示します。
#include <xms.hpp>
using namespace std;
int main(int argc, char *argv[])
{
xms::ConnectionFactory cf;
xms::Connection conn;
xmsHConn hConn;
cf.setIntProperty(XMSC_CONNECTION_TYPE, XMSC_CT_RTT);
cf.setIntProperty(XMSC_RTT_CONNECTION_PROTOCOL, XMSC_RTT_CP_TCP);
cf.setStringProperty(XMSC_RTT_HOST_NAME, "localhost");
cf.setIntProperty(XMSC_RTT_PORT, 1506);
conn = cf.createConnection();
// Retrieve the handle for the connection.
hConn = conn.getHandle();
// Using the retrieved handle, call a C API function.
xmsConnStart(hConn, NULL);
// Other code here
return(0);
}

C++ アプリケーションはオブジェクトのハンドルを使用し、適切な C API 関数を呼び出してオブジェクトを閉じるかまたは削除します。ただし、C++ アプリケーションがこの方法でオブジェクトを閉じるかまたは削除する場合、アプリケーションは今後 C++ API を使用してオブジェクトを使用することができなくなります。

C++ アプリケーションが C API でのみ使用可能な関数を使用する必要がある場合は、C API を使用できると便利です。参照によりストリングまたはバイト配列を戻す C 関数で説明する関数は、このような関数の例です。


Concept topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 8 Jun 2006
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)