社区
VC.NET
帖子详情
托管和非托管之间数据类型转换问题
large_small
2006-06-01 03:41:50
1、如何将非托管BYTE 转换为托管的 Byte
bool CDlg::Func1(BYTE* aszData)
{
return false;
}
bool CDlg::Func2(BYTE* aszData)
{
Byte Data[] = GetData();
return Func1(Data); error 不能将参数 1 从“unsigned char __gc[]”转换为“BYTE *”
}
...全文
361
9
打赏
收藏
托管和非托管之间数据类型转换问题
1、如何将非托管BYTE 转换为托管的 Byte bool CDlg::Func1(BYTE* aszData) { return false; } bool CDlg::Func2(BYTE* aszData) { Byte Data[] = GetData(); return Func1(Data); error 不能将参数 1 从“unsigned char __gc[]”转换为“BYTE *” }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
真相重于对错
2006-06-06
打赏
举报
回复
Byte lbyte[] = Helper::Get(); //Helper是C#的类
System::IntPtr ptr = System::Runtime::InteropServices::Marshal::UnsafeAddrOfPinnedArrayElement( lbyte , 0 );
aszData = static_cast<BYTE*>(ptr.ToPointer());
return true;
VirtualDesktop
2006-06-05
打赏
举报
回复
托管的Byte[]是 unsigned char来的
large_small
2006-06-02
打赏
举报
回复
自己顶
wallimn
2006-06-02
打赏
举报
回复
__box()
large_small
2006-06-01
打赏
举报
回复
char buf[] = "Native String";
int len = strlen(buf);
Byte byteArray[] = new Byte[len + 2];
// convert any native ptr to System::IntPtr by doing C-Style cast
Marshal::Copy((IntPtr)buf,byteArray, 0, len);
这种方法能将,字符指针转化为托管类型 Byte,
不知如何从,托管类类型Byte转换为字符指针呢?
谢谢
kssys
2006-06-01
打赏
举报
回复
//C#的打法
bool CDlg.Func1([MarshalAs(UnmanagedType.LPArray)] BYTE[] aszData)
{
return false;
}
large_small
2006-06-01
打赏
举报
回复
怎么加,可以将将我上面的函数改造下吗,
如何改?
kssys
2006-06-01
打赏
举报
回复
加修饰符试试:
[MarshalAs(UnmanagedType.LPArray)]
large_small
2006-06-01
打赏
举报
回复
自己UP一下
.NET Framework 4.0 常用类库参考手册 [微软官方 MSDN]
.NET Framework 4.0 常用类库参考手册 [微软官方 MSDN] MSDN Library - .NET Framework 4.0 - 命名空间 (节选版) 制作成了chm格式,方便离线状态下学习! ======================================= 原文地址:http://msdn.microsoft.com/zh-cn/library/ms229335.aspx ======================================= .NET Framework 类库 - 命名空间 (节选版) Microsoft.Win32 提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。 System 包含用于定义常用值和引用
数据
类型、事件和事件处理程序、接口、特性和处理异常的基础类和基类。其他类提供支持下列操作的服务:
数据
类型转换
,方法参数操作,数学计算,远程和本地程序调用,应用程序环境管理以及对
托管
和
非
托管
应用程序的监管。 System.Collections 包含定义各种对象集合(如列表、队列、位数组、哈希表和字典)的接口和类。 System.Data 包含组成大部分 ADO.NET 结构的类。ADO.NET 结构使您可以生成可用于有效管理来自多个
数据
源的
数据
的组件。 System.Data.Common 包含由 .NET Framework
数据
提供程序共享的类。.NET Framework
数据
提供程序描述用于在
托管
空间中访问
数据
源(如
数据
库)的类的集合。 System.Data.Linq 包含支持在 LINQ to SQL 应用程序中与关系
数据
库进行交互的类。 System.Data.Linq.Mapping 包含用于生成表示关系
数据
库的结构和内容的 LINQ to SQL 对象模型的类。 System.Data.Mapping 提供用于存储
数据
映射信息的类型。 System.Data.Metadata.Edm 包含一组类型,这些类型表示模型中由实体框架使用的概念,以及一组帮助应用程序使用元
数据
的类。 System.Data.Objects 包含可访问对象服务的核心功能的类。 System.Data.Objects.DataClasses 包含以下这些类:Entity Data Model (EDM) 中定义的类型的基类、由导航属性返回的类型的基类,以及用于定义将公共语言运行时 (CLR) 对象映射到概念模型中类型的特性的类。 System.Data.Sql 包含支持特定于 SQL Server 的功能的类。此类的 API 扩展已添加到 SQL Server 的 .NET Framework
数据
提供程序 ( System.Data.SqlClient) 中。 System.Data.SqlClient 包含封装 SQL Server .NET Framework
数据
提供程序的类。SQL Server .NET Framework
数据
提供程序描述了用于在
托管
空间中访问 SQL Server
数据
库的类集合。 System.IO 包含允许对
数据
流和文件进行同步和异步读写的类型。 System.Linq 包含支持使用语言集成查询 (LINQ) 的查询的类和接口。 System.Web 提供启用浏览器/服务器通信的类和接口。 ……
C++
托管
与C#中的
数据
类型转换
接上一篇文章 C++封装成
托管
模式供C#调用过程 在C#调用C++
托管
库的过程中,C++
托管
库一般只是封装为真正C++动态链接库(DLL)的一个外壳,其不做任何逻辑功能,但是会存在
数据
类型及结构上的转换
问题
,本文就是用于介绍
数据
类型转换
过程中需要考虑的
问题
。
数据
类型很多,限于篇幅原因,文章主要讲解几种常见且较复杂的
数据
类型。 1. C#句柄与C++窗体句柄类型的转换, IntPtr<—>HWN
托管
代码与
非
托管
代码
之间
的交互
否则,调用者就看不见被调用者修改的内容。2.1、System命名空间下的Byte、SByte、Int16、UInt16、Int32、UInt32、Int64、UInt64、IntPtr、UIntPtr、Single、Double类型为blittable基元类型。8.4、当String以LPStr、AnsiBStr、BStr、TBStr、LPUTF8Str
非
托管
类型按照引用传递时,互操作封送器在
非
托管
代码调用返回时会将辅助缓冲区中的内容复制回
托管
代码中的一个新String中。
C#
托管
类型与
非
托管
类型的字节数组序列化
C#
托管
类型与
非
托管
类型的字节数组序列化
C#语法学习-
托管
类型、
非
托管
类型
在介绍 C# 的
托管
类型和
非
托管
类型之前,我们先来说说 C# 的类型体系以及各种类型在内存(虚拟内存)中的存储方式。 C# 类型体系 C# 的类型包含以下三大类: 值类型 枚举 结构 数值类型(numeric) 整型 浮点型 decimal 布尔类型(bool) 用户定义的结构(structure) 值类型的变量直接包含其
数据
。...
VC.NET
7,540
社区成员
27,673
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章