当前位置: 首页 > wzjs >正文

企业网站主页模版宁波seo托管公司

企业网站主页模版,宁波seo托管公司,诚信网站体系建设工作总结,苏州做外贸网站下表整理了 P/Invoke 在默认封送(marshalling)规则下,常见托管 ⇄ 非托管类型的对应关系。 内容主要依据微软官方 Marshalling Data with Platform Invoke 文档,并补充了常见指针/句柄用法与字符串缓冲区&#xff…

下表整理了 P/Invoke 在默认封送(marshalling)规则下,常见托管 ⇄ 非托管类型的对应关系
内容主要依据微软官方 Marshalling Data with Platform Invoke 文档,并补充了常见指针/句柄用法与字符串缓冲区(StringBuilder)注意事项。(learn.microsoft.com, learn.microsoft.com)

常见基础数值与指针类型映射

Windows / Win32 类型C / C++ 类型C# 托管类型说明
VOIDvoidvoid用于无返回值函数
HANDLEvoid*IntPtr / UIntPtr平台相关指针大小
BYTEunsigned charbyte
SHORTshortshort (Int16)
WORDunsigned shortushort (UInt16)
INT / LONGint / long (32‑bit)int (Int32)
UINT / DWORD / ULONGunsigned int / longuint (UInt32)
BOOLlong (Win32)bool / int4 字节;返回值时多用 bool
FLOATfloatfloat (Single)
DOUBLEdoubledouble
SIZE_Tsize_tUIntPtr平台相关大小
INT_PTR / LONG_PTRintptr_t/long*IntPtr
UINT_PTRuintptr_tUIntPtr

提示:所有以 …_PTR 结尾的 Windows 类型(如 HINSTANCE, LPARAM 等)在 C# 中一般使用 IntPtr;这样无论 x86 还是 x64 都能正确扩展。(stackoverflow.com)

字符与字符串相关映射

Windows / C 类型默认托管类型需要的 CharSet / MarshalAs
CHARchar (System.Char)CharSet.Ansi 时为 ANSI,常见于旧 API
WCHARcharCharSet.Unicode 下与 System.Char 对应
LPSTR / char*stringStringBuilderANSI;[MarshalAs(UnmanagedType.LPStr)]
LPCSTR / const char*同上(只读)
LPWSTR / wchar_t*string / StringBuilderUnicode;UnmanagedType.LPWStr
LPCWSTR / const wchar_t*同上(只读)
  • 输入字符串:直接用 string 即可,由运行时负责编码转换。
  • 输出 / 可读写字符串缓冲区:用 StringBuilder 并在参数前加 [Out](默认 In/Out)。
    但 .NET 9 及最新代码分析规则 CA1838 建议改为手动分配字节缓冲区以减少复制开销。(learn.microsoft.com, learn.microsoft.com)

结构体与数组简表

非托管形态典型托管声明关键属性
纯 POD 结构体(顺序字段)[StructLayout(LayoutKind.Sequential)] struct Foo { … }如有字节对齐需求再加 Pack = N
结构体指针ref Foo / out Foo / IntPtrref/out 让 CLR 自动生成 Foo* 指针
数组输入byte[] data[In] 可省略
数组输出或 In/Out[Out] byte[] data / IntPtr需预分配长度并传入;或用 IntPtr + Marshal.Copy

若结构体包含指针或可变长成员(如 char*),建议拆分为“句柄 + 访问函数”的形式而不是直接封送复杂结构。(devblogs.microsoft.com)

获取更多官方资源

  • 微软文档: Marshalling Data with Platform Invoke 提供最权威、最完整的类型对照表及示例。(learn.microsoft.com, learn.microsoft.com)
  • pinvoke.net: 社区维护的 API 定义仓库,查看具体 Windows 函数的推荐托管签名。(pinvoke.net)
  • .NET Blog & DevBlogs: 深入了解各版本运行时对 interop 的改进与性能调优。(devblogs.microsoft.com, devblogs.microsoft.com)

(本篇文章由本人编写,ChatGPT润色)

http://www.dtcms.com/wzjs/244971.html

相关文章:

  • 成都公司网站制作公司怎么引流客源最好的方法
  • 清河做网站沧州网站seo公司
  • 如何用网页设计制作个人网站微信小程序建站
  • 摄影网站建设内容40个免费网站推广平台
  • 网站建设先进部门评选标准关键词优化排名怎么做
  • 如何做ppt 制作过程视频教程徐州seo代理计费
  • 自己购买域名做网站深圳网络推广推荐
  • dedecms网站怎么搬家百度网址大全官方网站
  • 如何套用别人网站做页面免费的关键词优化软件
  • 网站建设shundeit免费域名申请
  • 精英学校老师给学生做的网站广州百度推广排名优化
  • 网站开发与软件研发有什么区别aso搜索排名优化
  • wordpress域名文件夹宁波网络推广seo软件
  • 做商城网站需要什么怎么样优化网站seo
  • 为国外客户做网站建设推广赚钱的软件排行
  • 营销型企业网站测评表全国疫情今天最新消息
  • 网站服务器租用和自己搭建的区别郑州seo优化外包顾问
  • 绵阳个人网站建设互动营销的案例有哪些
  • 问道手游代理平台seo全称是什么
  • 深圳建设网站培训机构潍坊在线制作网站
  • 百度能搜到自己的网站微信推广怎么做
  • 大大福利站网站建设电商推广平台有哪些
  • 自己做的网站怎么发布上百度一下浏览器
  • 个人网站免费制作湘潭seo公司
  • 天津建筑工程信息招标网宁波网站关键词优化代码
  • 网站建设运营方案厦门seo屈兴东
  • 高并发网站建设新闻发稿平台
  • 电商网站的分辨率东莞网络营销平台
  • wordpress跟bootstrapseo搜索引擎优化内容
  • 个人网站建设设计长春网站制作推广