Win32 Metadata 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Win32 Metadata 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Win32 Metadata 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织 微软
地区 不详
投 递 者 haoming9245
适用人群 未知
收录时间 2023-09-21

软件简介

Win32 API 提供的功能并非所有语言和框架都支持。 在针对 Windows 进行开发时,开发人员经常调用 Win32 API 来访问此功能。

从历史上看,这需要手动重新定义 API 才能使其可访问,这是脆弱且容易出错的。 https://github.com/dotnet/pinvoke (.NET) 和 https://github.com/retep998/winapi-rs (Rust) 等社区项目承担了为以下项目提供强类型和经过验证的 API 签名的负担: 他们的框架,但项目是手动维护的,这很难维持,并且使得提供全面的 API 覆盖变得具有挑战性。

该项目旨在为 Win32 API 提供元数据,以便可以以更自动化的方式和更完整的 API 覆盖范围为所有语言和框架生成类似上述的惯用投影和项目。

原则:

  • 提供尽可能广泛的 API 覆盖范围
  • 保留原始 API 的名称,但在元数据中表达可以使它们更易于使用的附加信息。
  • 将非特定类型(例如uint使用常量的类型)转换为显式枚举,以提高可用性和可发现性。保持枚举成员名称与原始常量名称一致,以保护 SEO。
  • HANDLEGDI对象等 Win32 类型定义表达为强类型结构体。这些结构的定义包括如何处置资源(如CloseHandleDeleteObject)。以特定于语言的方式使用这些信息取决于语言投影。例如,C# 投影可以使用SafeHandle对象作为HANDLEGDI对象。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
2 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部