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();

  // 擷取連線的控點。

  hConn = conn.getHandle();

  // 使用所擷取的控點,呼叫 C API 函數。

  xmsConnStart(hConn, NULL);

  // 此處為其他程式碼

  return(0);
}

透過物件的控點,C++ 應用程式可藉由呼叫適當的 C API 函數來關閉或刪除物件。不過, 如果 C++ 應用程式以此方式來關閉或刪除物件, 應用程式再也無法透過 C++ API 來使用物件。

如果 C++ 應用程式需要使用只有 C API 才有的函數, 則能夠使用 C API 將大有幫助。會以參照形式來傳回字串或位元組陣列的 C 函數 中所述的函數即為這類函數的範例。


Concept topic

使用條款 | 評比此網頁

時間戳記前次更新: 25 Apr 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)