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마지막 갱신 날짜: 3 Mar 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
이 Information Center는 Eclipse 기술 기반입니다. (http://www.eclipse.org 웹 사이트 참조)