這裏是我的其他問題,導致這個一個作爲參考也: How to call managed C++ methods from Un-managed C++實現一個C#DLL COM文件在非託管C++程序
我已經成功地創建了一個C#COM文件。現在我需要一個關於如何在非託管C++中實現它的簡單解釋。
我跟着這個例子,但C++的部分是薄弱的。 http://www.codeproject.com/Articles/7859/Building-COM-Objects-in-C
這裏是我的COM文件
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cSharpRiJHarn
{
[Guid("ED1483A3-000A-41f5-B1BC-5235F5897872")]
public interface DBCOM_Interface
{
[DispId(1)]
String encrypt(string s);
[DispId(2)]
String decrpyt(string s);
}
[Guid("A6BCEC1D-B60C-4c97-B9AD-1FE72642A9F8"),
InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface DBCOM_Events
{
}
[Guid("7C13A8C6-4230-445f-8C77-0CA5EDECDCB5"),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces(typeof(DBCOM_Events))]
public class RijndaelLink : DBCOM_Interface
{
public String encrypt(String s)
{
return Rijndael.EncryptString(s);
}
public String decrpyt(String s)
{
return Rijndael.DecryptString(s);
}
}
}
我只是想使用此與非託管代碼一個非常簡單的例子。 請在您的答案:
- 我需要包括項目或只是COM的源文件
- 我需要添加引用
- 一個路過的一個字符串的非常基本的例子,用cout打印出來。
感謝您的幫助!
您需要的唯一東西就是編譯您提供的代碼,然後使用正確方法(引用COM庫)在非託管代碼內引用已編譯的COM庫以查找相關語言。由於你的問題含糊不清,我不會再具體了。 –
我的錯誤是模糊。我會盡力而且更清楚。我想要一個從基本非託管C++控制檯程序調用上述加密和解密方法的示例。 –