ClassInDLL.h
==================================================================
#ifndef ClassInDLL_H
#define ClassInDLL_H#ifdef _CLASSINDLL
   #define CLASSINDLL_CLASS_DECL   __declspec(dllexport)
#else
   #define CLASSINDLL_CLASS_DECL   __declspec(dllimport)
#endif#endif // ClassInDLL_H
==================================================================InDLL.h
==================================================================
// InDLL.h: interface for the CInDLL class.
//
//////////////////////////////////////////////////////////////////////#if !defined(AFX_INDLL_H__179A79AA_4C1A_11D2_B67C_006008AC62A9__INCLUDED_)
#define AFX_INDLL_H__179A79AA_4C1A_11D2_B67C_006008AC62A9__INCLUDED_#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000#include "ClassInDLL.h"
#include <comutil.h>class CLASSINDLL_CLASS_DECL CInDLL  
{
public:
   CInDLL();
   virtual ~CInDLL();   bstr_t Test_bstr();
   char* Test_charstar();};#endif // !defined(AFX_INDLL_H__179A79AA_4C1A_11D2_B67C_006008AC62A9__INCLUDED_)
==================================================================InDLL.cpp
==================================================================
// InDLL.cpp: implementation of the CInDLL class.
//
//////////////////////////////////////////////////////////////////////#include "InDLL.h"//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////CInDLL::CInDLL()
{}CInDLL::~CInDLL()
{}bstr_t CInDLL::Test_bstr()
{
   bstr_t temp;
   temp = "Test!";
   return temp;
}char* CInDLL::Test_charstar()
{
   bstr_t temp;
   temp = "Test!";
   return _com_util::ConvertBSTRToString(temp);
}
==================================================================**********************TestClassInDLL.cpp
==================================================================
#include "InDLL.h"
#include <comutil.h>int main()
{
   bstr_t temp;
   CInDLL classFromDLL;
   temp = classFromDLL.Test_charstar();
   temp = classFromDLL.Test_charstar(); //ok   temp = classFromDLL.Test_bstr();
   temp = classFromDLL.Test_bstr();     //error
   return 0;
}
==================================================================