我有一个 Dll 和它的头文件,我正在尝试在 C++ 中创建一个 COM 包装器以在 C# 中使用。
对于大多数函数来说,它非常简单,因为它们返回int
or string
。
我在头文件中有这个结构。
virtual HRESULT STDMETHODCALLTYPE GetBMP(
int Width,
int Height,
HBITMAP *Bitmap) = 0;
我的问题是,由于我已经脱离了 C++ 的联盟,我不知道如何将其转换HBITMAP
为更适合.net 风格的东西
在此先感谢,如果写了愚蠢的东西,请原谅我
更新:我尝试过这样的事情:
HBITMAP GetBMP(int Width, int Height)
{
HBITMAP bm = 0;
m_piHelper->GetBMP(Width,Height,&bm);
return bm ;
}
问题显然是在 c# 之后如何从 'HBITMAP__*' 转换为 'System.IntPtr 以将其与 bitmap.fromHbitmap 一起使用