本例使用的是windows控制臺(tái)類型,僅作演示:
/**********************************************************************************************
*abtbase.h定義了CW2A 用以將UNICODE字符轉(zhuǎn)化為ANSI字符
*注意初始化COM的技巧
*QUERYINTERFACE要手動(dòng)維護(hù)引用計(jì)數(shù)
***************************************************************************************************/
// ATLClient.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
//
#include "stdafx.h"
#include "atlbase.h"
#import "..\\ATLServer\\_ATLServer.tlb" no_namespace
struct _INIT_COM
{
_INIT_COM()
{
CoInitialize(NULL);
}
~_INIT_COM()
{
CoUninitialize();
}
}_G_INIT_COM;
int _tmain(int argc, _TCHAR* argv[])
{
IServerPtr ser;
ser.CreateInstance(__uuidof(CServer));
_bstr_t ret;
_bstr_t para("張秀程");
ret=ser->GetGetAString(para);
CW2A pszA(ret);
printf("Result is %s\n",pszA);
printf("........................\n");
IServer *pSer;
ser.QueryInterface(__uuidof(IServer),(void **)&pSer);
para=L"張秀程";
ret=pSer->GetGetAString(para);
pSer->Release();
printf("Result is %s",CW2A(ret));
return 0;
}