如何将字节数组从托管c++封送到c#
How do I marshal bytes array from managed c++ to c#
我想使用C++托管项目中的.Net Graphic功能。我想从内存c++字节数组中创建Windows.Drawing.Image(基于MemoryStream)。
我如何使这段代码工作:
System::IO::Stream^ ms = gcnew System::IO::MemoryStream();
BYTE buf[1024 * 8]; // C++
int size; // C++
...
ms->Write(&buf, 0, size)
提前谢谢!
您可以这样做:
int size = 1024;
BYTE buf[1024];
// unmanaged buffer
System::IntPtr intPtr = System::IntPtr( buf );
// managed buffer
array<unsigned char>^ managedBuf = gcnew array<unsigned char>(size);
{
// write things to buf[]
}
// copy unmanaged buffer to managed buffer
Marshal::Copy( intPtr, managedBuf, 0, size );
System::IO::Stream^ ms = gcnew System::IO::MemoryStream();
ms->Write( managedBuf, 0, size);
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在UNIX系统中使用DIR查找文件的字节大小
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- std::当在256字节边界上写入整数时,流的奇怪行为
- 当比特(而不是字节)的顺序至关重要时的持久性
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 如何在文件中查找字节序列
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 字节到位运算符重载C++
- 在java中读取c++字节的位字段
- 使用 std::vector::reverse_iterator 将 int 序列化为字节向量?
- 字节真的是最小可寻址单元吗
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 如何将原始字节附加到 std::vector?
- 基于字节数组生成静态范围整数值