基于c的netframework程序设计内容摘要:

nt puts(String str)。 钉住操作  数据被临时锁定在当前内存位置,防止被 CLR的垃圾回收器重新分配  数据在托管和非托管代码之间传递时,执行锁定操作  如果对象有固定的布局,在托管和非托管内存中数据表现形式一样,则通过指针进行封送  有固定布局,但数据在托管和非托管内存中表现不一致,通过引用来封送  如果对象没有固定的布局,通过值或者引用传递,如 钉住操作 封送处理  大多数数据类型在托管和非托管内存中都有公共的表示形式,而不需要封送拆收器的特殊处理,称为可直接复制到本机结构中的类型  非直接复制到本机结构中的类型在托管和非托管语言中具有不同的或不明确的表示形式。 当被封送时,这些类型可能需要转换  用 MarshalAs属性来指定自定义封送处理 封送处理 public static extern int MessageBoxW( int h, [MarshalAs()] string m, …)。 平台调用的性能问题及局限性  平台调用只支持带整数参数的回调函数  平台调用不对所有类型提供支持  平台调用只支持调用从 DLL导出的全局函数  当以引用传递数组类型的参数时,返回的数组大小被调整为 1 平台调用的性能问题及局限性 实验 A 调用 Win32 API 函数 练习 1 在托管代码中调用 Win32 API 函数  集成服务  平台调用  在托管代码中调用 COM对象  在 COM对象中调用 .NET对象 第 15章 托管代码与非托管代码之间的互操作 在托管代码中调用 COM对象  运行库可调用包装  生成运行库可调用包装  线程模型  签名转换和错误处理  封送处理  性能和安全问题  最佳实践 在托管代码中调用 COM对象 运行库可调用包装 运行库可调用包装 生成运行库可调用包装  用如下 3个方法产生运行库可调用包装  在 Visual Studio .NET工程中添加 COM组件的引用  使用类型库导入器  创建自定义包装 生成运行库可调用包装 线程模型  COM组件使用单元来同步对托管资源的访问  当调用 COM对象时,运行库创建并初始化一个COM单元  确保应用程序的主线程是 STA 模式 线程模型 using。 using APTOBJLib。 … =。 AptSimple obj = new AptSimple ()。 = 1。 … [STAThread] static void Main() … 签名转换和错误处理 签名转换和错误处理 封送处。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。