这里是我的其他问题,导致这个一个作为参考也: 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++控制台程序调用上述加密和解密方法的示例。 –